web-dev-qa-db-fra.com

Comment définir les paramètres de noyau par défaut dans Centos pour tous les noyaux existants et futurs?

Je voudrais supprimer les paramètres rhgb et quiet Paramètres de noyau utilisées par défaut lorsque le noyau est démarré à Centos 6, mais je souhaite que cela s'applique à tous les noyaux actuellement installés ainsi que tous les noyaux installés à l'avenir. J'ai besoin de le faire à partir d'un script, de sorte que les fichiers d'édition manuelle ne soient pas une option et que tout changement de fichier doit être effectué aussi proprement que possible.

Dans Debian/Ubuntu, je changerais GRUB_CMDLINE_LINUX_DEFAULT dans /etc/default/grub puis exécutez update-grub. Je ne trouve pas un tel paramètre dans /etc/sysconfig/grub ou /etc/sysconfig/kernel Toutefois, ni y est un script update-grub.

9
mgorven

À Debian/Ubuntu, grub.cfg est entièrement généré par des scripts et des modifications manuelles apportées à celle-ci seront encombrées. Dans Rhel/Centos Toutefois, grub.cfg est modifié par les scripts, mais les modifications manuelles sont persistées et est en réalité l'emplacement canonique pour certains paramètres.

L'outil qui gère grub.cfg est grubby , qui est appelé par /sbin/new-kernel-pkg Lorsque les noyaux sont installés ou supprimés. Les --copy-default Le paramètre est transmis à grubby Lorsque un nouveau noyau est installé, ce qui lui permet de copier les paramètres du noyau du noyau par défaut actuel. Définition des paramètres de noyau par défaut pour les noyaux installés futurs est donc effectué en modifiant l'entrée pour le noyau par défaut dans grub.cfg.

Si vous n'êtes pas automatisé cela, vous pouvez simplement modifier grub.cfg manuellement et changer toutes les entrées de noyau actuelles. Cependant, vous pouvez utiliser grubby pour modifier grub.cfg Afin d'éviter de l'analyser ou d'écrire des expressions régulières. Par exemple, cela supprimera les paramètres rhgb et quiet de la version de noyau spécifiée.

# grubby --update-kernel=/boot/vmlinuz-2.6.32-220.13.1.el6.x86_64 --remove-args="rhgb quiet"

Il ne semble pas y avoir une option pour répertorier les noyaux actuellement configurés, vous devrez donc vous découvrir ces autres. Une option est de simplement rechercher vmlinuz fichiers dans /boot/:

#!/bin/sh
for KERNEL in /boot/vmlinuz-*; do
    grubby --update-kernel="$KERNEL" --remove-args="rhgb quiet"
done
13
mgorven

Nous avons trouvé une solution pour Centos! miam utilise Grubby lui-même! (Strace, merci!) Grubby a l'option "-Copy-défaut" et je pense que miam court à Grubby avec elle. Donc, seule vous devriez faire est d'ajouter dans Grub.Conf toutes les options du noyau dont vous avez besoin pour le noyau par défaut actuel et redémarrer. Après redémarrage, vous pouvez installer un nouveau noyau!

1
user146279