일반적으로 프로덕션 서버에서 "apt-get upgrade"(안정성 측면에서)를 실행하는 것이 안전합니까?


18

필자는 종종 Ubuntu 12.04.2 서버 (Postgres 9.2.4에서 라이브 프로덕션 데이터로 실행)에 로그인하여 다음과 유사한 것을 보았습니다.

4 packages can be updated.
4 updates are security updates.

물론 이것은 며칠마다 발생합니다. 자동 업데이트에는 관심이 없지만 (자고있을 때 변경할 수있는 것이 적을수록 좋습니다.) 항상 서버를 최신 상태로 유지하는 데 관심이 있으니 질문은 다음과 같습니다. 즉, 항상 달리기가 안전하다고 생각됩니까 apt-get upgrade, 아니면 물건을 깰 수있는 시간이 있습니까? 패치가 항상 완벽한 것은 아니라는 점을 이해합니다 (따라서 제목에 인용 된 "항상"). 그러나 일반적으로이를 실행하는 것이 안전하다고 가정합니다 (예 : 데이터베이스 서버와 Nginx를 통해 CSS 파일을 제공하는 것) )?

답변:


9

일반적으로 그렇습니다. 안전합니다. 중요한 패키지 (Postgres, Nginx 등)의 경우 패키지가 업데이트되지 않도록 특정 버전으로 고정하는 것이 좋습니다. 예를 들어 Postgres는 업데이트 될 때 데이터베이스 서버를 다시 시작합니다. 계획된 다운 타임을 예약 할 수 있습니다.

즉, 스테이징 서버에서 프로덕션으로 승격시키기 전에 항상 스테이징 서버에서 업그레이드를 테스트하는 것이 가장 좋습니다. 따라서 배치 프로세스에 추가하는 것을 고려해야합니다.


1
커널 업그레이드가있는 경우 재부팅하십시오. 응급 상황에 개입하지 않아도 서버를 찾는 것보다 더 나쁜 것은 없습니다.
Sirex

"업데이트되지 않도록 패키지를 특정 버전으로 고정하는 것이 좋습니다."어떻게?
vcardillo

1
@vcardillo "apt pinning"에 대해 Google 검색을하십시오.
EEAA

5

적성은 명령을 쉽게 기억할 수 있습니다 aptitude safe-upgrade대를 aptitude full-upgrade. apt-listchanges업데이트 된 패키지의 변경 사항 및 업그레이드 취소 옵션에 대한 정보가 제공되도록 설치하는 것이 좋습니다 .


4

예, 아니오 대부분의 응용 프로그램은 정상이지만 일부 응용 프로그램은 업그레이드하기에 너무 만족스럽지 않을 수 있습니다.

1.6.29에서 1.6.30까지 java를 사용하는 응용 프로그램이 응용 프로그램을 중단시키는 예제를 보았습니다. 또한 mysql이 5.0.X 5.0.X + 1 사이에서 깨지는 것을 보았습니다 (여기서 정확한 숫자는 기억하지 마십시오).

시스템 응용 프로그램은 대부분 정상이지만 서버가 실제로 제공하는 응용 프로그램의 릴리스 정보를주의해서 읽어야합니다.

nginx 변경 사항을 읽고 특정 설정에 영향을 줄 수있는 변경 사항이 있는지 이해하십시오. 응용 프로그램을 많이 사용할수록 더 쉽게 끊을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.