GNU/Linux >> Znalost Linux >  >> Linux

Blokování aktualizací jádra pomocí Dpkg?

Chtěl bych zablokovat všechny aktualizace jádra dodávané distribucí kvůli nepříjemné věci, která se mi nedávno stala. (Používám derivát Ubuntu 12.04 amd64.)

Chtěl bych zablokovat všechny aktualizace nainstalovaných jader menší verze 3.2 do linux-headers , linux-headers-generic , linux-image a linux-image-extra balíčky. Problém, na který narážím, je ten, že všechny mají verzi a pokud zablokuji konkrétní verzi, nezíská se nic, protože se nainstaluje nová verze (např.:pokud zablokuji linux-image-3.2.0-35 , linux-image-3.2.0-36 není blokován a stále může být potenciálně nainstalován pomocí dist-upgrade z apt .)

Přijatá odpověď:

Musíte použít funkci apt-get nazvanou holding

Můžete to udělat buď přes Synaptic nebo Dpkg. Zde je návod, jak bych podržel své jádro pomocí metody dpkg.

Nejprve zkontrolujte název obrázku jádra

dpkg -l | grep linux-image

výstup pro mě:

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)

pak řekněte dpkg, aby podržel metabalík (obecná verze bez čísel verzí)

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

Poté můžete zkontrolovat, zda to funguje pomocí 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)

Všimněte si „hi“ ve spodní části, h znamená drženo a i znamená aktuálně nainstalováno. Tento balíček je nainstalován, ale nebude být upgradován.

Toto můžete zvrátit pomocí

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

a znovu můžete zkontrolovat pomocí 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)

Všimněte si „ii“, první i znamená, že tento balíček je nastaven k instalaci, a druhé i znamená, že je aktuálně nainstalován. Tento balíček je nainstalován a bude nainstalován být upgradován.

Pro více informací o těchto příznacích viz man dpkg konkrétně sekce ‘stavy výběru balíčku’.


Linux
  1. Problémy s rekonfigurací Dpkg?

  2. Pochopení efektivní verze jádra Ksplice

  3. Propojení se starší verzí libstdc++

  1. Trasování jádra pomocí trace-cmd

  2. copy_to_user nedefinováno v linuxovém jádře verze 4.12.8

  3. Ladění linuxového jádra pomocí QEMU

  1. Analyzujte linuxové jádro pomocí ftrace

  2. Aktualizujte verzi jádra na serverech Ubuntu

  3. Jak zkontrolovat verzi jádra v Linuxu