Как удалить все пакеты с DNF, от которых не зависит ни один другой пакет

7

Моя проблема

Я хотел создать часть программного обеспечения вручную. Поэтому я установил все его зависимости, используя dnf install <a> <b> <c>.

Тогда я больше не нуждался в этом программном обеспечении, поэтому я также хотел удалить все его зависимости. Но yum remove <a> <b> <c>удалит все пакеты, даже если другой установленный пакет все еще зависит от одного из этих пакетов ( <b>например).

Что я пробовал

  • Я прочитал man dnf, но я не смог найти подходящую команду.

Мой вопрос

Какой самый простой способ:

  1. Узнайте, какие из пакетов <a>, <b>и <c>по - прежнему необходимы другие пакеты.
  2. dnf removeвсе пакеты из моего списка пакетов, которые мне больше не нужны ( <a>, <b>и <c>), но не удаляйте пакеты сразу (1.).

Любая идея?

Спасибо за вашу помощь. Если что-то неясно, пожалуйста, прокомментируйте, и я добавлю больше деталей.

Франц-Йозеф Кристбаумер
источник

Ответы:

1

Для Fedora вы можете использовать пакетную очистку , например, с --leavesопцией.

--leaves Список конечных узлов в локальной базе данных RPM. Конечные узлы являются RPM, на которые не полагаются никакие другие RPM.

BWT
источник
11

С Yum вы бы использовали package-cleanupкоманду из yum-utils. Но с DNF это встроено как dnf autoremoveкоманда. Из документов :

dnf [options] autoremove

Удаляет все «листовые» пакеты из системы, которые были изначально установлены как зависимости от установленных пользователем пакетов, но которые больше не требуются для любого такого пакета.

Обратите внимание, что вы также можете использовать dnf listкоманду, чтобы увидеть, какие пакеты будут удалены, прежде чем запускать само удаление, с

dnf list autoremove

Также обратите внимание, что у DNF есть другое различие в поведении, которое должно помочь вам в подобных ситуациях (но не в вашем конкретном случае). Если ваша основная часть программного обеспечения была установлена ​​DNF (а не вне DNF вручную), и вы использовали ее dnf remove, по умолчанию (в отличие от yum) также удаляются все зависимости, которые были добавлены только для этого пакета и которые не используются для что-нибудь еще.

mattdm
источник
У Yum также была опция автоудаления - также DNF, я думаю, теперь «автоудаления» автоматически все равно выполняются dnf.readthedocs.org/en/latest/…
Wilf