pacmanを使用してアーチに新しいパッケージをインストールした後に競合する2つのパッケージがあります。
競合するパッケージに依存するインストール済みのすべてのパッケージを一覧表示する方法は?
またはより一般的に:
他のパッケージに依存するすべてのインストール済みパッケージを一覧表示する方法
答え1
依存関係を一覧表示するには、()pacman -Si
またはpacman --sync --info
( pacman -Qi
)pacman --query --info
を使用します。
逆方向の依存関係をリストします(pacman -Sii
つまりpacman --sync --info --info
、はい、2つの情報)。
Arch Linux:クエリパッケージの依存関係
答え2
他のパッケージに依存するすべてのインストール済みパッケージを一覧表示する方法
最初のレベルの依存関係を使用するにはpacman -Qi package_name | grep 'Depends On'
たとえば、
$ pacman -Qi jack | grep 'Depends On'
Depends On : alsa-lib db glibc gcc-libs libsamplerate libzita-alsa-pcmi.so=0-64 libzita-resampler.so=1-64
pactree
パッケージの依存関係ツリーを表示するにはpacman-contrib
たとえば、
$ pactree jack
jack
├─alsa-lib
│ ├─glibc
│ │ ├─linux-api-headers provides linux-api-headers>=4.10
│ │ ├─tzdata
│ │ └─filesystem
│ │ └─iana-etc
│ ├─alsa-topology-conf
│ └─alsa-ucm-conf
├─db
│ ├─gcc-libs
│ │ └─glibc provides glibc>=2.27
│ └─bash provides sh
│ ├─readline provides readline>=7.0
│ │ ├─glibc
│ │ ├─ncurses
│ │ │ ├─glibc
│ │ │ └─gcc-libs
│ │ └─ncurses provides libncursesw.so=6-64
│ ├─glibc
│ └─ncurses
├─glibc
├─gcc-libs
├─libsamplerate
│ └─glibc
├─zita-alsa-pcmi provides libzita-alsa-pcmi.so=0-64
│ ├─alsa-lib
│ ├─gcc-libs
│ └─glibc
└─zita-resampler provides libzita-resampler.so=1-64
├─gcc-libs
└─glibc
パッケージの依存関係ツリーを表示するには、 reverse-r
フラグpactree
答え3
マルチレベル依存関係の場合は、パッケージに付属pactree
のコマンドを使用してくださいpacman
。このオプションを使用すると、-r
特定のパッケージに依存する親アプリケーション/パッケージを見つけることができます。
例は次のとおりです。
pactree -r gst-plugins-bad-libs
gst-plugins-bad-libs
├─gst-plugins-bad
│ ├─cheese
│ └─gnome-video-effects
│ └─cheese
├─gtk4
│ ├─gnome-desktop-4
│ │ └─xdg-desktop-portal-gnome
│ │ └─xdg-desktop-portal
│ │ └─flatpak
│ └─libadwaita
│ └─xdg-desktop-portal-gnome
└─libcheese
└─cheese
この場合、最も重要なアプリケーションは次flatpak
のとおりです。cheese
答え4
以前の回答のうち正解はありません。パッケージ X に依存するパッケージを知りたい場合は、次のコマンドを使用します。
pacman -Qi | grep -E 'Depends On|Name' | grep -B 1 -E 'Depends On.*PACKAGE_X.*' | grep Name | awk -F ':' '{print $2}'