커널을 업데이트하려면 재부팅이 필요합니까?

커널을 업데이트하려면 재부팅이 필요합니까?

CentOS에서 cPanel(최신 버전)을 실행하는 서버를 실행하고 있으며 yum을 사용하여 자동으로 업데이트되도록 설정했습니다. 커널(및 기타 사항)을 업데이트하려면 재부팅이 필요하므로 재부팅이 필요한지 확인할 수 있는 방법이 있는지 궁금합니다.

편집하다:서버는 OpenVZ에서 실행되는 VPS입니다. OpenVZ의 작동 방식으로 인해 둘 다 작동 /boot/vmlinuz하지 않습니다 yum list installed kernel.

답변1

다음 bash 스크립트를 시도해 볼 수 있습니다이 답변서버 장애로 인해.

#!/bin/bash
LAST_KERNEL=$(rpm -q --last kernel | perl -pe 's/^kernel-(\S+).*/$1/' | head -1)
CURRENT_KERNEL=$(uname -r)

test $LAST_KERNEL = $CURRENT_KERNEL || echo REBOOT

답변2

먼저 실행 중인 커널 버전을 인쇄합니다.

# uname -r
2.6.32-71.29.1.el6.i686

좋습니다. 다음을 패치해야 합니다.

# 냠 업데이트 커널*

kexec 도구를 다운로드하세요.

# 냠 설치 kexec-tools

이제 마지막으로 설치된 커널 버전을 가져와서 var에 넣습니다.

#latestkernel=`ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g"|head-n1`

# 에코 $latestkernel
2.6.32-220.4.1.el6.i686

이제 새 커널 버전을 메모리에 로드해야 합니다.

# kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`"

마지막으로 재설정 명령을 실행할 수 있습니다.

# kexec -e

..그리고..와우, 시스템이 사라졌어요! ..글쎄, 꼭 그렇지는 않습니다.

시스템은 "재부팅 없이 재부팅"됩니다...BIOS 확인을 수행하지 않고 빠른 재부팅과 유사합니다(그리고 전체 시스템 재부팅이 얼마나 오래 지속될 수 있는지 알고 있습니다).

# uname -r
2.6.32-220.4.1.el6.i686

효율적인!

  • 커널 재설정은 연결 재설정도 수행하여 동시에 가동 시간을 재설정하므로 보안이 패치되는 동안 가동 시간 기록을 부여하는 것을 찾고 있다면 이는 적합하지 않습니다.

관련 정보