우리 모두 알고 있듯이 커널 업그레이드(1부 RHEL 7
) 후에 커널 버전을 업데이트하려면 재부팅해야 합니다.
따라서 재부팅 후 다음을 통해 커널 버전을 확인할 수 있습니다.uname -r
커널 업그레이드를 위해 스크립트를 사용하므로
올바른 접근 방식이 무엇인지 확인하고 싶습니다. 커널 업그레이드로 인해 머신을 재부팅해야 합니다.
이 reboot
프로세스는 커널 업그레이드 프로세스 직후에 발생하지 않으며 커널 업그레이드 후 몇 달 후에 발생할 수 있습니다.
RHEL7
따라서 우리는 기계를 다시 시작해야 함 을 나타내는 올바른 확인을 찾기를 바랍니다.
uname -r
한 가지 방법은 아래와 같이 버전별로 확인하고 해당 버전을 설치된 rpm과 비교하는 것입니다.rpm -qa | grep kernel
하지만 더 나은 지침이나 더 나은 검증에 대한 제안을 얻을 수도 있습니다.
답변1
우리 모두 알고 있듯이 커널 업그레이드(RHEL 7) 후 커널 버전을 업데이트하려면 재부팅이 필요합니다.
아니요, 업그레이드되었습니다. 하지만 새 커널을 실행하려면 새 커널을 사용하려면 로드해야 합니다. 리눅스는 아니기 때문에저것좋습니다. 유일한 방법은 재부팅하는 것입니다.
yum
다음과 같은 경우 알려주는 도구가 함께 제공됩니다.어느설치/업그레이드한 항목을 재부팅해야 합니다. 이라고 해서 찾기 쉽습니다 needs-restarting
. -r
의미 있는 반환 코드를 얻으려면 이를 호출하세요 .
1 기술적으로는 새로운 커널로 kexec할 수 있지만 실행 중인 프로세스, 열린 파일, 파일 시스템 네트워크 등은 유지되지 않으므로 결국 손상된 상태가 됩니다.
답변2
/usr/bin/needs-restarting(yum-utils)을 사용하면 이 작업을 수행할 수 있습니다.
(예를 들어, needs-restarting -r || shutdown +5 "Rebooting post patching"
)
Usage:
needs-restarting: Report a list of process ids of programs that started
running before they or some component they use were updated.
Options:
-h, --help show this help message and exit
-u, --useronly show processes for my userid only
-r, --reboothint only report whether a full reboot is required
(exit code 1) or not (exit code 0)
-s, --services list the affected systemd services only