pacman을 사용하여 패키지에 의존하는 모든 패키지 나열

pacman을 사용하여 패키지에 의존하는 모든 패키지 나열

pacman을 사용하여 아치에 새 패키지를 설치한 후 충돌하는 두 개의 패키지가 있습니다.

충돌하는 패키지에 의존하는 설치된 모든 패키지를 나열하는 방법은 무엇입니까?

또는 더 일반적으로:
다른 패키지에 의존하는 설치된 모든 패키지를 나열하는 방법

답변1

종속성을 나열하려면 pacman -Si(예: pacman --sync --info) 또는  pacman -Qi(예: pacman --query --info)를 사용합니다.

역방향 종속성을 나열합니다( pacman -Siipacman --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 플래그 -rpactree

답변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}'

관련 정보