Список всех пакетов 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 вашего репозитория уникальным среди разных репозиториев.

  • Ошибка yum: Ошибка: не удается получить метаданные репозитория (repomd.xml) для репозитория ...
  • Установите rpm из пользовательского репо
  • пытаясь установить пакет chef-client через локальный репозиторий yum
  • Как добавить источники программного обеспечения для dom0 в Qubes
  • Загружаются ли пакеты с нескольких зеркальных сайтов?
  • 32-разрядный пакет из репо, который должен содержать только 64-битные пакеты
  • YUM: Как запретить EPEL обновлять пакеты, установленные из других репозиториев?
  • Как я могу разрешить «дубликаты» в yum?
  • «Выполнение транзакции (блокировка завершена)« насколько «заблокировано» отключено?
  • Как получить доступ к локальному FTP YUM-репо с клиентской машины
  • репозитории rhel с gstreamer-plugins-уродливыми
  • Linux и Unix - лучшая ОС в мире.