Paket usang vs paket yatim


17

Apa perbedaan antara paket usang dan yatim? Lebih khusus, mengapa deborphanmenghasilkan ini:

dave@ubuntu:~$ deborphan
libbind9-80
libllvm3.1
libgrail5
libpython3.2
libsvga1
libarchive12
libdirectfb-1.2-9
gcalctool
liblwres80
libqpdf8
libkms1
libnux-3.0-0

... saat aptitude search '~o'menghasilkan ini:

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)

Pertanyaan bonus: apt-get autoremovebahkan lebih berbeda. Mengapa?

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.

Jika ada yang ingin tahu, upgrade ke 13,04 adalah yang diminta ini.


saya pribadi menghapus semuanya kecuali kernel lama karena dengan mesin saya kernel baru sedikit buggy
jerick wallace

Jawaban:


25

Singkatnya, paket usang tidak ada dalam repositori dalam daftar Anda lagi. Paket-paket yatim adalah dependensi otomatis yang "tanggungannya" semuanya telah dihapus instalasinya. Dan apt-get autoremovehanya mempertimbangkan paket yatim yang diinstal oleh aptuntuk menyelesaikan dependensi.

Paket usang

Seperti yang mungkin Anda ketahui, aptsimpan daftar repositori yang bisa diambil paketnya. Namun terkadang, paket dihapus dari repositori. Mungkin tidak ada yang mengurus (memelihara) paket lagi, dan versi lama (sangat) lama yang tersedia telah menjadi risiko keamanan. Atau mungkin program telah mengubah namanya, nama paket diubah sesuai dan paket lama dengan nama lama dihapus. Ada beberapa kemungkinan alasan lain mengapa sebuah paket juga dihapus dari repositori.

Jika suatu paket diinstal pada sistem Anda, tetapi tidak lagi dapat ditemukan di salah satu repositori yang Anda aptmiliki dalam daftar, paket itu dianggap "usang".

Paket yatim

Seperti yang mungkin Anda ketahui juga, aptdapat mengelola dependensi antar paket. Misalnya, program yang disebut "program hebat" membutuhkan perpustakaan yang disebut "perpustakaan hebat" agar berfungsi. Jadi, paket yang berisi greatlibrary dapat ditandai sebagai ketergantungan otomatis dari paket yang berisi program hebat. Anda tidak akan dapat menginstal paket program hebat, kecuali perpustakaan besar sudah diinstal (atau akan diinstal dengan perintah yang sama).

Tetapi bagaimana jika Anda menghapus program besar di kemudian hari dan meninggalkan perpustakaan hebat? Dalam hal itu, sekali setidaknya satu paket lain membutuhkan greatlibrary sebagai dependensi, tetapi sekarang tidak ada paket lain yang lagi. Paket-paket "tertinggal" itu disebut "paket-paket yatim".

apt-get autoremove

Masih fakta lain yang mungkin Anda ketahui, adalah aptdapat menyelesaikan dependensi secara otomatis untuk Anda. Katakanlah Anda ingin menginstal program great yang disebutkan sebelumnya, tetapi belum memiliki great library yang diinstal. apt-get"pemberitahuan" bahwa ada ketergantungan yang tidak terpenuhi dan menawarkan Anda untuk menginstal perpustakaan yang bagus juga.

apt-get autoremovemenawarkan Anda untuk menghapus paket yatim piatu yang telah diinstal dengan cara ini untuk mengatasi ketergantungan . Paket-paket yatim yang telah diinstal dengan cara lain tidak ada dalam daftar autoremove. Jika, katakanlah, Anda menginstal greatlibrary sendiri sebelum menginstal greatprogram, dan di lain waktu hapus instalan greatprogram, greatlibrary masih akan menjadi yatim piatu. Tetapi autoremove tidak akan menanganinya, karena belum diinstal secara otomatis sebagai akibat dari ketergantungan yang diselesaikan.


1
Terima kasih atas penjelasannya. Ingin tahu: mengapa tidak memahami deborphansemuanya autoremove? Saya mengerti mengapa itu tidak berhasil sebaliknya.
David Kennedy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.