저는 서버(debian 7)를 사용하고 있으며 현재 새로운 업그레이드가 가능할 때 이메일을 보내기 위해 cron-apt를 실행하고 있습니다.
새로운 업그레이드가 표시되면 다음 명령을 실행해도 안전합니까?
sudo apt-get dist-upgrade
업그레이드하기 전에 확인해야 할 사항이 있나요?
단순히 이메일을 받을 때마다 모든 것을 업그레이드하는 것만으로도 실패할 수 있다는 걱정이 듭니다.
답변1
이를 수행하는 패키지가 있습니다 ;-).
또한cron-apt
특정 업그레이드를 자동으로 수행하도록 구성할 수 있는 또 다른 유용한 패키지는 다음과 같습니다.unattended-upgrades
보안 업데이트를 자동으로 안전하게 적용하도록 설계되었습니다.
그 외에도 다음과 같이엘라실자동으로 실행한다고 말하는 것은 안전하지 않지만 dist-upgrade
, 맹목적으로 "예"라고 대답하지 않는 한 무언가를 업그레이드해야 할 때마다 수동으로 실행하는 것은 충분히 안전합니다.
답변2
sudo apt-get dist-upgrade
시스템에 아무 작업도 수행하지 않지만 중지하고 확인을 요청하므로 실행하는 것이 매우 안전합니다.) -y
무인 업그레이드용으로 설계된 스위치를 추가해야 하며 문제에 대해 항상 "예"라고 대답한다고 가정하게 만듭니다 sudo apt-get -y dist-upgrade
. 매뉴얼 페이지 상태
예약된 패키지 변경, 인증되지 않은 패키지 설치 시도 또는 중요한 패키지 제거와 같은 문제가 발생하면 apt-get이 중단됩니다.
그러나 dist-upgrade를 무인으로 실행하는 데는 항상 위험이 있으므로 이를 피하는 것이 좋습니다.
-s
다음과 같은 스위치를 추가하여 apt가 수행하는 작업을 항상 확인할 수 있습니다 sudo apt-get -s dist-upgrade
. 이는 변경 사항이 적용되지 않는 에뮬레이션 모드로 전환되며 apt가 시스템에 수행하는 모든 변경 사항을 안전하게 볼 수 있습니다.
apt를 실행하는 좀 더 보수적인 모드, 즉 apt-get upgrade
apt-get의 매뉴얼 페이지에서는 이것이 수행하는 작업을 매우 명확하게 설명합니다.
현재 설치된 패키지를 검색하여 사용 가능한 새 버전으로 업그레이드하면 어떤 경우에도 현재 설치된 패키지가 제거되지 않으며 아직 설치되지 않은 패키지도 검색 및 설치되지 않습니다. 다른 패키지의 설치 상태를 변경하지 않고는 업그레이드할 수 없는 현재 설치된 패키지의 새 버전은 현재 버전을 유지합니다.
내 원래 답변에서는 cron을 통해 dist-upgrade를 실행할 것이라고 가정했지만, 좀 더 자세히 읽어본 후에는 그렇지 않은 것 같습니다. 그러나 관련 단락을 일반적인 의견으로 남겨 둡니다.
cron을 통해 실행하는 것은 권장되지 않습니다 sudo apt-get -y dist-upgrade
. 특히 적절한 소스가 테스트 브랜치를 가리키는 경우(일반적으로 서버, 특히 프로덕션 환경에서는 발생하지 않아야 함) 시스템을 사용할 수 없게 될 수 있기 때문입니다. 데비안의 안정 버전을 사용하고 있다면 비교적 안전하지만 그래도 업그레이드를 권장합니다.
그럼에도 불구하고 주요 변경을 수행하는 배포 업그레이드를 수행하는 경우 항상 백업이 있어야 합니다. 혹시라도.