J'aimerais bloquer toutes les mises à jour du noyau fournies par la distribution en raison d'une mauvaise chose qui m'est récemment arrivée. (Je suis sur un dérivé d'Ubuntu 12.04 amd64.)
J'aimerais bloquer toutes les mises à jour des noyaux installés de la version mineure 3.2 vers les linux-headers
, linux-headers-generic
, linux-image
, et linux-image-extra
paquets. Le problème que je rencontre est que ceux-ci ont tous une version et si je bloque une version précise, rien n'est gagné car une nouvelle version sera installée (ex :si je bloque linux-image-3.2.0-35
, linux-image-3.2.0-36
n'est pas bloqué et pourrait encore potentiellement être installé avec un dist-upgrade
de apt
.)
Réponse acceptée :
Ce que vous devez utiliser est une fonctionnalité d'apt-get appelée holding
Vous pouvez le faire via Synaptic ou Dpkg, voici comment je tiendrais mon noyau en utilisant la méthode dpkg.
Vérifiez d'abord le nom de votre image de noyau
dpkg -l | grep linux-image
sortie pour moi :
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)
puis dites à dpkg de conserver le métapaquet (la version générique sans aucun numéro de version)
echo linux-image-amd64 hold | sudo dpkg --set-selections
Vous pouvez ensuite vérifier que cela a fonctionné via 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)
Remarquez le « salut » en bas, h signifie tenu et i signifie actuellement installé. Ce package est installé mais ne le sera pas être mis à jour.
Vous pouvez inverser cela via
echo linux-image-amd64 install | sudo dpkg --set-selections
et à nouveau peut vérifier via 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)
Remarquez 'ii', le premier i signifie que ce paquet est configuré pour s'installer et le second i signifie qu'il est actuellement installé. Ce package est installé et va être mis à jour.
Pour plus d'informations sur ces drapeaux, voir man dpkg
en particulier les sections "États de sélection de packages".