🐧 Как получить дерево зависимостей пакетов для менеджера пакетов RPM на Linux |

🐧 Как получить дерево зависимостей пакетов для менеджера пакетов RPM на Linux

Мануал

На Linux легко получить дерево зависимостей пакетов с помощью менеджера пакетов RPM.

Это очень полезный совет для Linux.

Используйте команду repequery.

repoquery --requires sudo
Last metadata expiration check: 1:59:28 ago on Wed 12 Nov 2025 09:12:12.
/bin/sh
coreutils
libaudit.so.1()(64bit)
libc.so.6(GLIBC_2.34)(64bit)
liblber.so.2()(64bit)
liblber.so.2(OPENLDAP_2.200)(64bit)
libldap.so.2()(64bit)
libldap.so.2(OPENLDAP_2.200)(64bit)
libpam.so.0()(64bit)
libpam.so.0(LIBPAM_1.0)(64bit)
libselinux.so.1()(64bit)
libselinux.so.1(LIBSELINUX_1.0)(64bit)
libz.so.1()(64bit)
libz.so.1(ZLIB_1.2.0.2)(64bit)
pam
rtld(GNU_HASH)

Вывод показывает библиотечные зависимости пакета.

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

repoquery --whatrequires sudo --tree

Чтобы вывести просто список необходимых пакетов, используйте эту команду.

repoquery --whatrequires sudo
Last metadata expiration check: 2:10:27 ago on Wed 12 Nov 2025 09:12:12.
cockpit-system-0:334.1-1.el9_6.noarch
cockpit-system-0:334.2-1.el9_6.noarch
ddupdate-0:0.7.1-6.el9.noarch
jellyfin-0:10.8.13-1.el9.x86_64
lpf-0:0.3-4.el9.noarch
perl-Object-Remote-0:0.004001-10.el9.noarch
sudo-devel-0:1.9.5p2-10.el9_3.x86_64
sudo-devel-0:1.9.5p2-10.el9_6.1.x86_64
sudo-devel-0:1.9.5p2-10.el9_6.2.x86_64
sudo-python-plugin-0:1.9.5p2-10.el9_3.x86_64
sudo-python-plugin-0:1.9.5p2-10.el9_6.1.x86_64
sudo-python-plugin-0:1.9.5p2-10.el9_6.2.x86_64
x2goserver-0:4.1.0.3-17.el9.x86_64

Вы можете установить утилиту rpmgraph, чтобы построить график зависимостей пакетов.

rpmgraph
bash: rpmgraph: command not found...
Install package 'rpm-devel' to provide command 'rpmgraph'? [N/y] y
 
 
* Waiting in queue...
* Loading list of packages....
The following packages have to be installed:
popt-devel-1.18-8.el9.x86_64 Development files for the popt library
rpm-devel-4.16.1.3-37.el9.x86_64 Development files for manipulating RPM packages
Proceed with changes? [N/y] y
 
 
* Waiting in queue...
* Waiting for authentication...
* Waiting in queue...
* Downloading packages...
* Requesting data...
* Testing changes...
* Installing packages...

Вполне возможно создать график для всего репозитория пакетов.

Это легко достигается.

Используйте приведенную ниже команду, чтобы сгенерировать этот график в точечном формате.

dnf -d 0 repo-graph --repoid epel > repos.dot

Затем его можно просмотреть в graphviz.

dotty repos.dot

Вот еще один пример.

dnf -d 0 repo-graph --repoid extras > repos.dot

Это очень хорошо подойдет для вывода наглядного графика всего хранилища пакетов.

см. также:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий