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

48

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

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

jfoucher
источник

Ответы:

80

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

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

apt-get remove --auto-remove packagename

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

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

Ressu
источник
Таким образом, ответом будет то, что это НЕ делается автоматически при удалении «родительского» пакета, верно?
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потому что он удаляет также файлы конфигурации и другие вещи.

QBi
источник
При использовании deborphan часто необходимо запускать его несколько раз подряд, или, по крайней мере, это было моим опытом с ним. Казалось, продолжать искать новые вещи.
mfisch
Да, это верно. Кто-то написал улучшение для deborphan. Но это никогда не попало в Debian. Алгоритм был лучше, и вы могли запустить его только один раз. Возможно, я бы спросил автора, хочет ли он добавить его снова в репозитории Debian / Ubuntu.
qbi
Может быть, я не могу его использовать, но deborphan обычно хочет удалить много приложений, которые я на самом деле использую, а также некоторые важные системные пакеты.
Rafał Cieślak
1
aptitude purge <pkgname>очень полезно для полностью стереть пакеты, которые были неудачно / частично успешно удалены. Их статус может быть указан dpkg -L <pkgname>как as, deinstallно использование aptitudeполностью удалит их из базы данных aptitude, и кажется, что удаленные файлы, не удаленные при неудачной установке, тоже были удалены.
KomodoDave
5

Компьютерный Дворник, в системном меню тоже может это сделать.

Хавьер Ривера
источник
4

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

Victor9098
источник
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

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

Джефферсон Х Масонский
источник