APT 패키지가 설치할 모든 파일을 어떻게 나열할 수 있습니까?

APT 패키지가 설치할 모든 파일을 어떻게 나열할 수 있습니까?

이는 다음과 유사합니다.APT 패키지로 설치된 모든 파일을 나열하는 방법은 무엇입니까?하지만 어떤 파일이 있는지 알고 싶습니다.~ 할 것이다아직 패키지가 설치되지 않았기 때문에 설치가 필요합니다.

예:APT 패키지가 설치할 모든 파일을 나열하고 싶습니다 xorg. 즉, 내가 입력하는 동안 생성될 수 있는 모든 파일입니다 apt install xorg. 그러나 해당 종속성의 직접 파일이 아닌 - 만 나열됩니다 apt-file.xorg

$ apt-file list xorg
xorg: /usr/share/bug/xorg/script
xorg: /usr/share/doc/xorg/changelog.gz
xorg: /usr/share/doc/xorg/copyright
xorg: /usr/share/lintian/overrides/xorg

어떻게 목록을 올릴 수 있어?모두관련된 문서?

(답변으로 형편없는 파이프 조합을 추가하겠습니다 bash. 그게 제가 지금 사용하고 있는 것이지만 호출이 많은 루프일 뿐이 apt-file므로 매우 느립니다. 더 나은 답변을 찾고 있습니다.)

답변1

apt-file list다음을 사용하여 한 번에 처리할 패키지 목록을 제공 할 수 있습니다.

apt-file -f-

(표준 입력에서 읽음). 내 측정 결과

apt-get -s install xorg | awk '/^Inst / { print $2 }' | apt-file -f- list

루프를 사용하는 동일한 프로세스 보다 두 배 이상 빠릅니다 apt-file( 사용 ) xargs.

sort -k2,2관련된 패키지를 보는 것이 즐거웠기 때문에 후처리했습니다 .

apt-get -s install후처리 대신 사용하면 apt-cache depends xorg시스템에 설치된 모든 패키지가 고려되고 재귀 종속성을 포함한 해당 패키지만 고려됩니다. 직접적인 종속성 apt-cache depends xorgxorg표시되며 후처리에서는 대안을 처리하지 않습니다.

답변2

이것이 제가 지금 사용하고 있는 것이지만 문제가 있을 수 있으며 확실히 성능이 그다지 좋지 않습니다.

apt-cache depends xorg | grep '..\(Depends\|Recommends\): [^<]' | sed 's/[^:]*: //' | while read LINE; do [[ -z "$LINE" ]] || apt-file list "$LINE"; done | sed 's/[^:]*: //' | sort

단계별:

설치될 패키지 목록을 가져옵니다.

apt-cache depends xorg

"다음에 따라 다름" 및 "권장" 항목을 선택합니다.

grep '..\(Depends\|Recommends\): [^<]'

패키지 이름을 제외한 모든 항목을 제거합니다.

sed 's/[^:]*: //'

줄이 비어 있지 않으면 apt-file각 패키지 이름으로 실행합니다.

while read LINE; do [[ -z "$LINE" ]] || apt-file list "$LINE"; done

apt-file list파일의 해당 패키지 이름으로 시작하는 각 줄을 반환합니다. 파일 이름만 남기고 해당 줄에서 패키지 이름을 제거합니다.

sed 's/[^:]*: //'

행 정렬:

sort

관련 정보