我想删除在 CentOS 6 中启动内核时默认使用的rhgb
和quiet
内核参数,但我希望这适用于所有当前安装的内核以及将来安装的任何内核。我需要从脚本执行此操作,因此手动编辑文件不是一种选择,任何文件更改都应尽可能干净地完成。
在 Debian/Ubuntu 中,我会更改GRUB_CMDLINE_LINUX_DEFAULT
in/etc/default/grub
然后运行update-grub
. /etc/sysconfig/grub
我在or中找不到这样的设置/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
但是,似乎没有列出当前配置的内核的选项,因此您必须以其他方式发现这些内核。一种选择是仅
vmlinuz
在以下位置查找文件/boot/
:我们找到了 CentOS 的解决方案!yum 使用 grubby 本身!(strace,谢谢!)grubby 有选项“--copy-default”,我认为 yum 可以用它运行 grubby。所以你唯一应该做的就是在 grub.conf 中添加你需要的所有内核选项到当前默认内核并重新启动。重启后就可以安装新内核了!