우분투 패키지 업데이트 전 백업과 롤백 준비

업데이트에 앞서 외장 SSD로 백업을 준비하는 AI 생성 이미지

우분투 패키지 업데이트 전 준비가 중요한 이유

리눅스 서버를 운영하다 보면 시스템 보안 유지와 최신 기능 도입을 위해 정기적인 패키지 업데이트가 필수적입니다. 하지만 우분투에서 apt upgradeapt dist-upgrade 명령어를 실행할 때, 의존성 충돌이나 설정 파일 변경, 커널 호환성 문제 등으로 인해 웹서버나 주요 서비스가 정상 작동하지 않는 상황이 발생할 수 있습니다.

이 글에서는 우분투 초보 운영자가 패키지 업데이트를 수행하기 전에 반드시 확인해야 할 사전 백업 방법과, 문제가 생겼을 때 안전하게 복구(롤백)할 수 있는 실무적인 절차를 다룹니다. 사전에 시스템 상태를 보존하는 요령을 익히면 장애 발생 시 대응 시간을 크게 줄일 수 있습니다.

업데이트 전 필수 사전 점검 사항

패키지를 일괄 업그레이드하기 전에는 현재 시스템의 상태와 디스크 여유 공간을 점검해야 합니다. 예기치 않은 중단에 대비하기 위한 첫 단계입니다.

  • 디스크 여유 공간 확인: 백업 파일과 새 패키지 다운로드를 위해 충분한 공간이 필요합니다. df -h 명령어로 확인합니다.
  • 현재 커널 및 서비스 상태 기록: uname -rsystemctl status 명령어로 현재 정상 작동 중인 서비스 목록을 기록해 둡니다.
  • 핵심 설정 파일 백업 대상 선정: /etc 디렉토리 하위의 웹서버, 데이터베이스, 네트워크 설정 파일 위치를 파악합니다.

핵심 설정 파일과 데이터 백업 요령

전체 시스템 이미지 백업이 가장 이상적이지만, 환경에 따라 개별 설정과 데이터만 빠르게 백업하는 것이 효율적일 수 있습니다. 수동 백업을 수행하는 안전한 명령어를 살펴봅니다.

설정 파일들이 모여 있는 /etc 디렉토리는 압축하여 안전한 경로에 보관합니다.

sudo tar -czvf /backup/etc_backup_$(date +%F).tar.gz /etc

데이터베이스나 웹 문서 루트 디렉토리 등 변경 가능성이 큰 데이터도 별도로 백업합니다. 예를 들어 아파치 웹서버의 문서 디렉토리는 다음과 같이 아카이브로 남길 수 있습니다.

sudo tar -czvf /backup/html_backup_$(date +%F).tar.gz /var/www/html

패키지 목록 및 아파트 캐시 활용

우분투 패키지 관리자인 APT는 이전에 다운로드한 패키지 파일을 로컬 캐시에 저장합니다. 네트워크 환경이 불안정하거나 동일한 버전으로 즉시 돌아가야 할 때 이 캐시를 활용하면 유용합니다.

현재 설치된 패키지 목록을 백업하여 나중에 참조할 수 있도록 파일로 저장합니다.

dpkg --get-selections > /backup/installed_packages.txt

이 목록은 시스템이 예기치 않게 망가졌을 때 어떤 패키지가 설치되어 있었는지 확인하는 중요한 기준 자료가 됩니다.

업데이트 후 문제 발생 시 롤백 및 복구 절차

만약 패키지 업데이트 후 특정 서비스가 실행되지 않거나 오류가 발생한다면, 신속하게 원복을 진행해야 합니다. 상황별 롤백 접근법은 다음과 같습니다.

  • 설정 파일 오류: 백업해 둔 타르(tar) 파일에서 문제가 생긴 개별 설정 파일만 원래 경로로 복원합니다.
  • 패키지 다운그레이드: APT 캐시에 이전 버전의 패키지가 남아 있다면 sudo apt install package_name=version 형식으로 이전 버전을 재설치합니다.
  • 커널 부팅 문제: 새 커널로 부팅 후 드라이버 충돌이 발생한다면, 서버 재부팅 시 GRUB 메뉴에서 이전 안정 버전의 커널을 선택하여 부팅합니다.

안전한 업데이트 실행을 위한 체크리스트

실제 서버에서 패키지 업데이트를 진행하기 전, 다음 항목들을 순서대로 점검해 보세요.

  • 업데이트 전 df -h 명령어로 디스크 여유 공간을 확인했는가?
  • /etc 주요 설정 파일과 웹 디렉토리 압축 백업을 완료했는가?
  • 현재 설치된 패키지 목록을 텍스트 파일로 내보냈는가?
  • 서비스 중단 공지가 필요한 환경인지 확인하고 점검 시간을 확보했는가?
  • 업데이트 후 주요 서비스(웹, 데이터베이스 등)의 정상 작동 여부를 확인할 테스트 계획이 있는가?

초보자가 흔히 저지르는 실수

패키지 관리 과정에서 주의해야 할 대표적인 실수는 다음과 같습니다.

  • 백업 없이 대규모 업그레이드 진행: apt dist-upgrade 명령어를 백업 없이 실행했다가 의존성 문제로 시스템이 부팅 불능이 되는 경우입니다. 항상 설정 백업이 먼저입니다.
  • 로그 확인 생략: 업데이트 도중 터미널에 출력된 경고나 오류 메시지를 대충 넘기면, 나중에 서비스가 중단되었을 때 원인 추적이 어려워집니다.
  • 원격 접속 세션에서 무리한 네트워크 패키지 수정: SSH로 원격 접속한 상태에서 네트워크 관련 패키지를 업데이트하다가 연결이 끊기는 상황에 대비해, 가급적 로컬 콘솔이나 screen/tmux 환경을 활용하는 것이 안전합니다.

우분투 서버 운영의 핵심은 예방과 준비입니다. 정기적인 업데이트를 주저할 필요는 없지만, 항상 복구 가능한 백업 수단을 마련해 둔다면 안정적이고 신뢰성 있는 서버 환경을 유지할 수 있습니다.

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다