Як встановити параметри ядра за замовчуванням у CentOS для всіх існуючих та майбутніх ядер?


9

Я хотів би видалити параметри rhgbі quietядра, які використовуються за замовчуванням, коли ядро ​​завантажується в CentOS 6, але я хочу, щоб це стосувалося всіх встановлених ядер, а також будь-яких ядер, встановлених у майбутньому. Мені потрібно це зробити зі скрипту, тому редагування файлів вручну - це не варіант, і будь-які зміни файлів повинні бути виконані максимально чисто.

В Debian / Ubuntu Я хотів би змінити GRUB_CMDLINE_LINUX_DEFAULTв , /etc/default/grubа потім запустити update-grub. Я не можу знайти таке налаштування в /etc/sysconfig/grubабо, /etc/sysconfig/kernelоднак, також немає update-grubсценарію.

Відповіді:


13

У 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

5
Ви можете застосувати його до всіх поточних та будь-яких майбутніх ядер, використовуючи ALL. grubby --update-kernel=ALL --remove-args="rhgb quiet"
Бенджаррелл

Якщо у когось іншого виникають проблеми з розшифровкою цього, це говорить про те, що будь-які зміни, внесені в параметри ядра grub.conf, автоматично будуть додані до будь-яких оновлень ядра
ub3rst4r

1

Ми знайшли рішення для CentOS! ням використовує саморобку! (страйк, дякую!) у грубія є опція "--copy-default", і я думаю, що yum працює з цим неприємним. Тож єдине, що вам слід зробити, це додати в grub.conf всі параметри ядра, які вам потрібні, до поточного ядра за замовчуванням та перезавантаження. Після перезавантаження ви можете встановити нове ядро!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.