사용되지 않는 패키지와 분리 된 패키지 libbind9-80

더 이상 사용되지 않는 패키지와 분리 된 패키지의 차이점은 무엇입니까? 더 구체적으로, 왜 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는 종속성이 해결되어 자동으로 설치되지 않았으므로이를 처리하지 않습니다.