RHEL、Fedora、CentOSシステムの「update-grub」に対応するものは何ですか?

RHEL、Fedora、CentOSシステムの「update-grub」に対応するものは何ですか?

存在するUbuntu(おそらくダーバンupdate-grubまた、GRUB設定ファイルの正しいパスで自動的に実行されるシステムスクリプトがあります。grub-mkconfig -o

Red Hatベースのディストリビューションに同様のコマンドがありますか?

そうでない場合、新しいカーネルバージョンがインストールされたら、システムはGRUB構成ファイルを更新する場所をどのように知ることができますか?

答え1

Fedoraでスクリプトを分析した後、設定ファイルのパスがシンボリックリンクから読み取られることに気づきました/etc/grub2.conf。正しいgrub2-mkconfig行は次のとおりです。

grub2-mkconfig -o "$(readlink -e /etc/grub2.conf)"

コメントで指摘したように、UEFIシステムに存在している可能性/etc/grub2.cfgがあります。/etc/grub2-efi.cfg実際、2つのリンクが同時に存在することができ、別の場所を指す。ターゲットファイルはありませんが、私のシステムに両方が存在する場合、フラグにエラーが発生します。コマンドを確認してください-ereadlink

答え2

RPMパッケージをインストールまたは削除するときに必要な特定のタスクが含まれています。RPMパッケージからこれらの項目は、インストール前、インストール後、アンインストール前、およびアンインストール後のセクションにあります。

インストールされている各RPMパッケージに対してRPMデータベースを照会して、コマンドに含まれている正確なスクリプトを取得できますrpm

rpm -q --scripts <package-name>

CentOS 6カーネルパッケージでこのコマンドを実行すると、次の結果が返されます。

postinstall scriptlet (using /bin/sh):
<snip>
/sbin/new-kernel-pkg --package kernel --install 2.6.32-431.17.1.el6.x86_64 || exit $?

マニュアルから:

new-kernel-package- カーネルインストールスクリプト作成ツール

答え3

Fedora では、以下を使用します。

grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"

実行時にオプションがないため、相対readlinkパスを返し、grub2-mkconfigエラーが発生します。

$ ls -l /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Dec 10  2015 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

$ readlink /etc/grub2.cfg
../boot/grub2/grub.cfg

$ sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)"
/usr/sbin/grub2-mkconfig: line 244: ../boot/grub2/grub.cfg.new: No such file or directory

-e存在するファイルへのシンボリックリンクを確認できない場合は、出力がstdoutに表示され、問題があることを確認するためにこのオプションを使用します。

読み取りリンクのマニュアルページから:

      -e, --canonicalize-existing
          canonicalize  by  following  every symlink in every component of
          the given name recursively, all components must exist

答え4

~によるとRed Hat ドキュメント:

以下のように変更後にファイルを/etc/default/grub再構築する必要があります。grub.cfg

  • BIOS ベースのコンピュータで、root として次のコマンドを実行します。

    ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

  • UEFI ベースのコンピュータで、root として次のコマンドを実行します。

    ~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

関連情報