CentOS 6でカーネルを起動するときにデフォルトで使用されるrhgb
およびquiet
カーネルパラメーターを削除したいのですが、これを現在インストールされているすべてのカーネルに適用するだけでなく、将来インストールされるカーネル。スクリプトからこれを行う必要があるので、ファイルを手動で編集することはできません。ファイルの変更はできるだけきれいに行う必要があります。
Debian/Ubuntuでは、GRUB_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"
ただし、現在構成されているカーネルを一覧表示するオプションはないようです。そのため、これらを別の方法で発見する必要があります。 1つのオプションは、/boot/
でvmlinuz
ファイルを検索することです。
#!/bin/sh
for KERNEL in /boot/vmlinuz-*; do
grubby --update-kernel="$KERNEL" --remove-args="rhgb quiet"
done
CentOSのソリューションを見つけました! yumはgrubby自体を使用します! (strace、ありがとう!)grubbyにはオプション「--copy-default」があり、yumはそれでgrubbyを実行すると思います。したがって、あなたがすべきことは、現在のデフォルトのカーネルに必要なすべてのカーネルオプションをgrub.confに追加して再起動することだけです。再起動後、新しいカーネルをインストールできます!