특정 패키지의 경우 패키지가 설치된 이유를 알 수 있습니까?
그렇다면 수동으로 설치되었거나 다른 패키지의 종속성으로 설치되었는지 볼 수 있습니까? 아니면 배포판의 일부로 설치 되었습니까?
특정 패키지의 경우 패키지가 설치된 이유를 알 수 있습니까?
그렇다면 수동으로 설치되었거나 다른 패키지의 종속성으로 설치되었는지 볼 수 있습니까? 아니면 배포판의 일부로 설치 되었습니까?
답변:
빠른 해결책은 터미널에 다음 명령을 입력하는 것입니다.
aptitude why $package
또는 궁극적 인 원인에만 관심이있는 경우 :
aptitude why $package --show-summary
교체 $ 패키지를 패키지의 이름으로, 당신은 설치해야 할 수 있습니다 aptitude
첫 번째 패키지를.
다음은 얻을 수있는 출력입니다. aptitude why aspell --show-summary
Packages requiring aspell:
inkscape
자세한 내용은을 실행하십시오 aptitude why aspell
. "당신은 수동으로 설치 : 당신은 예를 들어, 출력, 다음과 같이 아래 읽을 수있는 inkscape
필요, libgtkspell
요구, libenchantic2a
요구하는을 aspell
". ( i
마커는 설치된 패키지를 A
나타내고 마커는 자동으로 설치된 패키지를 나타냅니다.)
i inkscape Depends libgtkspell0 (>= 2.0.10)
i A libgtkspell0 Depends libenchant1c2a (>= 1.6.0)
i A libenchant1c2a Depends aspell-en | myspell-dictionary | aspell-dictionary | ispell-dictionary | hunspell-dictionary
i A aspell-en Depends aspell (>= 0.60.3-2)
마지막으로 다음 명령
apt-cache rdepends --installed $package
$ package 에 직접 의존하는 컴퓨터에 설치된 다른 패키지를 나열합니다 . --recurse
직접 또는 간접적으로 의존하는 모든 패키지를 나열 하는 옵션을 추가 할 수 있습니다 .
apt-cache rdepends --recurse $package
아마도 너무 많은 패키지를 제공합니다. --installed
설치된 패키지로 제한하는 옵션을 추가 합니다. -i
옵션은 사전 종속성 및 종속성 관련 패키지로 제한합니다. 그러나 다른 패키지에서 권장하기 때문에 패키지를 설치할 수 있습니다. 이러한 권장 관련 패키지를 포함시키기 위해 이것이 올바른 패키지를 제공한다고 가정합니다.apt-cache rdepends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --installed --recurse $package
apt-cache rdepends --no-{suggests,conflicts,breaks,replaces,enhances} --installed --recurse $package
터미널 ( Applications -> Accessories -> Terminal
) 에 다음 명령을 입력하여 특정 패키지가 설치된 이유에 대한 빠르고 간단한 추론을 찾을 수 있습니다 .
aptitude why <package-name>
관심있는 패키지 이름으로 바꾸십시오. 예를 들어, 입력 aptitude why libgoo-canvas-perl
하면 다음이 출력 됩니다 .
i shutter Suggests libgoo-canvas-perl
이것은 기본적 shutter
으로이 경우 패키지 libgoo-canvas-perl
설치 가 제안 되었음을 의미합니다 . 그런 다음 입력 aptitude why shutter
하여 종속성 체인을 걸을 수 있습니다.
그러나 경고가 있습니다. 나는 적성이 실제 상황이 아닐 수도있는 상황에 대한 가장 그럴듯한 설명을 찾는다는 것을 종종 알지만 그럼에도 불구하고 더 자세히 볼 수있는 단서를 줄 것입니다.
필자의 경우 shutter
제안 libgoo-canvas-perl
하지만 제안 된 패키지는 기본적으로 자동 설치되지 않습니다. 그럼에도 불구하고,이와 스크린 샷을 편집 할 수없는 함께 "경험"의 내 기억 조그 shutter
수동으로 설치하라고했다ligbgoo-canvas-perl
마지막으로, 다음 명령을 실행하여 패키지가 자동으로 설치되었는지 (패키지 관리 시스템에 의해 설치하도록 요청한 다른 패키지의 종속성 및 권장 사항을 보지 않고 필수로 결정 함) 여부를 확인할 수 있습니다.
aptitude show <package-name>
다음과 같은 줄이 출력됩니다 (출력의 세 번째 줄).
Automatically installed: no
자세한 정보 info aptitude
는 터미널에서 실행 하거나 Aptitude wiki 페이지를 방문 하십시오.
특정 패키지가 설치된 시기 를 확인하려면 다음 두 가지 옵션이 있습니다.
Install
설치와 관련된 모든 항목을 나열하기 위해 (사례를 염두에두고) 검색 할 수 있습니다 . 그러나 Synaptic을 사용하여 설치된 패키지 만 표시됩니다터미널에서 다음 명령을 실행하십시오. 설치 기록 항목에 대한 dpkg 로그를 검색합니다. 그러나 이러한 로그의 보유량에는 최대 제한이 있으므로 찾고있는 패키지를 오래 전에 설치 한 경우 찾을 수 없습니다. 자세한 내용은 여기
zcat -f /var/log/dpkg.log* | grep "\ install\ " | grep -i <package-name>
zcat -f /var/log/dpkg.log* | grep -i PackageName | egrep “\ install\ |\ upgrade\ “
여기에 의존하지 않는 간단한 방법 aptitude
이 있습니다 .10.10은 더 이상 기본적으로 제공되지 않습니다.
시냅틱을 열고 제거하십시오.
다른 패키지를 삭제하라는 대화 상자가 나타나면 해당 패키지가 (재귀 적으로) 종속 된 패키지입니다.
apt-get remove package_name_goes_here -s
다시, 결과적으로 제거 될 패키지는 (재귀 적으로) 의존하는 모든 패키지입니다. ( -s
매개 변수는 apt-get
패키지를 실제로 제거하지 않도록 지시 합니다.)
y/N
오타가 있으면 추가 확인 요청도 있습니다 -s
. 그러나 경고를 추가했습니다.