더 이상 사용되지 않는 패키지와 분리 된 패키지의 차이점은 무엇입니까? 더 구체적으로, 왜 deborphan
이것을 생성 합니까?
dave@ubuntu:~$ deborphan
libbind9-80
libllvm3.1
libgrail5
libpython3.2
libsvga1
libarchive12
libdirectfb-1.2-9
gcalctool
liblwres80
libqpdf8
libkms1
libnux-3.0-0
…이 동안 aptitude search '~o'
생산 :
dave@ubuntu:~$ aptitude search '~o'
idA libarchive12 - Multi-format archive and compression library (shared li
i libbind9-80 - BIND9 Shared Library used by BIND
i libdns81 - DNS Shared Library used by BIND
i libdrm-nouveau1a - Userspace interface to nouveau-specific kernel DRM serv
idA libgrail5 - Gesture Recognition And Instantiation Library
i libisc83 - ISC Shared Library used by BIND
i libisccc80 - Command Channel Library used by BIND
i libisccfg82 - Config File Handling Library used by BIND
i liblwres80 - Lightweight Resolver Library used by BIND
idA libnux-3.0-0 - Visual rendering toolkit for real-time applications - s
idA libnux-3.0-common - Visual rendering toolkit for real-time applications - c
idA libpython3.2 - Shared Python runtime library (version 3.2)
idA libqpdf8 - runtime library for PDF transformation/inspection softw
i libudev0 - udev library
i A linux-headers-3.5.0-27 - Header files related to Linux kernel version 3.5.0
i A linux-headers-3.5.0-27-generic - Linux kernel headers for version 3.5.0 on 32 bit x86 SM
i linux-image-3.5.0-27-generic - Linux kernel image for version 3.5.0 on 32 bit x86 SMP
i linux-image-extra-3.5.0-27-generic - Linux kernel image for version 3.5.0 on 32 bit x86 SMP
i python3.2 - Interactive high-level object-oriented language (versio
i python3.2-minimal - Minimal subset of the Python language (version 3.2)
보너스 질문 : apt-get autoremove
훨씬 더 다릅니다. 왜?
dave@ubuntu:~$ sudo apt-get --purge autoremove
[sudo] password for dave:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
gksu* libarchive12* libdirectfb-1.2-9* libgksu2-0* libgnome-menu2* libgrail5* libllvm3.1*
libnux-3.0-0* libnux-3.0-common* libpython3.2* libqpdf8* libsvga1* libts-0.0-0* libx86-1*
mobile-broadband-provider-info* python-imaging* python-imaging-compat* python- oauth* tsconf*
0 upgraded, 0 newly installed, 19 to remove and 0 not upgraded.
After this operation, 33.8 MB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.
누구나 알고 싶어하는 경우 13.04로 업그레이드하면이 메시지가 나타납니다.
답변
간단히 말해, 더 이상 사용되지 않는 패키지는 더 이상 목록의 저장소에 없습니다. 고아 패키지는 “종속”이 모두 제거 된 자동 종속성입니다. 또한 종속성을 해결하기 위해 apt-get autoremove
설치된 고아 패키지 만 고려합니다 apt
.
사용되지 않는 패키지
아시다시피 apt
패키지를 가져올 수있는 리포지토리 목록을 유지합니다. 그러나 때때로 패키지가 저장소에서 제거됩니다. 어쩌면 아무도 패키지를 더 이상 관리하지 않고 유지 관리 할 수 없으며 사용 가능한 (매우) 최신 버전이 보안 위험에 처하게됩니다. 또는 프로그램 이름이 변경되었거나 패키지 이름이 적절히 변경되어 이전 이름 아래의 이전 패키지가 제거 될 수 있습니다. 패키지가 저장소에서 제거되는 다른 이유도 있습니다.
패키지가 시스템에 설치되어 있지만 apt
목록에 있는 리포지토리에서 더 이상 찾을 수없는 경우 해당 패키지는 “폐기”된 것으로 간주됩니다.
고아 패키지
아시다시피 apt
패키지 간의 종속성을 관리 할 수 있습니다. 예를 들어 “greatprogram”이라는 프로그램이 작동하려면 “greatlibrary”라는 라이브러리가 필요합니다. 따라서 greatlibrary를 포함하는 패키지는 greatprogram을 포함하는 패키지의 자동 종속성으로 표시 될 수 있습니다. greatlibrary가 이미 설치되어 있거나 동일한 명령으로 설치되지 않으면 greatprogram 패키지를 설치할 수 없습니다.
그러나 나중에 greatprogram을 제거하고 greatlibrary를 남겨두면 어떻게 될까요? 이 경우, 적어도 하나의 다른 패키지가 큰 라이브러리를 종속성으로 필요로했지만 이제는 더 이상 다른 패키지를 수행하지 않습니다. 이러한 “뒤에 남은”패키지를 “분리 된 패키지”라고합니다.
apt-get 자동 제거
또 다른 사실은 apt
종속성을 자동으로 해결할 수 있다는 것입니다 . 앞서 언급 한 위대한 프로그램을 설치하려고하지만 아직 훌륭한 라이브러리가 설치되어 있지 않다고 가정 해보십시오. apt-get
불만족스러운 종속성이 있으며 “도움말”을 통해 훌륭한 라이브러리를 설치할 수 있습니다.
apt-get autoremove
이 방법으로 설치된 고아 패키지를 제거 하여 종속성을 해결할 수 있습니다. 다른 방법으로 설치된 고아 패키지는 자동 제거 목록에 없습니다. 예를 들어 greatprogram을 설치하기 전에 greatlibrary를 설치 한 후 나중에 greatprogram을 제거해도 greatlibrary는 여전히 분리됩니다. 그러나 autoremove는 종속성이 해결되어 자동으로 설치되지 않았으므로이를 처리하지 않습니다.