Список установленных пакетов верхнего уровня в Fedora


9

Я использовал yum для вывода списка всех установленных пакетов:

yum list installed

Теперь мне нужно перечислить только пакеты верхнего уровня, т. Е. Если пакет является зависимостью от другого, он не должен отображаться. ГномаУстановка и удаление программного обеспечения может сделать это, но мне нужен вывод в терминале.

Я проверил yum manual, но не смог найти переключатель для этого.

Ответы:


11

Вы можете использовать утилиту package-cleanup, которая является частью yum-utils. Помимо поиска пакетов, которые недоступны в текущих репозиториях yum, поиска пакетов с нарушенными зависимостями, удаления старых ядер и поиска дублированных пакетов, он также может найти пакеты, от которых не зависят другие пакеты. Это так называемые листья. Делать

yum install yum-utils

чтобы получить пакет очистки и

package-cleanup --leaves --all

чтобы получить список всех листьев.


Терминология Debian / Ubuntu для этого - сироты .
Чепанг

2
@ Чепанг, это не правильно - не все листья не используются. И не все сиротские пакеты обязательно оставляют. Под "потерянными" пакетами в терминологии Debian подразумевается: ранее как зависимые (включая транзитивные зависимости) установленные пакеты, которые теперь не нужны, поскольку установленные пакеты с явно заданными именами теперь удаляются.
maxschlepzig

2

Вы можете использовать команду repoquery(часть пакета yum-utils), чтобы получить эту информацию:

$ repoquery --installed --qf '%{n} - %{yumdb_info.reason}' --all \
    | grep 'user$' | cut -f1 -d' '

В нем перечислены только те пакеты, которые вы установили самостоятельно, а не те, которые являются частью базовой установки. В зависимости от вашего варианта использования это то, что вы хотите или нет.


Этот выглядит очень полезным. Спасибо! Важно отметить, что пакеты перечислены без версий и .i686 или .noarch или чего-либо подобного, поэтому перед установкой yum не требуется подгонка или модификация.
gaoithe

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