APT에 설치된 패키지의 종속성 나열 (재귀) 출력의 예는 ( package:

내가 설치 한 각 패키지에 대해 제거 할 때 어떤 패키지가 설치되는지 알고 싶습니다. 필요한 출력의 예는 ( package: list of deps)입니다.

abc: foo bar
bcd: baz abc
bdd: baz fuubar

추가

다음을 ppp사용 하여 패키지 를 제거하면 실제로 제거 될 내용을 확인 하면 apt-get:

$ echo $(apt-get --dry-run remove ppp | grep '^Remv ' | cut -d' ' -f2)
gnome-ppp mint-meta-xfce network-manager-pptp-gnome network-manager-pptp wvdial pppoeconf pppoe pptp-linux pppconfig ppp

apt-cache쇼가 제공 하는 것과는 다릅니다 (재귀 적 종속성은 포함하지 않는다고 생각합니다).

$ apt-cache show ppp | grep '^Breaks: '
Breaks: network-manager (<= 0.8.0.999-1), network-manager-pptp (<= 0.8.0.999-1), pppdcapiplugin (<= 1:3.9.20060704+dfsg.1-1)

추가 2

dpkg --get-selections | cut -f1반복 설치된 패키지의 목록을 극복 할 수있는 신뢰할 수있는 방법은?



답변

당신은 여기에 몇 가지 다른 질문을했습니다. 저는 적어도 한두 가지를 도울 수 있기를 바랍니다.

설치된 모든 패키지를 나열하려면 dpkg필드로 구분 된 목록으로 출력 하는 데 사용 하십시오.

dpkg -l

추가 필드없이 패키지 목록을 가져 오려면 다른 곳으로 파이프 할 수 있습니다.

dpkg -l | awk '{print $2 }' # Pipe to grep after the awk, or glob from dpkg

예를 들어, 오래된 커널을 제거하려면

apt-get purge `dpkg -l linux* | awk '{print $2}' | grep 3.0.0-12`

불필요한 모든 종속성을 처리하는 가장 쉬운 방법은입니다 debfoster. 대화식으로 실행되며 원하는 항목과 종속성을 거치며 재귀 적 종속성이 아닌 항목을 제거하거나 나열 할 수 있습니다.

특정 패키지의 모든 재귀 종속성을 나열하려면

debfoster -d $PACKAGE ## PACKAGE is the specific package.

실행 한 후에 debfoster는 패키지에있는 모든 종속 항목을 확인할 수 있습니다.

debfoster -e $PACKAGE ## PACKAGE is the specific package.

‘분리 된’패키지를 나열하는 정말 좋은 방법은입니다 deborphan. deborphan옵션없이 실행 하면 모든 ‘분리 된’패키지가 나열됩니다. ‘고아’는 의존하지 않는 패키지이며 명시 적으로 설치하지 않았습니다.

또한 새로 설치 한 후 ‘분리 된’패키지를 정리하고 싶습니다. 특정 패키지를 제거한 후에는 누락 된 항목 apt-get autoremove --purge을 얻을 수 있습니다 .

apt-get purge `deborphan`

마지막으로 --purge패키지 ‘남은 음식’으로 끝나지 않고 최신 버전 apt-get으로 자동 제거 할 수 있습니다. 제거 된 패키지에서 모든 ‘남은 음식’을 제거하려면 다음을 실행하십시오.

apt-get autoclean

의 새 버전이없는 경우 apt-get언제든지이 명령으로 제거 할 수 있습니다. ‘남은’파일이 존재하지 않으면 오류가 발생합니다.

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge


답변

apt-cache show pkgname1 pkgname2...

(다른 것들 중에서) 이러한 (런타임) 종속성을 나열합니다. 추가 처리를 위해 기계에 공급하지 않는 한 일반적으로 적합합니다. 지정한 형식으로 정확하게 작성하려면 스크립트를 작성해야합니다.


답변

나는 계속해서 같은 일을 위해 루프를 만들어야한다고 생각합니다.

apt-cache depends libtext-wrapi18n-perl |xargs apt-cache depends

물론 헤더를 제거하십시오.


답변