ПРОБЛЕМА:
Я пытаюсь запустить эту программу и хочу создать топологическую карту/график зависимостей и пакетов в системе rpm
:
rpm-devel-4.14.2-1.fc29.x86_64.rpm Fedora 29 Скачать дает среди прочего:
/usr/bin/rpmgraph. /usr/include/rpm/argv.h. /usr/include/rpm/header.h. /usr/include/rpm/rpmarchive.h. /usr/include/rpm/rpmbase64.h. /usr/include/rpm/rpmbuild.h.
https://linux.die.net/man/8/rpmgraph
rpmgraph PACKAGE_FILE
Я попробовал это:
rpm -qa > INSTALLED_PACKAGES
rpmgraph INSTALLED_PACKAGES
А это для заполнения PACKAGE_FILE
:
rpm -qa | sort | sed -e 's/\([^.]*\).*/\1/' -e 's/\(.*\)-.*/\1/' > PACKAGE_FILE
это только имя файла без всех номеров версий и архитектур.
Если указать только имя файла, я получаю следующие ошибки:
error: open of xfce4-screenshooter failed: No such file or directory
error: open of xfce4-screenshooter-plugin failed: No such file or directory
error: open of xfce4-session failed: No such file or directory
error: open of xfce4-session-engines failed: No such file or directory
error: open of xfce4-settings failed: No such file or directory
error: open of xfce4-taskmanager failed: No such file or directory
error: open of xfce4-terminal failed: No such file or directory
error: open of xfce-polkit failed: No such file or directory
error: open of xfconf failed: No such file or directory
error: open of xfdesktop failed: No such file or directory
error: open of xfsprogs failed: No such file or directory
error: open of xfwm4 failed: No such file or directory
и с первым я получаю эту ошибку:
# rpmgraph INSTALLED_PACKAGES
(null): read manifest failed:
Поэтому я предполагал, что мне нужен список с пакетом + расширение, .rpm
которое большинство rpm
инструментов используют для работы с пакетом, но это не сработало.
ВОПРОС:
Кто-нибудь знает, можно ли с помощью этой программы создать подобную карту/график всех установленных пакетов, rpmgraph
и если да, то как?
И если есть другой способ, пожалуйста, дайте ответ.
Я тестирую на Fedora 30.
Этот вопрос связан с этим:как-топологически-сортировать-установленные-rpm-пакеты/523075#523075
РЕДАКТИРОВАТЬ:
Я попробовал это из ответа:
rpmgraph | rpm --queryformat "%{name}-%{version}-%{release}.%{arch}.rpm\n" -qa > rpmgraph.dot
а потом:
dot -Tps rpmgraph.dot -o rpmgraph.ps
Но выдает такие ошибки:
Warning: syntax ambiguity - badly delimited number '-20.f' in line 1794 of rpmgraph.dot splits into two tokens
Warning: syntax ambiguity - badly delimited number '-9.11.' in line 1795 of rpmgraph.dot splits into two tokens
Warning: syntax ambiguity - badly delimited number '-5.P' in line 1795 of rpmgraph.dot splits into two tokens
Warning: syntax ambiguity - badly delimited number '-2.12.' in line 1796 of rpmgraph.dot splits into two tokens
Warning: syntax ambiguity - badly delimited number '-2.f' in line 1796 of rpmgraph.dot splits into two tokens
Warning: syntax ambiguity - badly delimited number '-1.1.' in line 1797 of rpmgraph.dot splits into two tokens
Warning: syntax ambiguity - badly delimited number '-5.f' in line 1797 of rpmgraph.dot splits into two tokens
Warning: syntax ambiguity - badly delimited number '-0.8.' in line 1798 of rpmgraph.dot splits into two tokens
И:
# dotty rpmgraph.dot
graph parser: syntax error near line 1
context: >>> giflib <<< -5.1.9-1.fc30.x86_64.rpm
dotty.lefty: cannot load graph
решение1
Для создания графика вы можете попробовать утилиту dot.
$ rpmgraph *.rpm > rpmgraph.dot
$ dot -Tps rpmgraph.dot -o rpmgraph.ps