Yum은 실행 중에 바이너리를 안전하게 업그레이드할 수 있는 방식으로 설계되었습니까(또는 기본 시스템입니까)? 예를 들어, MySQL 5.5가 있고 yum -y install mysql56-server
MySQL 5.6으로 업그레이드하려고 실행하면 일반적으로 불평하지 않습니다. 그렇게 해도 괜찮다는 뜻인가요? 필요한 라이브러리나 바이너리가 이미 프로세스의 메모리 컨텍스트에 로드되어 있습니까?
답변1
패키지를 업그레이드하면 현재 상태가 변경됩니다.디스크, 그러나 현재 내용은 변경되지 않습니다.기억 속에이미. 새 버전의 바이너리를 로드하려면 서비스를 다시 시작해야 합니다.
괜찮은지 여부는 응용 프로그램에 따라 다릅니다. 아직 로드하지 않은 어느 시점에 라이브러리를 동적으로 로드하려고 시도합니까? 그 도서관이 아직도 존재할까요? 라이브러리가 어떤 방식으로 변경되어 더 이상 작동하지 않게 됩니까?
신경 쓰이는 것(mysql 같은)이라면 안전하지 않을 이유가 생각나지 않고 패키지를 업데이트하기 전에 멈춰야 한다. 업데이트는 어쨌든 다시 시작될 때까지 실행 중인 프로세스에 영향을 미치지 않으므로 서비스를 중단하지 않아도 되는 것과는 다릅니다.
답변2
일반적으로 업데이트가 작동하는 방식은 파일의 새 버전을 삭제하고 다시 설치하는 것입니다. 표준 UNIX/Linux에 따라 삭제된 파일은 해당 파일의 열려 있는 모든 인스턴스가 닫힐 때까지 반드시 제거되지는 않습니다. 업데이트되는 바이너리를 실행하는 것(공유 라이브러리에 주의)은 영향을 받지 않아야 합니다.
이렇게 말하지만.....하지만 무결성이 조금이라도 걱정된다면 업그레이드하기 전에 관련된 중요한 작업과 프로그램을 중지하겠습니다.
정말로 대비하고 싶다면 어떤 경우에도 백업을 준비하십시오.