Я знаю, как удалить зависимости неустановленного пакета? и я попробовал
apt-get autoremove
но это не удаляет зависимости, которые рекомендуются / предлагаются другими пакетами.
То есть, если я устанавливаю пакет X, который рекомендует Y, но я не устанавливаю Y, а затем я устанавливаю пакет Z, который зависит от Y. и позже я делаю
apt-get remove --auto-remove Z
тогда Y не удаляется автоматически, хотя от этого ничего не зависит. (X «подобрал» Y, хотя это от этого не зависит).
apt
package-management
user2809402
источник
источник
Ответы:
Если вы хотите удалить рекомендуемые пакеты из вашей системы, даже если все еще есть некоторые установленные пакеты, рекомендующие (или предлагающие) их, поместите в файл следующее
/etc/apt/apt.conf.d/99_norecommends
(создайте его):Документация по этим опциям находится здесь .
Затем следующий прогон должен удалить их всех. Если этого не произойдет, запустите
aptitude
и введите gи gснова.Эта конфигурация также отключает автоматическую установку рекомендуемых пакетов при использовании
apt-get
. Дляaptitude
это можно сделать с помощью графического интерфейса консоли Опции меню> Настройки> «Установить пакеты рекомендуется автоматически» (снимите галочку).источник
InstallRecommends
инвалидами. Для записи, он был отключен по умолчанию до выпуска Debian Squeeze, то есть с февраля 2011 года (не знаю об Ubuntu). Кроме того, вам может не понадобиться такая же конфигурация на сервере или в настольной системе.Переопределение параметров APT
В отличие от зависимостей, автоматически устанавливаемые «рекомендуемые» или «предлагаемые» пакеты могут игнорироваться
apt-get autoremove
.Как описано в другом месте, это поведение APT может быть изменено в конфигурации.
Аналогично, конфигурация
apt-get
команды может быть временно изменена с помощью параметра-o
командной строки.Таким образом, вы бы принудительно удалили «рекомендуемые» и «предлагаемые» пакеты в дополнение к неиспользуемым зависимостям.
Внимание!
Некоторые функции могут быть потеряны. Будьте готовы исследовать и переустанавливать вещи. Может быть проще оставить эти пакеты в покое.
Другие опции
Чтобы удалить «рекомендуемые» и «предлагаемые» пакеты исключительно для определенного пакета, взгляните на журнал истории apt.
источник
apt-get
's'-s
иgrep ^Remv
apt-get autoremove -s -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 | grep ^Remv
На самом деле команда это:
Но в этом есть хитрость! Если у какой-либо из зависимостей есть другие ранее установленные пакеты, которые рекомендуют / предлагают их, то apt не удалит их.
Вы не указали, что это за пакет, но, например, если бы я установил плагин IcedTea, он установил бы Java / OpenJRE по зависимостям. Если я удалю их с помощью,
sudo apt-get autoremove icedtea-7-plugin
вы заметите, что он не удалит Java / OpenJRE, поскольку LibreOffice также предлагает пакеты.Таким образом, чтобы удалить их, вы должны быть слишком конкретны в отношении пакета, который хотите удалить, что обычно
autoremove
не происходит:Таким образом, вы можете быть уверены, что ваш пакет будет удален.
Вы также можете использовать deborphan, чтобы удалить некоторые зависимости.
источник
deborphan
но deborphan может пропустить некоторые пакеты. Вы можете использоватьDebug::
параметры, а также проверить мой другой ответ по этому поводу . Вы также можете использовать--no-install-recommends
, но apt-get не устанавливает предложенные пакеты по умолчанию.Хорошо, если вы хотите удалить пакет
<Z>
с зависимостями, просто введите:источник
autoremove
работает в масштабе всей системы. Поэтому приautoremove
каждом вызове он удалит все неиспользуемые пакеты в вашей системе. Устанавливая пакет, онautoremoving
, как правило, не возвращает систему в то же состояние и вместо этого оставляет кучу «оставшихся» пакетов.