업데이트 중에 종료를 예약하면 어떻게 되나요?

업데이트 중에 종료를 예약하면 어떻게 되나요?

지난 밤에 CentOS 6을 업데이트했는데 꽤 큰 업데이트였습니다. 다운로드를 완료하기로 결정했을 때 프로세스는 다운로드를 완료하기까지 몇 개의 패키지만 남았습니다. 그래서 60분 셧다운을 예약하고 떠났습니다.

오늘 아침에 시스템을 확인해 보니 시스템이 다운되어 있었습니다. 약간의 문제가 발생했습니다(예상했던 것입니다). 단지 로그를 볼 때 yum 로그의 끝 부분을 업데이트하는 데 예상보다 시간이 더 오래 걸리는 것 같았습니다.

이것을 발견했을 때 yum update를 다시 실행했습니다. 모든 것이 최신 상태입니다. 또 다른 질문은,

깔끔하게 마무리됐나요? 어떻게 확인하나요?

답변1

때로는 기계가 손상될 수 있습니다. 이는 알려진 문제입니다.

변경사항으로 수정되었어야 합니다 systemd. ~에 따르면

CentOS 6이 실행되고 있지 않습니다 systemd. 따라서 컴퓨터에 문제가 있을 수 있습니다.

답변2

이상적으로 업데이트는멱등성(동일한 업데이트를 여러 번 실행하면 한 번 실행한 것과 동일한 결과를 얻게 됩니다.)탄력있는(재부팅으로 인해 업데이트가 중단된 경우, 재부팅 후 업데이트를 재개할 수 있습니다.) 그런데 업데이트가 안되네요원자(반쯤 업데이트된 시스템 상태).

실제로는 멱등성이 작동합니다. 중단된 경우 (오류, + 누르기 , 예약된 재시작, 정전 등 yum update으로 인해 ) 시스템을 다시 시작한 후 다시 실행하고 완료될 때까지 기다리십시오.CtrlCyum update

실제로는 탄력성대개효율적인. 패키지 관리자는 먼저 임시 이름으로 새 버전의 파일 압축을 푼 다음 이전 파일을 새 파일로 바꿉니다. 가장 긴 단계(압축 해제, 많은 디스크 쓰기가 필요함) 동안 업데이트가 중단되는 경우 시스템 상태는 크게 변경되지 않으므로 손상이 발생하지 않습니다. 교체 단계에서 업데이트가 중단되면 상황이 더 복잡해집니다. 업데이트 중인 소프트웨어는 서로 다른 파일 간의 버전 불일치로 인해 사용할 수 없게 될 수 있습니다.

대부분의 중요한 소프트웨어 패키지는 파일별로 업데이트되거나 시스템이 계속 실행되도록 구성 단계를 적절한 순서로 수행할 수 있습니다. 예를 들어 rpm단일 바이너리로 구성되므로 이전 바이너리나 새 바이너리를 얻을 수 있습니다. 커널도 마찬가지입니다. 그러나 수천 개의 패키지, 수십만 개의 파일 및 파일 시스템 수준 쓰기 재정렬의 엄청난 잠재력으로 인해 조합 수학은 매우 높으며 모든 것을 테스트하는 것은 불가능합니다. 따라서 업데이트 프로세스가 중단되면 시스템이 제대로 시작되지 않을 수 있습니다. 그러나 이것은 거의 발생하지 않습니다(물론 버그가 없는 한).

답변3

CentOS에서는 이 파일에 /var/log/yum.log마지막 패키지 업그레이드 시간이 포함되어야 합니다. 내 CentOS의 예를 들면 다음과 같습니다(현재 CentOS 7을 실행하고 있지만 파일은 동일한 위치에 있음).

# tail -n 3 /var/log/yum.log
Jun 28 17:10:04 Updated: 1:mariadb-libs-5.5.47-1.el7_2.x86_64
Jun 28 17:10:05 Updated: graphite2-1.3.6-1.el7_2.x86_64
Jun 28 17:10:05 Updated: zsh-5.0.2-14.el7_2.2.x86_64

yum update(예, 한동안 뛰지 않았습니다)

messages그런 다음 이를 종료에 대한 시스템 로그와 비교할 수 있습니다 . Syslog는 로그를 회전하므로 messages-20160807plain 대신 이와 같은 내용이 표시될 수 있습니다 messages. 그것도 확인하세요. 예를 들어:

# egrep -i 'stopped|shut' /var/log/messages*
/var/log/messages-20160731:Jul 24 23:55:55 orion systemd: Stopped target Multi-User System.
/var/log/messages-20160731:Jul 24 23:55:55 orion systemd: Stopped Resets System Activity Logs.
/var/log/messages-20160731:Jul 24 23:55:57 orion systemd: Stopped Permit User Sessions.
/var/log/messages-20160731:Jul 24 23:55:57 orion systemd: Stopped target Remote File Systems.
/var/log/messages-20160731:Jul 24 23:56:33 orion systemd[1]: Listening on Delayed Shutdown Socket.
/var/log/messages-20160731:Jul 24 23:56:33 orion systemd[1]: Starting Delayed Shutdown Socket.

systemd(CentOS 6 에는 메시지가 없지만 관련 내용이 인쇄됩니다.)

/etc/rsyslog.conf/shutdown의 구성에 따라 /etc/syslog.conf기록되지 않을 수도 있지만 시스템에 장애가 발생하면 반드시 기록되는 내용이 있습니다. 따라서 검색은 stopped|shut언제 상황이 악화되기 시작하는지 확인하는 좋은 휴리스틱입니다.

yum두 로그의 타임스탬프를 비교하면 시스템이 충돌하기 전에 작업을 완료했는지 여부를 알 수 있습니다 .

관련 정보