grub.cfgを更新せずにyumを使用して新しいカーネルパッケージをインストールできますか?

grub.cfgを更新せずにyumを使用して新しいカーネルパッケージをインストールできますか?

ローカルディレクトリからインストールする必要がある49rpmパッケージがあります。そのうちの1つは、rpmファイルのリストを渡すのではなく、すべての依存関係を管理するためにkernel-4.9.135 使用したいと思います。yumrpm

grub.cfgまた、このプロセスで触れたくない非常にカスタマイズされたファイルもあります。

カーネルパッケージのインストール時に実行されるスクリプトを確認しました。

# rpm -qp --scripts ./kernel-4.9.135-1.x86_64.rpm 
postinstall scriptlet (using /bin/sh):
if [ -x /sbin/installkernel -a -r /boot/vmlinuz-4.9.135 -a -r /boot/System.map-4.9.135 ]; then
cp /boot/vmlinuz-4.9.135 /boot/.vmlinuz-4.9.135-rpm
cp /boot/System.map-4.9.135 /boot/.System.map-4.9.135-rpm
rm -f /boot/vmlinuz-4.9.135 /boot/System.map-4.9.135
/sbin/installkernel 4.9.135 /boot/.vmlinuz-4.9.135-rpm /boot/.System.map-4.9.135-rpm
rm -f /boot/.vmlinuz-4.9.135-rpm /boot/.System.map-4.9.135-rpm
fi
...

installkernel次のコンテンツが含まれています。

if [ -n "$cfgLoader" ] && [ -x /sbin/new-kernel-pkg ]; then
if [ -n "$(which dracut 2>/dev/null)" ]; then
    new-kernel-pkg --mkinitrd --dracut --host-only --depmod --install --kernel-name $KERNEL_NAME $KERNEL_VERSION
else
    new-kernel-pkg --mkinitrd --depmod --install --kernel-name $KERNEL_NAME $KERNEL_VERSION
fi
new-kernel-pkg --rpmposttrans --kernel-name $KERNEL_NAME $KERNEL_VERSION
fi

私のファイルを更新するためにnew-kernel-pkg使用されました。grubbygrub.cfg

すべてのパッケージを一度にインストールするときにrpmyumとカーネルrpmを変更しないように指示する方法はありますか?grub.cfgyum install

grub.cfg解決策は、現在の内容を横にコピーし、yum作業が終わったら再コピーすることですが、とにかく質問をしなければならないと思いました。

答え1

あなたのヒントはgrub.conf効果的なソリューションです。次のいずれかの方法を適用することもできます。

  1. カーネルrpmパッケージをダウンロードし、パッケージの構成中に、...を実行してパッケージを構成するスクリプトを無視するパラメータを指定してyumdownloaderカーネルパッケージをインストールします。直接話す方法はありません。--noscriptsprerunpostrun--noscriptsyum
  2. grub.conf新しいカーネルを介してインストール後に維持するには、カーネルに属する現在のメニュー項目をコピーして実行権限()を設定解除するyum必要があります(このスクリプトはディレクトリから新しいカーネルとinitramfsファイルを検索してメニュー項目を生成します)。 。このステップの後、ビルドを実行しようとするすべての試行は、カスタム構成ファイルに含まれているメニュー項目のみを返します。grub.conf/etc/grub.d/40_customchmod a-x/etc/grub.d/30_probe_os/bootgrub.confgrub.confgrub2-mkconfig/etc/grub.d/40_custom

関連情報