Список всех пакетов RPM, установленных из репо "X"

Как я могу получить список всех пакетов RPM, которые были установлены в моей системе, из определенного репо (например, «epel»)?

5 Solutions collect form web for “Список всех пакетов RPM, установленных из репо "X"”

CentOS / RHEL / Fedora 22 или ранее

yum list installed | grep @epel 

Fedora 23 или новее

 dnf list installed | grep @epel 

Начиная с RHEL6, как это предлагается в этом ответе stackoverflow , существует более тщательный способ сделать это с помощью yumdb :

 yumdb search from_repo REPOID* 

Отказ принимает дикие карты.

Довольно-печать

Если мы собираемся обманывать и передавать выходные данные, то мы также можем добиться эффекта «довольно печатной». Вот один из них: awk

 yumdb search from_repo REPOID* |awk -F"\n" '{ RS=""; print $1 }' 

Использование egrep или grep -e

 yumdb search from_repo REPOID* |egrep -v '(from_repo|^$)' 

list_ALL_AVAILABLE_from_repo

Чтобы просмотреть все доступные пакеты в указанном репозитории, выполните следующие действия:

 repoquery -qa --repoid=REPONAME 
 dnf repo-pkgs <repoid> list installed 

Заметки

В приведенной выше команде используется DNF для отображения пакетов, установленных из <repoid> . Примечание. repo-pkgs – это просто псевдоним repository-packages .

С man страниц:

 man dnf | grep "repository-packages.*list.*installed" -A 1 

Дальнейшее чтение:

 man dnf 

Выход Grepping yum является наиболее очевидным способом:

 yum list installed | grep @epel 

Однако вы не можете отображать дополнительные свойства пакетов, и это сложно разобрать с помощью скрипта. Инструментальная обработка repoquery из пакета yum-utils – это инструмент, но по умолчанию он не установлен.

 repoquery -a --installed --qf "%{ui_from_repo} %{name}" | grep '^@epel' 

и более сложный пример:

 repoquery -a --installed --qf "%-20{ui_from_repo} %-30{name} %-7{arch} %{epoch}:%-12{version} %-4{release}" | grep '^@epel' 

Вы можете проверить заголовок Vendor установленных rpms.

В этом примере перечислены все пакеты из репозитория VideoLAN :

  rpm -q -a --qf "%{Name}:%{Vendor}\n" \ | grep -F ":VideoLAN Project (http://www.videolan.org)" 

Очевидно, вам нужно определить, является ли заголовок Vendor вашего репозитория уникальным среди разных репозиториев.

  • Восстановить исходную конфигурацию fail2ban на CentOS 7
  • Есть ли способ использовать эпиал и локальный юм вместе
  • установка dsc30 - python 2.6 сражается назад
  • Команда yum не работает Fedora 20
  • CentOS: Как установить libyaml-devel из источника?
  • Графический интерфейс для YUM в Fedora
  • yum info: что означает «Репо: установлен»?
  • CentOS: какое влияние оказывает обновление ядра?
  • Проблемы с установкой APT на Centos 6 64 бит
  • RHEL6 Установите MySql-Python без подключения к Интернету?
  • Отображение дискового пространства, необходимого для обновления
  • Linux и Unix - лучшая ОС в мире.