Comment empêcher Ubuntu de tenter de mettre à niveau le noyau?
L'architecture OpenVZ sous-jacente de mon hôte fournit ce noyau:
$ uname -r
2.6.32-042stab116.2
Et ma compréhension est que cela est hors de mon contrôle. Pourtant, chaque fois que je le fais:
$ Sudo aptitude update && Sudo aptitude safe-upgrade
Je vois que Ubuntu essaie (et échoue) de se mettre à jour. J'ai maintenant plusieurs paquets partiellement installés:
$ dpkg -l |grep linux
ii libselinux1:i386 2.2.2-1ubuntu0.1 i386 SELinux runtime shared libraries
ii linux-firmware 1.127.22 all Firmware for Linux kernel drivers
iU linux-generic 3.13.0.101.109 i386 Complete Generic Linux kernel and headers
ii linux-headers-3.13.0-100 3.13.0-100.147 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-100-generic 3.13.0-100.147 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-101 3.13.0-101.148 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-101-generic 3.13.0-101.148 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-91 3.13.0-91.138 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-91-generic 3.13.0-91.138 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-92 3.13.0-92.139 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-92-generic 3.13.0-92.139 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-93 3.13.0-93.140 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-93-generic 3.13.0-93.140 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-96 3.13.0-96.143 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-96-generic 3.13.0-96.143 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-generic 3.13.0.101.109 i386 Generic Linux kernel headers
iF linux-image-3.13.0-100-generic 3.13.0-100.147 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-101-generic 3.13.0-101.148 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-92-generic 3.13.0-92.139 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-93-generic 3.13.0-93.140 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-96-generic 3.13.0-96.143 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-100-generic 3.13.0-100.147 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-101-generic 3.13.0-101.148 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-92-generic 3.13.0-92.139 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-93-generic 3.13.0-93.140 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-96-generic 3.13.0-96.143 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-generic 3.13.0.101.109 i386 Generic Linux kernel image
ii linux-libc-dev:i386 3.13.0-101.148 i386 Linux Kernel Headers for development
ii syslinux 3:4.05+dfsg-6+deb8u1 i386 collection of boot loaders
ii syslinux-common 3:4.05+dfsg-6+deb8u1 all collection of boot loaders (common files)
ii util-linux 2.20.1-5.1ubuntu20.7 i386 Miscellaneous system utilities
Pour être complet, j'utilise un conteneur OpenVZ très similaire (même hébergement) qui ne ne montre pas le même problème:
$ uname -r
2.6.32-042stab116.2
$ dpkg -l |grep linux
ii libselinux1:i386 2.2.2-1ubuntu0.1 i386 SELinux runtime shared libraries
ii libv4l-0:i386 1.0.1-1 i386 Collection of video4linux support libraries
ii libv4lconvert0:i386 1.0.1-1 i386 Video4linux frame format conversion library
ii linux-libc-dev:i386 3.13.0-101.148 i386 Linux Kernel Headers for development
ii syslinux 3:4.05+dfsg-6+deb8u1 i386 collection of boot loaders
ii syslinux-common 3:4.05+dfsg-6+deb8u1 all collection of boot loaders (common files)
ii util-linux 2.20.1-5.1ubuntu20.7 i386 Miscellaneous system utilities
Comme vous pouvez le constater, le noyau réel n’est pas répertorié par dpkg
sur l’une ou l’autre des machines, mais seule la première a importé ces nouveaux noyaux indésirables. Les mises à niveau sur ce dernier fonctionnent sans problème.
UPDATE
Afin de supprimer les packages à moitié installés, voir cette question .
La réponse de fkraiem a déjà expliqué pourquoi le noyau en cours d'exécution ne peut pas être mis à jour à partir du conteneur invité.
Pour empêcher la mise à jour du noyau, vous devez désinstaller ses packages méta .
Sudo apt-get purge linux-generic linux-image-generic linux-headers-generic
Certains packages d'images du noyau sont installés (les packages commençant par linux-image
]) et, comme tous les autres packages, le gestionnaire de packages souhaite les mettre à niveau lorsqu'une version plus récente est disponible dans les référentiels.
Cependant, dans votre cas, le noyau est fourni par l'hôte et les packages du noyau installés sont complètement ignorés. Dans ce cas, il est naturel de les désinstaller. le gestionnaire de paquets peut se plaindre de ne pas installer de paquet du noyau car ce n’est normalement pas souhaitable, mais dans votre cas, cela va parfaitement.
Alternativement, les garder installés et mis à niveau ne fera pas de mal (autre que de prendre de l'espace disque) car ils ne sont de toute façon pas utilisés.