GNU/Linux >> Belajar Linux >  >> Linux

Memblokir Pembaruan Kernel Dengan Dpkg?

Saya ingin memblokir semua pembaruan kernel yang dikirim melalui distribusi karena hal buruk yang baru-baru ini terjadi pada saya. (Saya menggunakan turunan Ubuntu 12.04 amd64.)

Saya ingin memblokir semua pembaruan untuk kernel yang diinstal dari versi minor 3.2 ke linux-headers , linux-headers-generic , linux-image , dan linux-image-extra paket. Masalah yang saya hadapi adalah bahwa ini semua memiliki versi dan jika saya memblokir versi tertentu, tidak ada yang diperoleh karena versi baru akan diinstal (misalnya:jika saya memblokir linux-image-3.2.0-35 , linux-image-3.2.0-36 tidak diblokir dan masih berpotensi dipasang dengan dist-upgrade dari apt .)

Jawaban yang Diterima:

Yang perlu Anda gunakan adalah fitur apt-get yang disebut holding

Anda dapat melakukannya melalui Synaptic atau Dpkg. Berikut adalah cara saya menyimpan kernel saya menggunakan metode dpkg.

Pertama periksa nama gambar kernel Anda

dpkg -l | grep linux-image

keluaran untuk saya:

ii  linux-image-3.2.0-4-amd64              3.2.35-2                           amd64        Linux 3.2 for 64-bit PCs
ii  linux-image-amd64                      3.2+46                             amd64        Linux for 64-bit PCs (meta-package)

lalu beri tahu dpkg untuk menahan metapackage (versi generik tanpa nomor versi apa pun)

echo linux-image-amd64 hold | sudo dpkg --set-selections

Anda kemudian dapat memeriksa ini berfungsi melalui dpkg -l linux-image-amd64

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
hi  linux-image-amd64          3.2+46             amd64              Linux for 64-bit PCs (meta-package)

Perhatikan 'hi' di bagian bawah, h berarti ditahan dan saya berarti saat ini terpasang. Paket ini diinstal tetapi tidak akan ditingkatkan.

Anda dapat membalikkan ini melalui

echo linux-image-amd64 install | sudo dpkg --set-selections

dan lagi dapat memeriksa melalui dpkg -l linux-image-amd64

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
ii  linux-image-amd64          3.2+46             amd64              Linux for 64-bit PCs (meta-package)

Perhatikan 'ii', yang pertama i berarti paket ini diatur untuk diinstal dan yang kedua i berarti sedang diinstal. Paket ini telah diinstal dan akan ditingkatkan.

Untuk informasi lebih lanjut tentang bendera ini, lihat man dpkg khususnya bagian 'status pemilihan paket'.


Linux
  1. Pelacakan kernel dengan trace-cmd

  2. Analisis kernel Linux dengan ftrace

  3. Apakah Pembaruan Kernel Membutuhkan Setiap Versi Di Antara?

  1. Memahami Versi Kernel Efektif Ksplice

  2. CentOS / RHEL :Pengecualian dengan Yum Untuk Pembaruan Kernel

  3. Tautkan dengan libstdc++ versi lama

  1. Perbarui versi Kernel di server Ubuntu

  2. Cara memeriksa versi Kernel di Linux

  3. pytest berjalan dengan versi lain dari python