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