실수로 Fedora 15 시스템에서 /lib 디렉토리를 삭제했는데 이 문제를 해결하는 방법을 모르겠습니다. 디렉토리와 심볼릭 링크를 복원하는 방법에 대한 도움을 주시면 대단히 감사하겠습니다.
답변1
/lib는 설치 프로세스 중에 설치되고 나중에 rpm 또는 tarball을 사용하여 설치되는 다른 패키지에 의해 설치되는 필수 라이브러리 파일을 포함하는 시스템 디렉터리입니다. 호스트의 백업이 있습니까? RAID 또는 LVM 파티션에 있습니까? 이를 위해서는 절차가 다양합니다. 그러나 /lib는 시스템 디렉터리이므로 일반 모드에서의 가용성은 호스트 기능에 매우 중요합니다.
라이브 CD를 찾아 해당 CD를 사용하여 시스템을 복구 모드로 부팅하는 것이 좋습니다. 또한 이전에 Fedora 15를 설치한 것과 동일한 이미지를 가진 동일한 네트워크의 머신이 있는지 찾아보세요. 그렇지 않은 경우, fedora 15와 동일한 별도의 머신을 설치해 주시기 바랍니다. 설명의 편의를 위해 이를 원격 컴퓨터라고 부르겠습니다. 이 원격 시스템을 사용하여 심볼릭 링크를 통해 /lib의 전체 구조를 복사하고 나중에 rsync를 사용하여 전체를 복사할 수 있습니다. rsync 패키지가 설치되어 있는지 확인하세요. 또한 원격 시스템에 SSH가 설치되어 실행 중인지 확인하고 루트 로그인을 허용하십시오.
참고: 다른 컴퓨터가 없는 경우 유일한 옵션은 Linux 설치 데이터를 덮어쓰지 않고 선택적으로 운영 체제를 다시 설치하는 것입니다. 이렇게 하면 이전 설치에서 컴퓨터에 있는 모든 로컬 데이터가 안전하고 손상되지 않았는지 확인할 수 있습니다. 그리고 파티션을 다시 만들지 마십시오. 다른 컴퓨터가 있는 경우 다음 단계로 진행하면 시스템을 복원하고 더 빨리 작동할 수 있습니다.
로컬 컴퓨터에서 CD 부팅 및 복구 모드를 완료한 후 네트워크를 설정하고 복구하려는 컴퓨터의 IP 주소와 /lib를 복사할 수 있는 위치를 알아냅니다. 로컬 하드 드라이브에서 /lib 파티션을 식별합니다. 별도의 파티션입니까 아니면 /에서 마운트됩니까? 일반적으로 별도의 파티션이 아닌 / 아래의 디렉토리 구조입니다. 로컬 디스크의 루트 파티션 / 바로 아래에 있는 경우 루트 파티션이 /mnt/localroot 아래에 마운트되어 있는지 확인하세요. /mnt/localroot/lib 아래에서 손상된 /lib 트리 구조를 찾을 수 있습니다. 그러나 /mnt/localroot를 사용하지 말고 /mnt/localroot/lib/만 사용하십시오. 후행 슬래시와 경로에 주의하세요.
mkdir /mnt/localroot
mount /dev/sda1 /mnt/localroot
ls -ld /mnt/localroot/lib
쉘 프롬프트에서 rsync 바이너리를 찾고 원격 시스템의 /lib 내용을 로컬에 설치된 lib 디렉터리(/mnt/localroot/lib/에 있음)로 가져오기 시작합니다.
/usr/bin/rsync --delete -avz -e /usr/bin/ssh <remote-machine-ip-address>:/lib/ /mnt/localroot/lib/
동기화가 완료되면 동일한 rsync 명령을 다시 실행하세요. 그런 다음 시스템을 다시 시작하고 부팅 CD를 꺼낸 다음 일반 모드로 grub에서 부팅을 시도하고 로그에서 모든 서비스가 오류 없이 정상적으로 시작되는지 확인합니다.
답변2
비슷한 Fedora 15 설정을 가진 다른 시스템이 있는 경우 livecd에서 시스템을 부팅하고 다른 시스템의 내용을 동기화하여 /lib 디렉터리를 다시 채울 수 있습니다(rsync -avH가 이 작업을 수행함). 일부 명령이 작동하지 않을 수 있으므로 패키지를 다시 설치해야 합니다.
답변3
/lib
나는 회복이 이 상황에서 취할 수 있는 가장 쉬운 각도라고 제안하고 싶습니다 .
따라서 먼저 문제의 Fedora 사용을 중단하고 일부 복구 프로그램이 포함된 Live CD를 실행해야 합니다.여기(이것은 좋은 가이드입니다) 별도의 HD로 복원한 다음(복구 가능성을 망치고 싶지 않기 때문에) 한 프로그램의 결과를 얻고 만족한 후 그렇지 않은 경우 Fedora Issues에 다시 복사하십시오. 다른 프로그램을 사용해 보세요.
디렉터리의 모든 lib 파일을 복원할 수는 없지만 나중에 설치할 수는 있습니다.
복구할 수 없는 경우 원하는 대로 변경된 시스템 파일을 백업하고 설치 단계에서 "업그레이드" 옵션을 사용하여 Fedora 상자를 다시 설치하십시오. 이렇게 하면 기본 시스템과 관련된 삭제된 파일만 설치됩니다.
답변4
다른 답변에서는 Live CD/USB로 재부팅하여 시스템을 복원하는 방법을 설명했습니다. 시스템을 완전히 종료할 수는 없으므로 Alt+를 누른 다음 + + + 를 눌러 파일 시스템을 완전히 마운트 SysRq해제 한 다음 직접 재부팅합니다. 이것이 필요하지 않을 가능성도 있지만 사용 가능한 항목에 따라 다릅니다.SAltSysRqU AltSysRqB
먼저, 특정 프로세스를 루트로 실행할 수 있어야 합니다. 이는 루트 쉘이 실행 중이거나정적 링크 셸이 있는 루트 계정콘솔이나 SSH를 통해 로그인하는 방법도 있습니다. 그러면 수행할 수 있는 작업은 사용 가능한 정적 연결 도구에 따라 달라집니다. 정적 링크(예: 새시 또는 Busybox)가 있는 경우 mount
다른 버전의 Fedora 복사본이 포함된 USB 스틱 또는 NFS 파일 시스템을 마운트할 수 있습니다. lib
아직 rpm 패키지를 사용할 수 있다면 libc부터 시작하여 라이브러리를 제공하는 패키지를 다시 설치하세요. Fedora의 rpm
바이너리는 정적으로 링크되어 있습니다.
당신은 또한 볼 수 있습니다bin 및 기타 폴더를 옮겼습니다! 어떻게 다시 돌려받을 수 있나요?, 다른 상황이지만 답변이 유용한 추가 기능을 제공할 수 있을 만큼 공통점이 충분합니다.