내가 설치 한 각 패키지에 대해 제거 할 때 어떤 패키지가 설치되는지 알고 싶습니다. 필요한 출력의 예는 ( 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
물론 헤더를 제거하십시오.