rpmgraph: https://linux.die.net/man/8/rpmgraph 使用方法と機能、Fedora、CentOs、RedHat

rpmgraph: https://linux.die.net/man/8/rpmgraph 使用方法と機能、Fedora、CentOs、RedHat

問題:

このプログラムを実行しようとしています。システム上の依存関係とパッケージのトポロジマップ/グラフを作成したいと考えていますrpm

rpm-devel-4.14.2-1.fc29.x86_64.rpm Fedora 29 ダウンロード とりわけ次のことが分かります:

rpm グラフ。 rpm の argv.h を参照してください。 ./rpm/header.h を参照してください。 rpmarchive.h を参照してください。 rpmbase64.h に以下を追加します。 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

関連情報