로컬 디렉터리에서 설치해야 하는 49rpm 패키지가 있습니다. 그 중 하나는 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
모든 패키지를 한 번에 설치할 때 rpm yum
과 커널 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