GNU/Linux >> Tutoriels Linux >  >> Linux

Bloquer les mises à jour du noyau avec Dpkg ?

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


Linux
  1. Traçage du noyau avec trace-cmd

  2. Présentation de la version effective du noyau de Ksplice

  3. CentOS / RHEL :Exclusion avec Yum pour les mises à jour du noyau

  4. copy_to_user non défini dans le noyau Linux version 4.12.8

  5. Mises à jour du noyau sans redémarrage

Version du noyau Ubuntu 22.04

Comment vérifier la version du noyau sous Linux

3 façons de vérifier la version du noyau Linux en ligne de commande

Comment vérifier la version du système d'exploitation avec la ligne de commande Linux

Wazuh Blocage des attaques avec Active Response

comment configurer centos 8 pour démarrer avec l'ancienne version du noyau