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’.