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 перейдите к строке, соответствующей пакету, затем переключите «Автоматически установлено» в меню «Пакет».

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

Вместо того, чтобы чистить и устанавливать empathy, вы могли бы просто apt-get -t wheezy empathyустановить версию wheezy.


круто! Используя этот «трюк», можно убрать Эмпатию, не удаляя Гнома, верно?
Марсель

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

8

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

Я не использую gnome, но, возможно, есть какой-то пакет gnome-desktop или что-то в этом роде, которое включает все основные вещи gnome.

Например, вывод в моей системе для пакета без 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, упакованный как зависимости (например, empathy) и были позже удалены), просто не нуждаются во всем gnome - с другой стороны, нужен основной пакет gnome предоставить весь рабочий стол gnome, то есть он зависит от всех пакетов gnome, которые рассматриваются как опыт работы с gnome по умолчанию.
maxschlepzig

@ Марсел: вам не нужно делать apt-get install gnome. @maxshekepzig предлагал apt-get install установить пакет, который вы уже установили.
Фахим Митха

@ Фахим, ты прав. apt-get install gnomeвытащил бы все эти другие пакеты. Поэтому мне не нужно было искать gnome-desktopпакет (тем временем я думаю, что он называется gnome-core).
Марсель

1

Другим решением было бы полностью отключить автоматическое удаление с помощью этих параметров (в /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 устанавливает их так, что предполагает, что он может делать с ними то, что хочет). Делая это выше, вы говорите apt, что все они установлены вручную. К вашему сведению - мне иногда приходится делать это дважды, так как это будет продолжать предлагать дальнейшее автоматическое удаление.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.