Pembaruan Perangkat Lunak vs pembaruan apt-get

11

Saya selalu berasumsi bahwa menjalankan apt-get updatediikuti oleh apt-get upgradehanya versi baris perintah menjalankan pembaruan perangkat lunak; namun, menjalankan pembaruan perangkat lunak menghasilkan paket-paket berikut yang perlu diperbarui:

Complete Generic Linux kernel  
Header files relates to Linux kernel version 3.2.0  
Linux kernel headers for version 3.2.0 on 64 bit x86 SMP  
Generic Linux kernel headers  
Linux kernel image for version 3.2.0 on 64 bit x86 SMP  
General Linux kernel image  
Linux Kernel Headers for development

ISC DHCP client  
common file used by all the isc-dhcp* packages  
LightDM GObject client library  
graphical boot animation and logger-shared libraries  
DisplayManager  
graphical  boot animation and logger-main package  
graphical boot animation and logger-label control  
graphical boot animation and logger-ubuntu-logo theme (-logo)  
graphical boot animation and logger-ubuntu-logo theme (-text)  
Jabber/XMPP connection manager

(53.9 MB)

saat berjalan apt-get updatedan apt-get upgrademenghasilkan:

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  
The following packages will be upgraded:  
  isc-dhcp-client isc-dhcp-common liblightdm-gobject-1-0 libplymouth2 lightdm  
  linux-libc-dev plymouth plymouth-label plymouth-theme-ubuntu-logo  
  plymouth-theme-ubuntu-text telepathy-gabble  
11 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.  
Need to get 2,594 kB of archives.  
After this operation, 2,048 B of additional disk space will be used.  

Adakah yang bisa menjelaskan apa yang terjadi?

ChrisW
sumber
Pada titik tertentu mereka mengubah perilaku upgrade, Anda sekarang mencari dist-upgradejika Anda juga ingin memutakhirkan kernel.
Bobby

Jawaban:

9

Tampaknya ada beberapa kebingungan di sini.

  • apt-get update : Ini hanya menyegarkan daftar paket yang tersedia.

  • apt-get upgrade: Ini akan memutakhirkan paket yang diinstal ke versi terbaru mereka.

  • apt-get dist-upgrade : Sama seperti upgrade tetapi menggunakan sistem resolusi konflik "pintar", itu akan berusaha untuk mengupgrade paket yang paling penting dengan mengorbankan yang kurang penting jika perlu.

Jadi, jika yang Anda inginkan adalah memastikan bahwa paket yang Anda instal adalah versi terbaru yang tersedia, Anda jalankan

apt-get update && apt-get upgrade

Jika ini menimbulkan masalah maka Anda mungkin ingin mencoba:

apt-get update && apt-get dist-upgrade

Sekarang, pesan yang Anda kirim tidak ada hubungannya dengan dist-upgrade, itu adalah peningkatan sederhana. Sama sekali tidak ada perbedaan di antara mereka, hanya saja pembaru perangkat lunak memberi Anda deskripsi paket sementara apt-getdaftar nama-nama paket. Sebagai contoh

Complete Generic Linux kernel  == linux-generic
ISC DHCP client                == isc-dhcp-client
Jabber/XMPP connection manager == telepathy-gabble  

Jika Anda membaca dengan seksama kedua daftar itu, Anda akan melihat bahwa keduanya adalah paket yang sama persis.

Yang mengatakan, pesan yang Anda kirim mengatakan hal yang persis sama.

terdon
sumber
1
Saya pikir mereka akan sama, tetapi ukuran unduhannya sangat berbeda, kecuali angka-angka itu tidak sebanding ?!
ChrisW
1

afaik, Anda melewatkan bagian ketiga:

apt-get dist-upgrade

Sebenarnya, peningkatan apt-get tidak akan memutakhirkan paket dalam beberapa kasus, misalnya ketika mereka mengubah dependensi atau mengharuskan beberapa paket lain untuk dihapus. Namun, apt-get dist-upgrade akan. Jadi untuk mendapatkan perilaku yang mirip dengan yang dilakukan oleh peranti lunak-pembaruan yang Anda butuhkan:

apt-get update && apt-get dist-upgrade

Atau, jika Anda ingin bermain sedikit lebih aman:

apt-get update && apt-get upgrade && apt-get dist-upgrade

Lihat: http://www.ghacks.net/2010/03/11/what-is-it-with-the-dist-upgrade-option-of-apt-get/
Dan juga: /ubuntu/ / q / 194651/125726

gerlos
sumber
2
"pembaruan apt-get && peningkatan apt-get && apt-get dist-upgrade" Kecuali itu dist-upgrademelakukan semua operasi yang juga akan dijalankan oleh upgrade.
Bobby
Baik. Intinya adalah melakukan upgrade "lebih aman" sebelumnya, dan setelah mereka baik-baik saja lakukan dist-upgradeupgrade.
gerlos
Saya gagal melihat apa yang Anda peroleh dengan itu ... kecuali nomor paket yang lebih kecil pada putaran kedua.
Bobby
Beberapa waktu lalu saya memiliki beberapa masalah dengan paket dari ppa pihak ketiga yang ketergantungannya terputus. Dengan menggunakan pemutakhiran "normal", saya bisa memperbarui semuanya kecuali paket-paket yang rusak itu, dan karena mereka "terisolasi" dari yang lain, saya bisa mengisolasi mereka dari yang lain, dan menyelesaikan masalah saya. Bukan sesuatu yang sering terjadi, tetapi pendekatan yang baik untuk menemukan masalah sebelum mereka mengenai Anda, imho.
gerlos
Maksud saya, saya gagal melihat apa bedanya jika Anda berlari upgradeatau dist-upgradeketika mengalami masalah. Perbedaan utama adalah bahwa nanti juga akan mencoba memperbarui kernel, tetapi tidak menyentuh yang sudah ada, sehingga sistem tidak pernah dalam bahaya sejauh yang saya bisa lihat.
Bobby