그래서 저는 최신 Arch 시스템에서 이 작업을 수행했습니다.
[anna@home ~]$ sudo rm -rf /usr/
^C[anna@home ~]$ ^C
[anna@home ~]$ ^C
rm
빨리 종료했어요 . /usr/
육안으로 볼 수 있는 것은 아무 문제가 없습니다.
손상이 발생했는지 확인할 수 있는 옵션은 무엇입니까? 팩맨 정신 검사를 좀 해야 하나요? 시스템을 다시 시작할 수 있는지 확인하려면 어떤 특정 파일을 확인해야 합니까?
이제부터 다음 항목을 백업해 두겠습니다.모두체계.
답변1
나는 Dennis Kaarsemaker가 옳은 말을 썼다고 생각합니다: 모든 패키지를 다시 설치하십시오.
몇 분 동안 구글링을 해보니 이 사실이 밝혀졌습니다.아치 위키 기사, 모든 패키지 재설치에 대한 섹션이 있습니다. 삭제하는 것이 아니므로 /var/cache/pacman/pkg
프로세스는 로컬에서 수행되어야 합니다. 명령은 다음과 같습니다.
pacman -Qenq | pacman -S -
pacamn -Qeng
"명시적으로 설치된", "네이티브" 패키지만 그룹별로 나열됩니다. "Extra" 또는 "Community" 저장소의 일부 패키지나 설치한 AUR 패키지가 누락되었을 수 있습니다. 저는 개인적으로 아치 설치가 실행 중이기 때문에 감히 이것을 시도하지 않을 것입니다.
pacman -Qn | awk '{print $1}' | pacman -S -
다시 설치할 수 있는 모든 패키지를 다시 설치할 수 있습니다. 프로세스 후반에 명시적으로 설치된 종속성을 어떻게 처리할지 잘 모르겠습니다. 이미 종속성으로 다시 설치한 패키지를 다시 설치하게 될 수도 있습니다.
.pacman
답변2
모든 패키지를 (재)설치하고 싶지 않다면 한 가지 방법을 사용할 수 있습니다. 각 패키지에 대해 설치된 모든 파일이 포함된 /var/lib/pacman/local
하위 디렉터리와 해당 하위 디렉터리를 확인하세요.files
다음은 간단하고 테스트되지 않은(불완전한) 스크립트입니다.
cd /var/lib/pacman
for package in *; do
for file in $(grep ^usr ${package}/files); do
[ -e "/${file}" ] || echo Bad package: ${package}
done
done
${file}
이 스크립트를 개선할 수 있지만( 존재하지 않는 경우 실행 pacman -S ${package}
하고 계속) 주요 아이디어는 꽤 좋다고 생각합니다. :)