GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Blockieren von Kernel-Updates mit Dpkg?

Ich möchte alle von der Distribution gelieferten Kernel-Updates aufgrund einer unangenehmen Sache blockieren, die mir kürzlich passiert ist. (Ich verwende ein Ubuntu 12.04 amd64-Derivat.)

Ich möchte alle Updates auf installierte Kernel der Minor-Version 3.2 in den linux-headers blockieren , linux-headers-generic , linux-image , und linux-image-extra Pakete. Das Problem, auf das ich stoße, ist, dass diese alle eine Version haben und wenn ich eine bestimmte Version blockiere, nichts gewonnen wird, weil eine neue Version installiert wird (zB:wenn ich linux-image-3.2.0-35 , linux-image-3.2.0-36 wird nicht blockiert und könnte möglicherweise noch mit einem dist-upgrade installiert werden von apt .)

Akzeptierte Antwort:

Was Sie verwenden müssen, ist eine Funktion von apt-get namens holding

Sie können dies entweder über Synaptic oder Dpkg tun. Hier ist, wie ich meinen Kernel mit der dpkg-Methode halten würde.

Überprüfen Sie zuerst Ihren Kernel-Image-Namen

dpkg -l | grep linux-image

Ausgabe für mich:

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)

dann sagen Sie dpkg, dass es das Metapaket halten soll (die generische Version ohne Versionsnummern)

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

Sie können dann mit dpkg -l linux-image-amd64 überprüfen, ob dies funktioniert hat

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)

Beachten Sie das "hi" unten, h bedeutet "gehalten" und i bedeutet "aktuell installiert". Dieses Paket wird installiert, aber wird nicht aktualisiert werden.

Sie können dies über

rückgängig machen
echo linux-image-amd64 install | sudo dpkg --set-selections

und kann erneut über dpkg -l linux-image-amd64 überprüfen

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)

Beachten Sie „ii“, das erste i bedeutet, dass dieses Paket installiert werden soll, und das zweite i bedeutet, dass es derzeit installiert ist. Dieses Paket ist installiert und wird aktualisiert werden.

Weitere Informationen zu diesen Flags finden Sie unter man dpkg insbesondere die Abschnitte „Paketauswahlstatus“.


Linux
  1. Neukonfigurationsprobleme mit Dpkg?

  2. Benötigen Kernel-Updates jede Version dazwischen?

  3. pytest läuft mit einer anderen Version von Python

  4. copy_to_user undefiniert in Linux-Kernel-Version 4.12.8

  5. Kernel-Updates ohne Neustart

Ubuntu 22.04 Kernelversion

So überprüfen Sie die Kernel-Version in Linux

3 Möglichkeiten zum Überprüfen der Linux-Kernel-Version in der Befehlszeile

So überprüfen Sie die Betriebssystemversion mit der Linux-Befehlszeile

Wazuh Blockiert Angriffe mit Active Response

Wie konfiguriere ich Centos 8, um mit der alten Kernel-Version zu booten?