루트 파일 시스템(물론 특수 디렉터리는 아님)의 내용을 다른 HDD에 복사하여 기존 Debian 7.x 배포판을 복제했습니다. 부팅했고 모든 것이 실행되는 것 같았지만 - 이상한 오류가 발생했습니다. 그 중 하나 - sudo 및 su가 실행에 실패하여 바이너리에 대한 setuid 권한이 부족하다고 불평했습니다. 문제를 해결했고 이제 그들은 더 이상 불평하지 않습니다. 하지만 복사 과정에서 권한이 손상된 다른 파일이 있을 수도 있나요? 모든 관련 파일 권한을 확인하고 수정하는 방법이 있습니까?
답변1
원래 호스트(또는 새로 설치된 다른 유사한 배포판):
getfacl -R / > permissions.acl
당신의 주인:
setfacl --restore=permissions.acl
~에서여기
답변2
이것이 하나님의 창조 목적이다 rsync
.
저는 설치를 복제한 rsync -avxt --delete-before
다음 실행하여 lilo
독립적으로 부팅합니다. 예, 하지만 UUID를 사용하지 않도록 해야 합니다. fstab
그렇지 않으면 모든 것이 중단될 것입니다. 디스크 순서 sda
( 등) 가 무엇인지는 중요하지 않도록 레이블을 사용합니다 sdb
.
답변3
쉬운 방법이 생각나지 않네요. 한 가지 방법은 /var/cache/apt/archives
가지고 있는 모든 패키지를 루트( )로 다시 설치하는 것 입니다 sudo su
.
cd /var/cache/apt/archives
for i in *.deb
do
sudo dpkg -Gi $i
done
다음에는 -p
rsync/cp 옵션이나 파일을 복사하는 데 사용한 동등한 옵션을 사용하세요.
답변4
rsync
파일을 다시 복사하는 데 사용됩니다 . 복사 권한만 필요하다는 점을 눈치채고 내용을 보존하면서 수정해 주므로 상대적으로 속도가 빨라질 것이라고 생각합니다.