Apa "dist-upgrade" dan mengapa tidak meng-upgrade lebih dari "meng-upgrade"?
Aku bertanya-tanya mengapa upgrade
kadang-kadang doesn't ingin meng-upgrade bagian-bagian tertentu dari sistem, sementara dist-upgrade
tidak. Berikut ini's contoh setelah menjalankan apt-get upgrade
:
apt-get upgrade
:
rimmer@rimmer-Lenovo-IdeaPad-S10-2:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
versus apt-get dist-upgrade
:
rimmer@rimmer-Lenovo-IdeaPad-S10-2:~$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
linux-headers-3.0.0-13 linux-headers-3.0.0-13-generic
linux-image-3.0.0-13-generic
The following packages will be upgraded:
linux-generic linux-headers-generic linux-image-generic
3 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 48.5 MB of archives.
After this operation, 215 MB of additional disk space will be used.
Do you want to continue [Y/n]?
Dengan kata lain, mengapa bisa't ini dapat dilakukan dengan meng - upgrade
?
397
5
Dari
apt-get
manual:Dan dengan yang lebih baru
apt
alat yang tersedia dari 14.04 dan seterusnya:Dalam kasus tertentu, saya melihat, misalnya, bahwa
linux-header
virtual paket yang disediakan oleh kedualinux-headers-3.0.0-12
danlinux-headers-3.0.0-13
dan itu terdengar seperti jenis paket instalasi dan penghapusan ditangani olehdist-upgrade
, tapi tidak denganupgrade
.apt-get upgrade
dibatasi untuk kasus di mana paket akan diganti oleh versi yang lebih baru, tapi tidak ada paket yang perlu ditambahkan atau dihapus. Versi baru dari Firefox, misalnya, harus diinstal denganapt-get upgrade
.Namun
apt-get upgrade
akan menolak untuk bekerja ketika ada penambahan atau penghapusan diperlukan oleh versi terbaru. Misalnya, ketika anda memiliki kernellinux-image-3.2.0-10-generic
diinstal danlinux-image-3.2.0-11-generic
muncul,linux-image-generic
paket akan diperbarui untuk tergantung pada versi yang lebih baru. Dalam rangka untuk menginstal kernel baru, anda perlu untuk menjalankanapt-get dist-upgrade
.Perhatikan bagaimana sebuah
apt-get upgrade
akan mengatakan bahwa kernel paket telahmenahan
. Yang's isyarat untuk menggunakanapt-get dist-upgrade
.Pada dasarnya meng-upgrade hanya akan meng-upgrade yang sudah ada paket-paket dari satu versi ke versi yang lain. Itu tidak akan menginstal atau menghapus paket, bahkan jika hal itu diperlukan untuk meng-upgrade lain-lain. Dalam kasus kernel update, upgrade linux-generic paket membutuhkan menginstal linux baru-3.0.0-13-paket generik, dan sejak upgrade menolak untuk menginstal atau menghapus paket, menolak untuk meng-upgrade linux-generic.
Kadang-kadang berbagai ketidaksesuaian antara paket akan memerlukan beberapa paket yang akan dihapus dalam rangka untuk meng-lain, dan itu juga akan memerlukan dist-upgrade. Update Kernel akan selalu membutuhkan dist-upgrade karena bagaimana mereka ditangani. Daripada memiliki paket kernel yang akan diperbarui, yang sama sekali baru paket kernel dibuat setiap waktu, dan kernel metapackage diperbarui untuk bergantung pada kernel baru paket bukan yang lama. Hal ini dilakukan agar anda tetap lama versi kernel sekitar sehingga dalam kasus ada masalah dengan booting kernel baru, anda dapat memilih salah satu tua dari menu boot dan memulihkan.
The
apt-get upgrade
perintah akan biasanya hanya menginstal pembaruan (atau perbaikan) untuk saat ini paket yang telah terinstall. Biasanya rilis baru Mozilla Firefox, misalnya, akan diinstal dengan perintah ini.Namun
apt-get upgrade
akan TIDAK umumnya menginstal rilis baru, di mana perubahan besar (termasuk penghapusan paket-paket atau GRUB update diperlukan). Misalnya, ketika baru Linux kernel (linux-image-3.x.xxx-generik, dll.) tersedia, maka paket tidak akan mendapatkan diinstal.Dalam rangka untuk menginstal kernel baru, anda akan perlu untuk menjalankan
apt-get dist-upgrade
. Anda akan diberitahu ketika anda menjalankanapt-get upgrade
, karena akan mengatakan bahwa paket-paket tertentu yang telah diadakan kembali. Yang's isyarat anda untuk menggunakan:apt-get dist-upgrade
.Pilihan terbaik anda adalah:
apt-get dist-upgrade
-yang otomatis menangani dependensi ketika melakukan upgrade paket, sedangkan:
-TIDAK auto-menangani dependensi ketika melakukan upgrade paket.
-duBtrotterS