여기서는 멈추세요
- 잠금 소유 프로세스가 실제로 실행 중이면 종료하거나 lock 파일을 삭제하지 않습니다.
- 시뮬레이션이 핵심 패키지 제거·배포판 변경·예상하지 못한 다운그레이드를 제안하면 중단합니다.
PACKAGE RECOVERY
SAFE OPERATING BOUNDARY
패키지 변경은 단일 파일 복원으로 완전히 되돌릴 수 없습니다. 작업 전 스냅샷과 apt 로그를 확보하고, 예상하지 못한 제거가 시작되면 추가 명령을 멈춥니다.
BEFORE YOU START
CHECK THE BRANCH
Ubuntu의 단계적 업데이트일 수 있으므로 오류로 단정하거나 개별 패키지를 강제로 설치하지 않고 apt policy와 제안 변경을 확인합니다.
apt-daily나 다른 관리 작업이 정상 실행 중이면 완료를 기다립니다. lock 파일 자체를 삭제하면 패키지 상태를 손상할 수 있습니다.
의존성 복구보다 시간, DNS, 저장소 URL과 신뢰 가능한 서명 설정을 먼저 확인하며 검증 우회 옵션은 사용하지 않습니다.
FOLLOW THE FLOW
패키지 복구 전에 /var와 /boot 여유 공간, 시스템 시간, 활성 저장소를 확인합니다.
df -hT / /var /boottimedatectl statusapt-cache policyNo space left, 인증서 시각 오류, 잘못된 외부 저장소가 있으면 dpkg 복구보다 먼저 해결합니다.
기본 상태가 정상이면 현재 잠금 소유자를 확인합니다.
lock 파일을 지우지 않고 어떤 프로세스가 패키지 관리 작업을 수행 중인지 확인합니다.
sudo fuser -v /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock 2>/dev/nullsystemctl status apt-daily.service apt-daily-upgrade.service --no-pager -lPID가 있고 작업 로그가 진행 중이면 중복 실행하지 않습니다. 프로세스가 없는데 오류가 남으면 패키지 상태를 점검합니다.
정상 작업은 기다리고, 중단된 상태만 다음 단계로 이동합니다.
패키지를 변경하지 않는 조회 명령으로 불완전 상태와 보류 이유를 확인합니다.
sudo dpkg --auditapt-mark showholdapt list --upgradable 2>/dev/nulldpkg --audit 결과는 미구성·부분 설치 상태를, showhold 결과는 관리자가 보류한 패키지를 뜻합니다.
오류 패키지와 최초 실패 메시지를 기록한 뒤 복구 작업을 시뮬레이션합니다.
실제 설치 전에 apt가 설치·제거·다운그레이드하려는 항목을 확인합니다.
sudo apt-get -s --fix-broken installsudo tail -n 120 /var/log/apt/term.log핵심 패키지 제거, 예상하지 못한 배포판 변경이나 대량 다운그레이드가 보이면 실행하지 않습니다.
제안 변경이 장애 패키지의 구성 완료 범위인지 승인받습니다.
다른 패키지 관리 프로세스가 없고 시뮬레이션 결과를 확인한 경우에만 실행합니다.
sudo cp -a /var/lib/dpkg/status /root/dpkg-status.before-repair이 파일만으로 설치 파일 전체를 복구할 수 있는 것은 아닙니다.sudo dpkg --configure -asudo apt --fix-broken installsudo apt updatesudo dpkg --audit명령이 오류 없이 끝나고 dpkg --audit가 비어 있으며 원래 설치 작업이 정상 동작해야 합니다.
같은 패키지에서 재실패하면 maintainer script와 외부 저장소를 패키지 담당자에게 전달합니다.
PRIMARY REFERENCES
배포판과 버전에 따라 옵션·로그 위치가 다를 수 있습니다. 실행 전 서버의 --help와 로컬 매뉴얼을 함께 확인하세요.