Skip to Content
문서참조문제 해결손상된 패키지

일반적인 증상

  • apt install이 “종속성이 충족되지 않음”을 보고합니다.
  • dpkg이 중단되어 설치를 계속할 수 없습니다.
  • “깨진 패키지를 보관했습니다” 메시지가 나타납니다.
  • 패키지 상태는 “반 설치” 또는 “반 구성”입니다.
Note

대부분의 패키지 문제는 처음 세 단계(dpkg --configure -a, apt --fix-broken install, apt update && apt upgrade)를 통해 해결할 수 있습니다. 순서대로 시도해보고 고급 수리 방법을 사용하기 위해 서두르지 마십시오.

표준 수리 절차

다음 단계를 순서대로 시도해 보세요. 처음 몇 단계를 수행하면 일반적으로 문제가 해결됩니다.

1단계: 중단된 dpkg 수정

sudo dpkg --configure -a

2단계: 종속성 수정

sudo apt --fix-broken install

3단계: 업데이트 및 정리

sudo apt update sudo apt upgrade sudo apt autoremove sudo apt autoclean

고급 수리

강제 수정 패키지

# View problematic packages dpkg -l | grep -E "^..[^i ]" # Force reinstall a package sudo apt install --reinstall PACKAGE_NAME # Force remove a broken package sudo dpkg --remove --force-remove-reinstreq PACKAGE_NAME

패키지 캐시 지우기

# Delete all downloaded package cache sudo apt clean # Delete only outdated packages sudo apt autoclean # Manual cleanup sudo rm /var/cache/apt/archives/*.deb sudo rm /var/cache/apt/archives/partial/*.deb

dpkg 잠금 수정

“관리 디렉터리를 잠글 수 없습니다”라는 메시지가 표시되는 경우:

# Check if other apt/dpkg processes are running ps aux | grep -E "apt|dpkg" # If you confirm no other processes are running, delete the lock files sudo rm /var/lib/dpkg/lock-frontend sudo rm /var/lib/dpkg/lock sudo rm /var/cache/apt/archives/lock sudo dpkg --configure -a

dpkg 데이터베이스 재구축

dpkg 데이터베이스가 손상된 극단적인 경우:

# Back up existing database sudo cp -r /var/lib/dpkg /var/lib/dpkg.backup # Restore the status file from the system's daily backup (status is dpkg's core database) ls -t /var/backups/dpkg.status.* # List available backup snapshots sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status # .0 is newest; use an older snapshot if needed sudo dpkg --clear-avail sudo apt update

종속성 충돌 문제 해결

패키지 종속성 보기

# View dependencies of a package apt depends PACKAGE_NAME # View which packages depend on a package apt rdepends PACKAGE_NAME # Simulate installation to see conflicts apt install -s PACKAGE_NAME

PPA로 인한 충돌

타사 PPA는 종속성 충돌의 일반적인 원인입니다.

# List added PPAs grep -rh "^deb " /etc/apt/sources.list.d/ | sort # Disable a problematic PPA sudo add-apt-repository --remove ppa:xxx/yyy # Downgrade PPA-installed packages to official versions sudo apt install ppa-purge sudo ppa-purge ppa:xxx/yyy

버전 보존 충돌

# View held packages apt-mark showhold # Unhold a package sudo apt-mark unhold PACKAGE_NAME

Snap 패키지 문제

# View snap status snap list # Fix snap sudo snap refresh # Reinstall a problematic snap sudo snap remove PACKAGE_NAME sudo snap install PACKAGE_NAME

최후의 수단

위의 방법 중 어느 것도 효과가 없으면 다음을 시도해 보십시오.

# Completely reinstall the package management system (use with caution) sudo apt install --reinstall dpkg apt # Or use aptitude for interactive conflict resolution sudo apt install aptitude sudo aptitude install PACKAGE_NAME # aptitude will offer multiple solutions to choose from

예방 팁

  1. 신뢰할 수 없는 타사 PPA 추가 방지
  2. 다른 Ubuntu 버전의 소프트웨어 소스를 혼합하지 마십시오.
  3. sudo apt update && sudo apt upgrade을 정기적으로 실행
  4. apt install -s을 사용하여 설치를 시뮬레이션하고 충돌을 확인하세요.
  5. 시스템 패키지 버전을 일관되게 유지하십시오. 시스템 패키지를 재정의하는 .deb 파일을 수동으로 설치하지 마십시오.