Как удалить зависимости неустановленного пакета?


48

Я хочу установить пакет (DigiKam), но у него много зависимостей. Если я решу, что мне больше не нужно это программное обеспечение, и удаляю его, будут ли удалены ненужные теперь зависимости?

Если нет, как я могу сделать это вручную?

Ответы:


80

Вы можете использовать команду apt-get autoremove. Это удалит пакеты, которые установлены как автоматические зависимости, но больше не зависят.

apt-getимеет флаг, --auto-removeкоторый можно использовать для автоматического удаления автоматически установленных пакетов при удалении установленного вручную пакета:

apt-get remove --auto-remove packagename

Некоторые другие инструменты также способны сделать это, например aptitude, автоматически предложат вам удалить пакеты, которые были осиротевшими.

Автоматическое отслеживание пакетов встроено в apt, поэтому отслеживание должно работать независимо от того, какой инструмент вы используете для установки пакетов.


Таким образом, ответом будет то, что это НЕ делается автоматически при удалении «родительского» пакета, верно?
— jfoucher

Это зависит от метода, который вы используете для удаления родительского пакета. Например, aptitude предлагает удалить эти пакеты при удалении родительского пакета. Не все инструменты делают это все же.
— Ressu

Вы можете удалить пакет и все его уже не нужные зависимости за один шаг sudo apt-get remove --auto-remove package.
— Мариус Гедминас

разница между autoremove и --auto-remove немного неясна. Могу ли я объединить их?
— Джонни, почему

@johnywhy флаг должен быть параметром для команды удаления, в то время как команда автоматического удаления является автономной. Я сомневаюсь, что вы можете объединить их, но я не могу проверить, чтобы убедиться на данный момент.
— Ressu

10
aptitude purge digikam
deborphan
aptitude purge $(deborphan)

deborphanперечисляет пакеты, которые не используются или не зависят. Таким образом, вы можете безопасно удалить их. Я склонен использовать в purgeкачестве опции, aptitudeпотому что он удаляет также файлы конфигурации и другие вещи.


При использовании deborphan часто необходимо запускать его несколько раз подряд, или, по крайней мере, это было моим опытом с ним. Казалось, продолжать искать новые вещи.
— mfisch

Да, это верно. Кто-то написал улучшение для deborphan. Но это никогда не попало в Debian. Алгоритм был лучше, и вы могли запустить его только один раз. Возможно, я бы спросил автора, хочет ли он добавить его снова в репозитории Debian / Ubuntu.
— qbi

Может быть, я не могу его использовать, но deborphan обычно хочет удалить много приложений, которые я на самом деле использую, а также некоторые важные системные пакеты.
— Rafał Cieślak

1
aptitude purge <pkgname>очень полезно для полностью стереть пакеты, которые были неудачно / частично успешно удалены. Их статус может быть указан dpkg -L <pkgname>как as, deinstallно использование aptitudeполностью удалит их из базы данных aptitude, и кажется, что удаленные файлы, не удаленные при неудачной установке, тоже были удалены.
— KomodoDave


4

Я использую Ubuntu Tweak , он имеет очень эффективную утилиту для очистки приложений, которая никогда не удаляла больше, чем должна.


3
sudo apt-get remove --auto-remove 

Только запустите это.

Установите BleachBit из Центра программного обеспечения. Когда вы очищаете свою систему, используя ее, BleachBit автоматически запускает эту команду для очистки кэша apt.


0

У меня такая же проблема. Вот что я сделал:

sudo apt-get check

Эта команда предоставит имя зависимости. Например, моя система имела chromium-browser-l10n.

Затем введите следующую команду

sudo apt-get remove --auto-remove chromium-browser-l10n

Это полностью удалит зависимости из вашей системы

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