파일 /var
은 시스템에 매우 중요합니다. 예를 들어 /var/mail
또는 /var/spool/mail
사용자의 이메일을 포함합니다. 이웃의 사서함에서 불을 피우는 것보다 더 이상 삭제하지 않습니다. /var
로그 파일에 /var/log
, 일반적으로 재 작성할 수있는 캐시 /var/cache
, 임시 파일 (사용 중에 삭제해서는 안 됨!)에 다소 일시적인 파일을 포함하는 특정 하위 디렉토리의 파일 만 있습니다 /var/tmp
.
데이터는 /var/lib
매우 중요 할 수 있습니다. 예를 들어, MySQL은 일반적으로 /var/lib/mysql
기본적으로 데이터베이스를 저장하도록 구성되어 있습니다. 삭제하면 데이터베이스가 삭제됩니다. Dpkg는 자체 데이터베이스 /var/lib
도 포함합니다. /var/lib/dpkg/status
하나입니다.
/var/lib/dpkg/status
설치된 패키지에 대한 정보가 들어 있습니다. 삭제 한 경우 백업에서 복원해야합니다. 백업이 최신 상태가 아닌 경우 /var/log/apt
및에서 최근 패키지 조작 로그를 확인하십시오 /var/log/dpkg.log
. dpkg
작동 하기 전에 해당 파일을 작성해야합니다 .
/var/lib/dpkg/available
인터넷에서 다운로드 한 데이터를 기반으로합니다. apt-get update
다시 만들어야합니다.
/var/lib/dpkg/info
데비안 패키지와 함께 제공되는 파일이 들어 있습니다. 패키지를 다시 설치하면 이러한 파일을 간단히 복원 할 수 있습니다. 물론 설치된 패키지 목록이 필요합니다. 복원 한 경우 /var/lib/dpkg/status
패키지 목록을 추출 할 수 있습니다.
apt-get install --reinstall $(</var/lib/dpkg/status sed -n 's/^Package://p')
잃어버린 경우 /var/lib/dpkg/status
빈 파일을 만든 다음 apt-get install --reinstall
패키지 목록에서 실행 하여 파일을 다시 만들 수 있습니다 . 패키지 목록이 저장되는 곳 중 하나 /var/lib/apt/extended_states
는 적어도 dpkg
직접 APT를 사용하여 패키지를 설치 한 적이있는 경우입니다 ( /var/lib/dpkg/status
위의 명령 대신 int 대신 해당 파일 사용) . 그것도 삭제했다면 $(cd /usr/share/doc && ls)
, 대부분의 패키지는에 항목을 생성하기 때문에 대략적인 패키지 목록을 다시 작성할 수 있습니다 /usr/share/doc
. 아마도 몇 가지 예외가있을 것입니다.
이 시스템의 패키지 관리에 대한 도움을 요청하지 마십시오. 시스템 핵심 파일 삭제에서 복구하는 것은 정확한 과학이 아닙니다. 백업에서 복원 할 수없는 경우 가능한 빨리 새롭고 깨끗한 시스템을 설치해야합니다.
/var/lib/dpkg/info
도 매우 중요합니다. FHS를 잘못 이해했으며 AFAIK의 유일한 복구 경로는 (a) 백업에서 복원 또는 (b) 재설치입니다.