Поиск по сайту:

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

Мы уже знаем, как составить список установленных репозиториев в Unix-подобных операционных системах. Сегодня позвольте мне показать вам, как вывести список установленных пакетов из определенного репозитория в Linux из командной строки. Это может быть полезно, если вы хотите узнать, какие пакеты из каких репозиториев поступают.

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

Арч Линукс

В Arch Linux и его производных, таких как Antergos, Manjaro Linux, выполните следующую команду, чтобы узнать список установленных пакетов из определенного репозитория.

paclist community

Приведенная выше команда выведет список установленных пакетов из репозитория community в Arch Linux.

Пример вывода:

acpi 1.7-1
acpid 2.0.28-1
arj 3.10.22-11
at 3.1.20-3
atril 1.18.0-1
bamf 0.5.3-1
blueman 2.0.4-3
blur-effect 1.1.2-1
.
.
.
wpscan 1:2.9.2-3
xcur2png 0.7.1-4
yaml-cpp 0.5.3-3
youtube-dl 2017.06.05-1
zathura 0.3.7-1
zathura-pdf-poppler 0.2.7-1
zeromq 4.2.1-1
zim 0.66-1

Или вы можете использовать следующую команду, если хотите отображать только имена установленных пакетов без номера версии.

awk '{print $1}' <(paclist community)

RHEL/CentOS:

В RHEL и его клонах, таких как CentOS, Scientific Linux, просмотрите установленные пакеты с помощью команды:

yum list installed | grep @epel

Эта команда выведет список установленных пакетов из репозитория EPEL.

dnf.noarch 0.6.4-2.el7 @epel 
dnf-conf.noarch 0.6.4-2.el7 @epel 
dnf-plugins-core.noarch 0.1.5-3.el7 @epel 
epel-release.noarch 7-9 @epel 
libcomps.x86_64 0.1.6-13.el7 @epel 
python-dnf.noarch 0.6.4-2.el7 @epel 
python-libcomps.x86_64 0.1.6-13.el7 @epel

Вы также можете получить список установленных пакетов из определенного репозитория с помощью команды yumdb. Yumdb не установлен по умолчанию. Вам необходимо установить пакет yum-utils, чтобы использовать команду yumdb.

sudo yum install yum-utils

Теперь используйте команду yumdb для получения списка установленных пакетов из определенного репозитория.

yumdb search from_repo epel

Приведенная выше команда отобразит установленные пакеты из репозитория EPEL.

dnf-0.6.4-2.el7.noarch
 from_repo = epel

dnf-conf-0.6.4-2.el7.noarch
 from_repo = epel

dnf-plugins-core-0.1.5-3.el7.noarch
 from_repo = epel

epel-release-7-9.noarch
 from_repo = epel

libcomps-0.1.6-13.el7.x86_64
 from_repo = epel

python-dnf-0.6.4-2.el7.noarch
 from_repo = epel

python-libcomps-0.1.6-13.el7.x86_64
 from_repo = epel

Кроме того, вы можете распечатать выходные данные в формате, удобном для печати, с помощью команды awk, как показано ниже.

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

Здесь epel — это REPOID. Вы можете получить репоид, выполнив следующую команду:

yum repolist

Reposquery — это еще одна команда для вывода списка установленных пакетов из определенного репозитория в системах на базе YUM. Обратите внимание, что вам необходимо установить пакет yum-utils, чтобы использовать команду repoquery.

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

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

Пример вывода моей серверной системы CentOS 7.

@epel dnf
@epel dnf-conf
@epel dnf-plugins-core
@epel epel-release
@epel libcomps
@epel python-dnf
@epel python-libcomps

Дебиан/Убунту/Линукс Минт

В системах на базе APT список установленных пакетов можно найти из определенного репозитория, например docker, с помощью команды:

$ aptitude search "?origin (docker) ?installed"
i   containerd.io                          - An open and reliable container runtime          
i   docker-ce                              - Docker: the open-source application container en
i   docker-ce-cli                          - Docker CLI: the open-source application containe

Если вы хотите вывести список всех пакетов из PPA, просто выполните:

grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages

Пример вывода:

/var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-amd64_Packages:Package: tp-smapi-dkms
/var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-amd64_Packages:Package: tlp
/var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-amd64_Packages:Package: tlp-rdw
/var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-i386_Packages:Package: tp-smapi-dkms
/var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-i386_Packages:Package: tlp
/var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-i386_Packages:Package: tlp-rdw

Приведенная выше команда выведет список пакетов из всех PPA в вашей системе Ubuntu.

Также вы можете просмотреть все пакеты из репозитория с помощью команды:

grep Package /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_xenial_multiverse_*_Packages

Эта команда выведет список пакетов из репозитория multiverse.

Рекомендуется к прочтению: 

  • Как проверить версию пакета Linux перед его установкой
  • Как составить список установленных пакетов, принадлежащих определенной группе в Linux
  • Как найти установленные приложения по установленному размеру в Linux

SUSE/openSUSE

Zypper значительно упрощает составление списка установленных пакетов из определенного репозитория. В системах SUSE и openSUSE.

Все, что вам нужно сделать, это открыть терминал и выполнить следующую команду.

zypper pa -ir <repo-name_or_number>

Узнать имя репозитория или его номер можно с помощью следующей команды:

zypper lr

Пример вывода:

| Alias | Name | Enabled | GPG Check | Refresh
--+---------------------+------------------------------+---------+-----------+--------
1 | repo-non-oss | openSUSE-leap/42.1-Non-Oss | Yes | (r ) Yes | Yes 
2 | repo-oss | openSUSE-leap/42.1-Oss | Yes | (r ) Yes | Yes 
3 | repo-update | openSUSE-42.1-Update | Yes | (r ) Yes | Yes 
4 | repo-update-non-oss | openSUSE-42.1-Update-Non-Oss | Yes | (r ) Yes | Yes

Скажем, например, следующая команда выведет список пакетов из репозитория «repo-oss»:

zypper search -ir repo-oss

Или просто используйте номер репозитория, как показано ниже.

zypper search -ir 2

Пример вывода:

Loading repository data...
Reading installed packages...

S | Name | Summary | Type 
--+--------------------------------------------+-------------------------------------------------------------------------+------------
i | Apper | KDE application and package management tool | application
i | Firefox | Web Browser | application
i | GParted | Create, reorganize, and delete partitions | application
i | Hugin batch processor | A GUI queue manager for stitching multiple hugin projects | application
.
.
.
i | zisofs-tools | User tools for zisofs | package 
i | zypp-plugin-python | Helper that makes writing ZYpp plugins in python easier | package 
i | zypper-aptitude | aptitude compatibility with zypper | package 
i | zypper-log | CLI for accessing the zypper logfile | package

Ссылки:

  • Ошибка сервера
  • Аскубунту

Статьи по данной тематике