시스템과 패키지 업데이트
Debian, Ubuntu, AlmaLinux를 안전하게 업데이트하는 방법: upgrade와 full-upgrade의 차이, 재부팅이 필요한 시점, 업데이트가 서비스를 망가뜨렸을 때 할 일을 설명해요.
업데이트 2026년 8월 23일
새로 설치한 시스템은 취약점을 막고 버그를 고쳐 주지만, 업데이트는 변경이고, 변경은 잘 돌아가던 것을 망가뜨려요. 합리적인 방법은 정기적으로, 그리고 한 번에 몰아서 하지 않고 조금씩 나눠서 업데이트하는 거예요.
Debian과 Ubuntu
apt update
apt list --upgradable
apt upgrade
apt upgrade는 새 버전을 설치하지만 아무것도 삭제하지 않아요. 출력에 "deferred updates"가 보이면 apt full-upgrade가 필요해요. 이 명령은 의존성을 맞추기 위해 삭제를 허용하거든요. 확인하기 전에 무엇이 삭제될지 목록을 꼭 읽어 보세요.
업데이트 후 정리:
apt autoremove --purge
apt clean
패키지의 설정 파일이 바뀌었다면 apt가 어느 버전을 유지할지 물어봐요. 안전한 답은 내 설정(N)을 유지하는 것이고, 그다음 .dpkg-dist 파일에 있는 새 설정과 비교해 보세요.
AlmaLinux와 CentOS Stream
dnf check-update
dnf upgrade
dnf autoremove
dnf는 새 설정을 .rpmnew로 나란히 두고, 기존 설정을 .rpmsave로 저장해요. 찾으려면:
find /etc -name "*.rpmnew" -o -name "*.rpmsave"
재부팅과 서비스
커널, glibc, systemd, openssl 업데이트는 프로세스를 다시 시작하기 전까지 적용되지 않아요.
test -f /var/run/reboot-required && echo "reboot required"
needs-restarting -r
systemctl list-units --state=failed
제어판에서 콘솔을 열 수 있을 때 재부팅하세요. 새 커널로 부팅한 뒤 시스템이 올라오지 않으면 복구 디스크를 통해 고칠 수 있어요.
릴리스 변경
Debian 12에서 13으로, 또는 Ubuntu 24.04에서 26.04로 올리는 것은 일반 업데이트가 아니라 몇 시간이 걸리는 작업이고 위험도 커요. 옮기기 곤란한 데이터가 없는 머신이라면, 제어판 /hosting/vds/m/<id>의 "Access" 탭에서 원하는 시스템으로 재설치하는 편이 더 깔끔해요. 프로비저닝은 1분 정도 걸려요.
릴리스를 바꾸기 전에 데이터를 머신 밖으로 복사해 두세요. 머신의 자동 백업은 제공하지 않으므로 되돌릴 곳이 없어요.
자주 발생하는 오류
| 오류 | 발생하는 상황 | 해결 방법 |
|---|---|---|
Could not get lock /var/lib/dpkg/lock | apt 또는 자동 업데이트가 동시에 실행 중 | 기다린 뒤 systemctl status unattended-upgrades |
| SSH 연결과 함께 업데이트가 중단됨 | 패키지가 반쯤 설치된 상태 | dpkg --configure -a 실행, 이후부터는 tmux에서 실행 |
| 디스크 공간 부족 | /boot가 오래된 커널로 가득 참 | apt autoremove --purge 실행, 여분 커널 제거 |
| 서비스가 시작되지 않음 | 설정 형식이 바뀜 | journalctl -u <service> -n 50으로 확인 후 수정 |
긴 업데이트는
tmux나screen에서 실행하세요.apt full-upgrade도중 SSH가 끊기면 시스템이 반쯤 끝난 상태로 남고, 그때부터는 업데이트가 아니라 복구예요.
정기적인 부분은 자동화할 수 있어요. 자동 보안 업데이트를 참고하세요.