적성 패키지 관리자를 사용하여 패키지를 "자동 제거"하는 방법은 무엇입니까?

적성 패키지 관리자를 사용하여 패키지를 "자동 제거"하는 방법은 무엇입니까?

apt-get autoremovewith 와 동등한 작업을 수행하는 것이 가능합니까 aptitude? 그렇다면 어떻게?

데비안 관리자 매뉴얼설명하다"autoremoves"는 aptitude자동으로 압축되지만 이는 사실이 아닙니다(항상 그런 것은 아닙니다). 내 경우(Ubuntu GNOME 16.04)에는 apt-get autoremove제거하라는 권고를 받은 Linux 커널이 있습니다 .

§ sudo apt-get autoremove
[sudo] password for alexey: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic
  linux-image-4.4.0-31-generic linux-image-extra-4.4.0-31-generic
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 295 MB disk space will be freed.
Do you want to continue? [Y/n]

aptitude하지만 신경쓰지 마세요.


출력은 다음과 같습니다 aptitude why linux-image-4.4.0-31-generic.

i   ubuntu-gnome-desktop         Depends    gdm3                                                      
i A gdm3                         Recommends xserver-xorg                                              
c   xserver-xorg                 Recommends xserver-xorg-video-all | xorg-driver-video                
p   virtualbox-guest-x11         Provides   xorg-driver-video                                         
p   virtualbox-guest-x11         Depends    virtualbox-guest-utils (= 5.0.32-dfsg-0ubuntu1.16.04.2)   
p   virtualbox-guest-utils       Recommends virtualbox-guest-dkms (= 5.0.32-dfsg-0ubuntu1.16.04.2) | v
                                            irtualbox-guest-source (= 5.0.32-dfsg-0ubuntu1.16.04.2) | 
                                            virtualbox-guest-modules                                  
i A linux-image-4.4.0-31-generic Provides   virtualbox-guest-modules

출력은 다음과 같습니다 aptitude search '~i linux.*4.4.0-31' -F '%c%a%M %p'.

i A linux-headers-4.4.0-31
i A linux-headers-4.4.0-31-generic
i A linux-image-4.4.0-31-generic
i A linux-image-extra-4.4.0-31-generic

답변1

더 이상 사용되지 않는 자동 패키지에는 aptitude에 "id"가 표시됩니다.

나는 그것들을 제거하는 세 가지 방법을 찾았습니다.

  1. 기능 UI

    sudo aptitude

    g설치 및 제거할 패키지를 미리 보려면 누르세요 .

    여기에 이미지 설명을 입력하세요.

    이러한 패키지는 "더 이상 사용되지 않기 때문에 제거된 패키지"에서 찾을 수 있습니다. 그런 다음 다시 누르면 gaptitude가 이러한 패키지를 제거합니다.

  2. grep 및 xargs를 사용하는 적성 명령줄

    aptitude search ~i | grep ^id | awk '{print $2}' | xargs sudo aptitude purge -y

  3. Aptitude::Delete-Unused옵션이 포함된 적성 명령줄

    sudo aptitude -o Aptitude::Delete-Unused=1 install

    옵션: 적성::제거 - 사용되지 않음

    기본값: 참

    설명: 이 옵션이 true인 경우 자동으로 설치된 패키지 중 더 이상 필요하지 않은 패키지가 자동으로 제거됩니다. 자세한 내용은 "자동으로 설치된 패키지 관리" 섹션을 참조하세요.

    나는이 솔루션을 찾았습니다http://www.lambdacurry.com/2013/12/aptitude-equivalent-of-apt-get-autoremove/. 그리고 이 옵션은 적성 참고 매뉴얼의 "프로파일 참조"에 설명되어 있습니다. 더 많은 링크를 게시할 만큼 평판이 충분하지 않으므로 문서를 검색해 볼 수 있습니다.

그 중 어느 것이 나에게 적합할 것입니다.

~에 따르면6.2.7. 자동으로 설치된 패키지 추적:

이 정보를 사용하면 패키지가 제거될 때 패키지 관리자가 더 이상 필요하지 않은 패키지의 자동 목록을 계산할 수 있습니다("수동으로 설치된" 패키지가 의존하지 않기 때문).

그리고자동으로 설치된 패키지 관리:

보다 정확하게는 수동으로 설치된 패키지가 종속, PreDepends 또는 권장을 통한 경로가 없으면 제거됩니다.

내 대답은 수동으로 설치된 패키지에서 대상 패키지까지의 종속성 경로(Depends, PreDepends 또는 Recommends)가 없는 경우에만 적용됩니다. 따라서 aptitude질문에 설명된 상황 apt-get autoremove( 의 종속성 경로가 있는 경우 )과 동일한 작업을 수행 할 수 있는 방법이 없습니다 ubuntu-gnome-desktop.

관련 정보