pacman을 사용하여 아치에 새 패키지를 설치한 후 충돌하는 두 개의 패키지가 있습니다.
충돌하는 패키지에 의존하는 설치된 모든 패키지를 나열하는 방법은 무엇입니까?
또는 더 일반적으로:
다른 패키지에 의존하는 설치된 모든 패키지를 나열하는 방법
답변1
종속성을 나열하려면 pacman -Si
(예: pacman --sync --info
) 또는 pacman -Qi
(예: pacman --query --info
)를 사용합니다.
역방향 종속성을 나열합니다( pacman -Sii
즉 pacman --sync --info --info
, 예, 두 가지 정보).
아치 리눅스:쿼리 패키지 종속성
답변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}'