GNU/Linux >> Belajar Linux >  >> Linux

Linux – Mengapa Apt Autoremove Tidak Menghapus Semua Paket Kernel Lama Sekaligus?

Saya telah memutakhirkan kernel server Ubuntu kami sejak mereka merilis tambalan untuk kerentanan Meltdown. Saya perhatikan bahwa cukup banyak di semua server, setelah saya reboot saya harus menjalankan apt autoremove dua kali untuk membersihkan semua kernel lama yang masih ada di sistem.

Jika saya menjalankannya pertama kali, itu menghapus dua versi lama dari kernel pada awalnya:

% sudo apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-4.4.0-103 linux-headers-4.4.0-103-generic linux-headers-4.4.0-104 linux-headers-4.4.0-104-generic linux-image-4.4.0-103-generic linux-image-4.4.0-104-generic
  linux-image-extra-4.4.0-103-generic linux-image-extra-4.4.0-104-generic
0 upgraded, 0 newly installed, 8 to remove and 2 not upgraded.
After this operation, 596 MB disk space will be freed.

Tapi kemudian, setelah selesai dan saya menjalankan apt autoremove sekali lagi, ini menghapus versi yang lebih lama:

% sudo apt autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-4.4.0-96 linux-headers-4.4.0-96-generic linux-image-4.4.0-96-generic linux-image-extra-4.4.0-96-generic
0 upgraded, 0 newly installed, 4 to remove and 2 not upgraded.
After this operation, 298 MB disk space will be freed.

Saya bertanya-tanya, mengapa tidak bisa melakukan ini dalam sekali jalan?

Jawaban yang Diterima:

Skrip pengelola kernel, khususnya /etc/kernel/postinst.d/apt-auto-removal , buat daftar kernel yang akan disimpan, disimpan sebagai konfigurasi APT di /etc/apt/apt.conf.d/01autoremove-kernels . Proses ini menjaga kernel yang sedang berjalan, kernel yang sedang dikonfigurasi, dan dua kernel terbaru yang diinstal.

Agaknya terakhir kali skrip dijalankan sebelum pembersihan pertama Anda, -96 akhirnya dilindungi karena termasuk dalam salah satu kategori tersebut. Setelah pembersihan pertama Anda, itu tidak lagi dan menjadi kandidat untuk dihapus. Jika Anda ingin mengetahui mengapa , 01autoremove-kernels file berisi informasi debug; melihatnya sebelum pembersihan pertama, dan sekali lagi setelahnya, akan mengungkapkan mengapa berbagai versi kernel dilindungi.

Penghapusan otomatis kernel sengaja dilakukan secara konservatif dan berhati-hati. Anda dapat menangani ini secara otomatis (akhirnya) menggunakan unattended-upgrades; lihat wiki Ubuntu untuk detailnya.


Linux
  1. Cara Mendaftar Semua Paket yang Terinstal Di Linux

  2. Linux – Mengapa Setuid Tidak Bekerja??

  3. Mengapa `keluar &` Tidak Berfungsi?

  1. Mengapa Bash ada di mana-mana (di sebagian besar jika tidak semua distribusi Linux)?

  2. Mengapa Windows tidak mengenali file di dalam partisi Linux?

  3. Mengapa yum updateinfo tidak menampilkan semua pembaruan?

  1. Cara Menggunakan Perintah apt untuk Mengelola Paket di Linux

  2. Mengapa regex ini tidak berfungsi di linux?

  3. Hapus sepenuhnya semua paket yang saya instal?