Linux

如何在 CentOS 中為所有現有和未來的核心設置預設核心參數?

  • November 25, 2014

我想刪除在 CentOS 6 中啟動核心時預設使用的rhgbquiet核心參數,但我希望這適用於所有目前安裝的核心以及將來安裝的任何核心。我需要從腳本中執行此操作,因此手動編輯文件不是一種選擇,任何文件更改都應盡可能乾淨地完成。

在 Debian/UbuntuGRUB_CMDLINE_LINUX_DEFAULT中,我會更改/etc/default/grub並執行update-grub. 但是我找不到這樣的設置,/etc/sysconfig/grub/etc/sysconfig/kernel沒有update-grub腳本。

在 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

引用自:https://serverfault.com/questions/405558