ローカルディレクトリからインストールする必要がある49rpmパッケージがあります。そのうちの1つは、rpmファイルのリストを渡すのではなく、すべての依存関係を管理するためにkernel-4.9.135
使用したいと思います。yum
rpm
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
使用されました。grubby
grub.cfg
すべてのパッケージを一度にインストールするときにrpmyum
とカーネルrpmを変更しないように指示する方法はありますか?grub.cfg
yum install
grub.cfg
解決策は、現在の内容を横にコピーし、yum
作業が終わったら再コピーすることですが、とにかく質問をしなければならないと思いました。
答え1
あなたのヒントはgrub.conf
効果的なソリューションです。次のいずれかの方法を適用することもできます。
- カーネルrpmパッケージをダウンロードし、パッケージの構成中に、...を実行してパッケージを構成するスクリプトを無視するパラメータを指定して
yumdownloader
カーネルパッケージをインストールします。直接話す方法はありません。--noscripts
prerun
postrun
--noscripts
yum
grub.conf
新しいカーネルを介してインストール後に維持するには、カーネルに属する現在のメニュー項目をコピーして実行権限()を設定解除するyum
必要があります(このスクリプトはディレクトリから新しいカーネルとinitramfsファイルを検索してメニュー項目を生成します)。 。このステップの後、ビルドを実行しようとするすべての試行は、カスタム構成ファイルに含まれているメニュー項目のみを返します。grub.conf
/etc/grub.d/40_custom
chmod a-x
/etc/grub.d/30_probe_os
/boot
grub.conf
grub.conf
grub2-mkconfig
/etc/grub.d/40_custom