grub.cfg를 업데이트하지 않고 yum을 사용하여 새 커널 패키지를 설치할 수 있습니까?

grub.cfg를 업데이트하지 않고 yum을 사용하여 새 커널 패키지를 설치할 수 있습니까?

로컬 디렉터리에서 설치해야 하는 49rpm 패키지가 있습니다. 그 중 하나는 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

모든 패키지를 한 번에 설치할 때 rpm yum과 커널 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

관련 정보