В Debian / Ubuntu grub.cfg
полностью генерируется сценариями, и любые внесенные в него ручные изменения будут заблокированы. В RHEL / CentOS, однако, grub.cfg
модифицируется скриптами, но ручные изменения сохраняются и фактически являются каноническим местом для определенных настроек.
Инструмент , который управляет grub.cfg
это grubby
, который вызывается /sbin/new-kernel-pkg
при установке или удалении ядра. --copy-default
Параметр передается grubby
при установке нового ядра, что приводит к его копировать параметры ядра из текущего ядра по умолчанию. Поэтому установка параметров ядра по умолчанию для установленных в будущем ядер выполняется путем редактирования записи для ядра по умолчанию в grub.cfg
.
Если вы не автоматизировали это, вы можете просто отредактировать grub.cfg
вручную и изменить все текущие записи ядра. Однако вы можете использовать его grubby
для модификации grub.cfg
, чтобы избежать его анализа или написания регулярных выражений. Например, это приведет к удалению rhgb
и quiet
параметров из указанной версии ядра.
# grubby --update-kernel=/boot/vmlinuz-2.6.32-220.13.1.el6.x86_64 --remove-args="rhgb quiet"
Однако, похоже, нет возможности перечислить настроенные в настоящее время ядра, поэтому вам придется открыть их другим способом. Один из вариантов - просто искать vmlinuz
файлы в /boot/
:
#!/bin/sh
for KERNEL in /boot/vmlinuz-*; do
grubby --update-kernel="$KERNEL" --remove-args="rhgb quiet"
done
ALL
.grubby --update-kernel=ALL --remove-args="rhgb quiet"
grub.conf
будут автоматически добавляться к любым обновлениям ядраМы нашли решение для CentOS! ням использует грязный сам! (strace, спасибо!) У grubby есть опция "--copy-default", и я думаю, что yum запускает grubby с ней. Поэтому единственное, что вам нужно сделать, это добавить в grub.conf все необходимые параметры ядра для текущего ядра по умолчанию и перезагрузиться. После перезагрузки вы можете установить новое ядро!
источник