GNU/Linux >> Linux Esercitazione >  >> Linux

Bloccare gli aggiornamenti del kernel con Dpkg?

Vorrei bloccare tutti gli aggiornamenti del kernel forniti dalla distribuzione a causa di una cosa brutta che mi è successa di recente. (Sono su un derivato di Ubuntu 12.04 amd64.)

Vorrei bloccare tutti gli aggiornamenti ai kernel installati della versione minore 3.2 su linux-headers , linux-headers-generic , linux-image e linux-image-extra Pacchetti. Il problema che sto riscontrando è che questi hanno tutti una versione e se blocco una versione specifica non si guadagna nulla perché verrà installata una nuova versione (es:se blocco linux-image-3.2.0-35 , linux-image-3.2.0-36 non è bloccato e potrebbe comunque essere installato con un dist-upgrade da apt .)

Risposta accettata:

Quello che devi usare è una funzione di apt-get chiamata holding

Puoi farlo tramite Synaptic o Dpkg, ecco come terrei il mio kernel usando il metodo dpkg.

Per prima cosa controlla il nome dell'immagine del tuo kernel

dpkg -l | grep linux-image

output per me:

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)

quindi di' a dpkg di contenere il metapacchetto (la versione generica senza alcun numero di versione)

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

Puoi quindi verificare che abbia funzionato tramite 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)

Notare "ciao" in basso, h significa trattenuto e i significa attualmente installato. Questo pacchetto è installato ma non lo farà essere aggiornato.

Puoi invertire questo tramite

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

e di nuovo puoi controllare tramite 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)

Nota 'ii', il primo significa che questo pacchetto è impostato per l'installazione e il secondo significa che è attualmente installato. Questo pacchetto è installato e lo farà essere aggiornato.

Per ulteriori informazioni su questi flag, vedere man dpkg in particolare le sezioni "stati di selezione del pacchetto".


Linux
  1. Comprendere la versione efficace del kernel di Ksplice

  2. Collegamento con una versione precedente di libstdc++

  3. pytest in esecuzione con un'altra versione di python

  4. copy_to_user non definito nel kernel Linux versione 4.12.8

  5. Debug del kernel Linux con QEMU

Ubuntu versione 22.04 del kernel

Come controllare la versione del kernel in Linux

3 modi per controllare la versione del kernel Linux nella riga di comando

Come controllare la versione del sistema operativo con la riga di comando di Linux

Wazuh Blocco degli attacchi con Active Response

come configurare centos 8 per l'avvio con la vecchia versione del kernel