web-dev-qa-db-fra.com

Quelle est la bonne façon d'installer manuellement un nouveau noyau sur Debian 9?

Je n'ai pas assez de confiance pour le faire seul et risquer que le serveur ne démarre pas ou quelque chose.

Je voudrais mettre à jour le noyau depuis:

$ uname -r
4.9.0-6-AMD64

$ uname -v
#1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07)

à la version 4.15 ou 4.16 du noyau. Celui que vous recommandez.


Je pense juste que je sais comment lister les versions disponibles:

$ apt-cache search linux-image | grep AMD64

linux-headers-4.9.0-6-AMD64 - Header files for Linux 4.9.0-6-AMD64
linux-headers-4.9.0-6-rt-AMD64 - Header files for Linux 4.9.0-6-rt-AMD64
linux-image-4.9.0-6-AMD64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-6-AMD64-dbg - Debug symbols for linux-image-4.9.0-6-AMD64
linux-image-4.9.0-6-rt-AMD64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-6-rt-AMD64-dbg - Debug symbols for linux-image-4.9.0-6-rt-AMD64
linux-image-AMD64 - Linux for 64-bit PCs (meta-package)
linux-image-AMD64-dbg - Debugging symbols for Linux AMD64 configuration (meta-package)
linux-image-rt-AMD64 - Linux for 64-bit PCs (meta-package), PREEMPT_RT
linux-image-rt-AMD64-dbg - Debugging symbols for Linux rt-AMD64 configuration (meta-package)
linux-headers-4.9.0-3-AMD64 - Header files for Linux 4.9.0-3-AMD64
linux-headers-4.9.0-3-rt-AMD64 - Header files for Linux 4.9.0-3-rt-AMD64
linux-headers-4.9.0-4-AMD64 - Header files for Linux 4.9.0-4-AMD64
linux-headers-4.9.0-4-rt-AMD64 - Header files for Linux 4.9.0-4-rt-AMD64
linux-headers-4.9.0-5-AMD64 - Header files for Linux 4.9.0-5-AMD64
linux-headers-4.9.0-5-rt-AMD64 - Header files for Linux 4.9.0-5-rt-AMD64
linux-image-4.9.0-3-AMD64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-3-AMD64-dbg - Debug symbols for linux-image-4.9.0-3-AMD64
linux-image-4.9.0-3-rt-AMD64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-3-rt-AMD64-dbg - Debug symbols for linux-image-4.9.0-3-rt-AMD64
linux-image-4.9.0-4-AMD64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-4-AMD64-dbg - Debug symbols for linux-image-4.9.0-4-AMD64
linux-image-4.9.0-4-rt-AMD64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-4-rt-AMD64-dbg - Debug symbols for linux-image-4.9.0-4-rt-AMD64
linux-image-4.9.0-5-AMD64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-5-AMD64-dbg - Debug symbols for linux-image-4.9.0-5-AMD64
linux-image-4.9.0-5-rt-AMD64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-5-rt-AMD64-dbg - Debug symbols for linux-image-4.9.0-5-rt-AMD64
linux-headers-4.15.0-0.bpo.2-AMD64 - Header files for Linux 4.15.0-0.bpo.2-AMD64
linux-headers-4.15.0-0.bpo.2-cloud-AMD64 - Header files for Linux 4.15.0-0.bpo.2-cloud-AMD64
linux-headers-4.16.0-0.bpo.1-AMD64 - Header files for Linux 4.16.0-0.bpo.1-AMD64
linux-headers-4.16.0-0.bpo.1-cloud-AMD64 - Header files for Linux 4.16.0-0.bpo.1-cloud-AMD64
linux-image-4.15.0-0.bpo.2-AMD64 - Linux 4.15 for 64-bit PCs
linux-image-4.15.0-0.bpo.2-AMD64-dbg - Debug symbols for linux-image-4.15.0-0.bpo.2-AMD64
linux-image-4.15.0-0.bpo.2-cloud-AMD64 - Linux 4.15 for x86-64 cloud
linux-image-4.15.0-0.bpo.2-cloud-AMD64-dbg - Debug symbols for linux-image-4.15.0-0.bpo.2-cloud-AMD64
linux-image-4.16.0-0.bpo.1-AMD64 - Linux 4.16 for 64-bit PCs
linux-image-4.16.0-0.bpo.1-AMD64-dbg - Debug symbols for linux-image-4.16.0-0.bpo.1-AMD64
linux-image-4.16.0-0.bpo.1-cloud-AMD64 - Linux 4.16 for x86-64 cloud
linux-image-4.16.0-0.bpo.1-cloud-AMD64-dbg - Debug symbols for linux-image-4.16.0-0.bpo.1-cloud-AMD64
linux-headers-4.9.0-4-grsec-AMD64 - Header files for Linux 4.9.0-4-grsec-AMD64
linux-image-4.9.0-4-grsec-AMD64 - Linux 4.9 for 64-bit PCs, Grsecurity protection (unofficial patch)
linux-image-grsec-AMD64 - Linux image meta-package, grsec featureset
linux-image-cloud-AMD64 - Linux for x86-64 cloud (meta-package)
linux-image-cloud-AMD64-dbg - Debugging symbols for Linux cloud-AMD64 configuration (meta-package)

J'ai aussi besoin d'en-têtes. Sur Ubuntu, il existe également un paquet appelé extra ou similaire, donc je suis confus de ne pas le voir ici.


Quelle est la bonne façon d'installer manuellement un nouveau noyau sur Debian 9?

9

Si vous souhaitez installer un noyau plus récent empaqueté Debian, vous devez en utiliser un à partir du référentiel backports. Vous semblez avoir ce référentiel déjà ajouté à votre configuration apt, donc vous êtes prêt.

Étant donné que votre noyau actuel est la version de base AMD64, je suppose que vous n'aurez pas besoin de la version du planificateur en temps réel, ni de la version cloud.

Il suffit de courir

apt-get install linux-image-4.16.0-0.bpo.1-AMD64 linux-headers-4.16.0-0.bpo.1-AMD64

c'est-à-dire "installer la version de base -AMD64 du noyau 4.16 rétroporté pour Debian 9, et le paquet d'en-têtes correspondant".

Contrairement aux packages standard, la nouvelle version linux-image le paquet ne remplacera pas carrément le noyau 4.9.0 existant, mais s'installera à côté de lui. (C'est parce que le numéro de version est inclus dans le nom du package.) Les chargeurs de démarrage seront automatiquement configurés à linux-image post-installation pour présenter les noyaux disponibles dans un ordre basé sur le numéro de version, ou si cela n'est pas possible pour certains chargeurs de démarrage, il suffit de définir automatiquement le dernier installé comme préféré.

S'il s'avère que votre nouveau noyau ne démarre pas, vous pouvez simplement sélectionner le noyau précédent dans le chargeur de démarrage, puis supprimer le package du noyau qui s'est révélé non fonctionnel. Si vous indiquez accidentellement au gestionnaire de paquets de supprimer le noyau sur lequel vous êtes actuellement en cours d'exécution, il est suffisamment intelligent pour savoir que ce n'est pas une bonne chose à faire et annulera l'opération.

10
telcoM

Problème à portée de main

Vous avez besoin d'un noyau Linux plus récent que celui installé sur votre instance Debian. Il y a des risques à cela. Il est recommandé d'éviter de s'écarter du noyau LTS stable par défaut fourni par Debian. Cependant, en raison des besoins de votre côté, vous avez besoin d'un noyau plus récent.

Solution

Vous pouvez ajouter dépôt backports , utiliser l'épinglage apt pour contrôler ce qui est installé ici et installer les composants nécessaires pour mettre à niveau votre noyau.

Je recommande fortement apt-pinning car vous pouvez ajouter des référentiels alternatifs ou même des référentiels tiers et contrôler ce qui est installé à partir d'eux. Cela vous permet, toujours à vos risques et périls, d'installer et de mettre à jour d'autres packages et bibliothèques et de les mettre à jour en même temps que les principaux composants de votre système d'exploitation. L'épinglage Apt permet un contrôle granulaire des colis provenant de sources alternatives (c'est-à-dire non stables) avec moins de risques de casse. Si vous comprenez le risque, vous pouvez avancer avec cela.

Ajouter un référentiel Backports et configurer les préférences apt

La première étape consiste à ajouter les référentiels appropriés à votre sources.list. Je vous recommande d'utiliser /sources.list.d/ mais vous pouvez le faire dans un seul fichier.

#Main Stable Repo
deb http://deb.debian.org stable main contrib non-free 
deb-src http://deb.debian.org stable main contrib non-free
#Stable-updates
deb http://deb.debian.org stable-updates main contrib non-free 
deb-src http://deb.debian.org stable-updates main contrib non-free 
#Security Updates 
deb http://deb.debian.org/debian-secruity stable/updates main contrib non-free
deb-src http://deb.debian.org/debian-secruity stable/updates main contrib non-free 
#Stretch Backports    
deb http://ftp.debian.org/debian stretch-backports main contrib non-free
deb-src http://ftp.debian.org/debian stretch-backports main contrib non-free

Votre sources.list devrait ressembler à ceci. Vous n'avez pas besoin des pièces non libres si vous n'avez pas besoin d'un logiciel non libre. Ensuite, vous devrez attribuer des priorités aux packages à l'aide de /etc/apt/preferences. Ce fichier devrait ressembler à ceci:

Package: *
Pin: release a=debian-security
Pin-Priority: 1000

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=stable-updates
Pin-Priority: 800

Package: *
Pin: release a=stretch-backports
Pin-Priority: 700

Vous pouvez être plus précis dans votre approche en spécifiant des packages individuels et en affectant des valeurs supérieures ou inférieures aux priorités de broche.

Après cela, vous exécutez apt-get update.

Installer le noyau souhaité

En utilisant apt-cache search linux-image vous listerez tous les noyaux disponibles. Lorsque vous avez identifié le noyau que vous souhaitez, vous pouvez l'installer à l'aide de apt-get install linux-image-flavour. Il est recommandé d'installer également le package d'en-tête Linux correspondant. Si vous avez besoin de l'image grsec dans votre environnement, installez-la à la place. Encore une fois avec le package d'en-tête approprié.

Au redémarrage, vous pourrez sélectionner le noyau que vous souhaitez lancer dans le menu GRUB. Si vous rencontrez des problèmes, vous pouvez toujours sélectionner le bon noyau connu et démarrer à l'aide de celui-ci à la place.

Conclusion

J'ai utilisé apt-pinning pour gérer avec succès l'installation de Debian sur mon ordinateur personnel. J'ai utilisé la méthode ci-dessus pour installer ce qui était le dernier noyau à l'époque (4.15) et mon système fonctionnait bien. Cependant, prenez cela avec un grain de sel car c'est un ordinateur personnel et non ce que je suppose être un serveur de production sur lequel vous souhaitez installer cela. J'inclus également des liens vers toutes les sources auxquelles j'ai fait référence. J'ai utilisé cette page wiki Debian pour informer sur les étapes nécessaires, ainsi que la page sur apt-pinning . Cette article a également été référencée.

Si vous avez des questions ou des préoccupations à propos de ce poste, n'hésitez pas à me les poser. S'il y a des corrections ou des idées fausses dans cette réponse, veuillez m'en informer. Je peux mettre à jour le message si nécessaire.

Bonne chance!

12
kemotep

Pour installer linux-image et son paquet d'en-têtes, utilisez la commande suivante:

apt install linux-{image,headers}-4.16.0-0.bpo.1-AMD64

Certaines dépendances doivent être installées à partir de backports après avoir exécuté la commande ci-dessus, elles peuvent être installées via:

apt install -t stretch-backports pckg_name
2
GAD3R