На 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.
Вот еще один пример.
dnf -d 0 repo-graph --repoid extras > repos.dot
Это очень хорошо подойдет для вывода наглядного графика всего хранилища пакетов.
см. также: