apt-get - autoremove хоче видалити Gnome


12

Оскільки емпатія 2.30 у Debian Wheezy не відповідала всім моїм уподобанням, я спробував емпатію 3.1 від експериментальної, використовуючи команду:

apt-get -t experimental install empathy

Мені довелося з’ясувати, що ця версія співпереживання не працює добре в Gnome 2.x. Тому я згадав:

apt-get purge empathy
apt-get install empathy

Сподіваючись, що це знову встановить "стандартну" версію емпатії.

Поки все добре працювало.

Але тепер:

apt-get autoremove

хоче видалити Gnome в цілому.

Як я можу заспокоїтися apt-get autoremove?

Відповіді:


12

APT підтримує індикатор для кожного пакету, повідомляючи про те, встановлений пакет вручну (встановлений тому, що користувач / адміністратор цього хотів) або автоматично встановлений (встановлений лише тому, що це залежність від іншого пакету). Ось що apt-get autoremoveвикористовується для визначення того, що потрібно видалити: він видаляє пакунки, які позначені як автоматично встановлені, але які не встановлений на даний момент пакет не потребує.

Вам потрібно позначити gnomeпакет, або все, що Gnome пакет відповідає бітам, які ви хочете зберегти, як встановлені вручну. Найпростіше це зробити в інтерактивному інструменті з доступом до автоматично встановленої настройки:

  • У командному рядку зателефонуйте, aptitude unmarkauto PACKAGENAMEщоб позначити PACKAGENAME як встановлений вручну або markautoпозначити його як встановлений автоматично.
  • У Aptitude перейдіть до рядка, відповідного пакету, а потім натисніть, mщоб позначити його як встановлений вручну або Mпозначити його як встановлений автоматично.
  • У Synaptic перейдіть до рядка, що відповідає пакету, та перемкніть "Автоматично встановлений" у меню "Пакет".

Зауважте, що (принаймні станом на видавлювання, я не перевіряв хрип) gnome-desktop-environmentзалежить від усіх офіційних компонентів Gnome, включаючи емпатію. Я підозрюю, що ви gnome-desktop-environmentвстановили, і, видаливши empathyпакет, довелося його видалити через залежність. Якщо це так, тепер слід перевстановити gnome-desktop-environment. (Якщо ви не пам’ятаєте, ви можете знайти історію роботи менеджерів пакетів на основі APT /var/log/apt.)

Замість того, щоб продувати та встановлювати empathy, ви могли б щойно зробити, apt-get -t wheezy empathyщоб встановити хрипучу версію.


круто! Використовуючи цей "трюк", можна було б зняти Емпатію, не знімаючи Гнома, правда?
Марсель

@Marcel: Ви можете видалити Empathy, не видаляючи інших компонентів Gnome, але gnome-desktop-environmentпакет залежить від цього empathy, тому ви, мабуть, видалили це, і, ймовірно, хочете його знову встановити.
Жил "ТАК - перестань бути злим"

8

Ви можете apt-get installякийсь пакет gnome (який уже встановлений), щоб встановити його як вибраний (встановлений вручну). Це повинно запровадити необхідні залежності, щоб autoremove більше не хотів видаляти пакети gnome.

Я не використовую gnome, але, ймовірно, є якийсь пакет gnome-desktop або щось подібне, що містить усі основні речі gnome.

Наприклад, вихід у моїй системі для пакета, який не є гномом:

# apt-get install libsource-highlight3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libsource-highlight3 is already the newest version.
libsource-highlight3 set to manually installed.

libsource-highlight3був автоматично встановлений як залежність від source-highlight. Після Витягніть з source-highlight, apt-get autoremoveне буде видалений libsource-highlight3пакет, так як він встановлений вручну встановлюється в даний час.


Дякую! Я дотримувався вашої пропозиції та згадувався apt-get install gnomeв командному рядку. Тепер Debian хоче використати додатковий диск на 200 МБ, що мені здається дивним - однак, я сподіваюся, що це працює.
Марсель

1
@Marcel, це повинно бути нормально - ймовірно, пакет програм або пакети (які витягнули ваш поточний gnome, упакований як залежність (наприклад, емпатія) і пізніше були видалені) просто не потребують усіх gnome - головний пакет gnome з іншого боку хоче щоб забезпечити весь робочий стіл gnome, тобто це залежить від усіх пакетів gnome, які розглядаються як gnome досвід за замовчуванням.
maxschlepzig

@Marcel: цього не потрібно робити apt-get install gnome. @maxshekepzig пропонував apt-get install якийсь пакет, який ви вже встановили.
Faheem Mitha

@Faheem ви праві. apt-get install gnomeвитягнув би всі ті інші пакунки. Тому мені не потрібно було шукати gnome-desktopпакет (тим часом я думаю, що його називають gnome-core).
Марсель

1

Іншим рішенням було б повністю вимкнути функцію autooremove за допомогою цих параметрів (у /etc/apt/apt.conf orn у файлі в /etc/apt/apt.conf.d/ директорії):

APT::Get::AutomaticRemove "0";
APT::Get::HideAutoRemove "1";

0

Просто скопіюйте список пакетів, які бажає авторемонтувати (скористайтеся текстовим редактором, щоб видалити пробіли). Потім sudo apt install <paste list of packages>вирішував це питання для мене неодноразово. Це просто відмінність пакунків, що встановлюються вручну (apt вважає, що вони вам знадобляться під час їх встановлення) порівняно з автоматично встановленими пакетами (apt, встановленими цими, тому він передбачає, що може робити з ними все, що хоче). Виконуючи вище, ви підкажете, що всі вони встановлені вручну. FYI - мені іноді доводиться робити це двічі, оскільки це надалі пропонує запропонувати подальші авторемонти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.