Lubuntu 18.04에서 소프트웨어 업데이터는 때때로 사용 가능한 업데이트를 알려줍니다. 시간이 있으면 수동으로 실행하겠습니다 sudo apt update; sudo apt upgrade
.
업데이트와 업그레이드가 자동으로 이루어지도록 고려하고 있습니다. 소프트웨어를 자동으로 업데이트하고 업그레이드하는 데 단점이 있습니까? 편리함이 단점보다 더 중요합니까?
소프트웨어가 자동으로 업데이트 및 업그레이드되는 경우 어떤 방법이 더 낫습니까?
- Software Updater의 설정을 변경하거나
- anacron 일일 루틴을 만드시겠습니까
apt update; apt upgrade
?
감사해요.
답변1
프로덕션 시스템에서는 서비스/시스템의 중요도와 고가용성 설정 방법에 따라 다음을 수행할 수 있습니다.예약된/무인 자동 업그레이드를 원하지 않을 수 있음.
수년에 걸쳐 자동화된 업그레이드를 수행하는 사람들로 인해 서비스가 여러 번 중단되는 것을 보았습니다.
- 새로 업그레이드된 마이너 버전의 구문이 약간 다르기 때문에 Squid는 폐기됩니다.
- 동적 라우팅 데몬이 마이너 버전에서 sysV 지원을 중단했기 때문에 DNS 서비스 실행이 중단되었습니다.
- 테스트된 패키지의 디스크 공간 부족으로 인해 Apache 서비스가 다운되었습니다.
- 기본 파일을 다시 생성하는 업데이트로 인해 Apache가 다시 시작되지 않습니다...
- Apache가 다시 시작되지만 업데이트는 사이트의 홈페이지를 Apache 기본 페이지로 대체합니다.
- 마이너 버전의 버그로 인해 DHCP 서비스가 실패합니다.
- 누군가 패키지의 공식 바이너리 대신 컴파일된 바이너리를 배치했기 때문에 Netflow 서비스가 며칠 동안 다운되었습니다.
- rsyslog가 일부 구문을 변경했고 누군가 자신이 수행 중인 작업을 이해하지 못한 채 백포트 저장소를 설정했기 때문에 rsyslog가 종료됩니다.
- FreeRadius 서비스는 테스트되지 않은 버전이 로컬 저장소에 푸시되고 자동 업그레이드로 Radius를 설정한 것으로 알려진 사람이 없으면 종료됩니다.
또한 맹목적으로 주요 버전 업그레이드를 수행하면 소프트웨어와 버전 간의 소프트웨어/응용 프로그램 비호환 문제가 발생할 수 있습니다.
@panki도 올바르게 지적했듯이 일반적으로 소프트웨어를 맹목적으로 업그레이드할 수 없으며 업그레이드할 때 더 짧거나 긴 중단을 도입할 수 없으며, 더 나쁘게는 업그레이드(또는 큰) 문제 중에 발생한 작은 문제를 누군가가 수정할 때까지 긴 중단이 발생할 수 있습니다.
데스크탑/홈 서버 설정에서는 자동 업그레이드가 흥미로울 수 있지만 프로덕션 시스템에 가져오는 불안정성 절충으로 인해 이를 사용하는 것이 정당화되지 않습니다. 제 생각에는 이것이 작동하는 동안에는 많은 문제를 해결해 주는 것처럼 보이지만, 실패하면 예측할 수 없는 방식으로 실제로 실패하게 되는 것 중 하나라고 생각합니다.
업그레이드 수명주기를 완화/관리하는 방법으로는 가동 시간 요구 사항/인프라 규모에 따라 사용할 수 있는 여러 전략이 있습니다.
- 수동으로 수행하십시오.
- 프로세스를 감독하는 사람과 함께 반자동으로 수행됩니다.
- 모든 서비스를 모니터링하고 프로세스를 감독하며, 모든 업그레이드 로그를 수정한 후 서비스 모니터링에 세심한 주의를 기울이는 인력
- 맹목적으로 진행하기보다는 어떤 업그레이드가 중요하고 어떤 업그레이드가 중요하지 않은지 계획을 세우십시오.
- 중복 시스템에서 다양한 버전의 Linux 사용(더 많은 작업과 발생할 수 있는 더 많은 문제...)
- 서비스 중복성/테스트 베드를 사용하고 단계적 업그레이드를 수행합니다.
- 예를 들어, yum에서 지원하는 특정 시점 "북마크" 버전을 사용하세요.
- Satellite/Katello/Spacewalk와 유사하게 제어/테스트/승인된 릴리스를 배포하려면 로컬 저장소/에이전트를 사용하거나적절하게데비안의 경우;
- 이러한 정책을 Ansible과 같은 DevOps 도구와 통합하세요.
또한 프로덕션 시스템에서 자신이 소유하지 않은 시스템을 관리할 때 업데이트하기 전에 소유자에게 허가를 요청하는 관료적 문제도 처리해야 할 수도 있습니다.그들의 시스템이므로 자동 업데이트 서비스를 활성 상태로 유지할 수 없습니다.
TDLR 프로덕션 환경에서 운영 체제 업그레이드 수명주기를 관리하는 것은 결코 간단하지 않습니다. 운영체제 업그레이드 라이프사이클에는 운용성, 시스템, 버전 관리, 보안, 인력, 애플리케이션 등 다양한 관점이 있습니다.
질문의 특정 부분으로 돌아가서, 자동화된 프로그램을 보유하는 것은 아마도 높은 가동 시간/높은 신뢰성이 필요할 때 최선의 솔루션이 아닐 것입니다.
PS. 관련, 데비안용
적절하게이는 데비안 리포지토리 관리의 만능 무기입니다. 이를 통해 원격 리포지토리 미러링, 로컬 패키지 리포지토리 관리, 스냅샷 찍기, 새 버전의 패키지 및 종속성 추출, 데비안 리포지토리로 게시 등을 수행할 수 있습니다.
답변2
소프트웨어 업데이트로 인해 시스템이 손상될 수 있습니다. 중요한 일을 할 때 이런 일이 일어나기를 원하시나요?
보안 업데이트를 설치하지 않았기 때문에 누군가가 시스템을 해킹할 수 있습니다.