linux – 如何在CentOS中为所有现有和未来的内核设置默认内核参数?

我想删除在CentOS 6中引导内核时默认使用的rhgb和quiet内核参数,但我希望这适用于所有当前安装的内核以及将来安装的所有内核.我需要从脚本执行此操作,因此手动编辑文件不是一个选项,任何文件更改都应尽可能干净地完成.

在Debian / Ubuntu中,我将在/ etc / default / grub中更改GRUB_CMDLINE_LINUX_DEFAULT,然后运行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"

似乎没有列出当前配置的内核的选项,因此您必须以另一种方式发现这些内容.一种选择是在/ boot /中查找vmlinuz文件:

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

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...