파일 시스템을 그대로 복사하는 방법은 무엇입니까?

파일 시스템을 그대로 복사하는 방법은 무엇입니까?

프로그래밍 중인 장치의 파일 시스템이 있고 그것의 정확한 복사본을 만들고 싶습니다. 이상적으로는 이 복사본이 복사된 원본 폴더와 같기를 바랍니다. 나는 cp -r cp -aand 를 사용하여 rsync -azvP이것을 달성하려고 했습니다. 각 폴더에서 다른 크기의 폴더(사용됨 du -s)가 생성되었지만 궁극적으로 내 장치가 원래 폴더에서 실행되고 있었지만 복사한 폴더에서는 실행되지 않았습니다.

  • 내가 사용하고 있는 명령에서 무엇을 고려하지 않고 있습니까?
  • 파일 시스템/폴더를 복사할 때 모든 것을 동일하게 유지할 수 있습니까? 그렇다면 어떻게 해야 합니까?

추신: 위에 비슷한 질문을 게시했습니다.스택 오버플로하지만 내가 잘못된 거래소에서 질문했다는 사실을 곧 깨달았습니다.


편집: 도움이 되지 않을 수도 있지만 복사한 디렉터리를 사용하는 방법에 관계없이 항상 다음 출력과 함께 문제의 컴퓨터에 커널 패닉이 발생합니다.

VFS: 플로피를 시도하여 NFS를 통해 루트 파일 시스템을 마운트할 수 없습니다. VFS: 루트 장치 'nfs' 또는 알 수 없는 블록(2,0)을 열 수 없습니다. 올바른 'root=" 부팅 옵션을 추가하십시오. 사용 가능한 파티션은 다음과 같습니다. 1f00
64 mtdblock0(드라이버?) 1f02 64 mtdblock2(드라이버?) 1f04 2432 mtdblock4(드라이버?) 1f05 128 mtdblock5(드라이버?) 1f06 4352 mtdblock6(드라이버?) 1f07 204928 mtdblock7(드라이버?) 50304 mtdblock8(드라이버?) 0800
8388608 sda 드라이버: sd 커널 패닉 - 동기화 안 함: VFS: 할 수 없다 알 수 없는 블록에 루트 파일 시스템 마운트(2,0)

답변1

나는 일반적으로 다음 대안 중 하나를 사용합니다.

  • rsync -aHAX(자세한 내용은 v를 추가하세요.) 복사할 때 대상 폴더의 모든 링크 구조와 x-attrs를 유지해야 합니다. a시간, 소유권 및 권한을 보관하고 보존하는 것을 잊지 마십시오 .
  • tar cvf어떤 이유에서든 첫 번째 방법이 내 필요에 맞지 않고 시간이 없다면 간단한 방법(시간을 절약하기 위해 압축하지 말고 압축하기만 하면 됨)을 사용하지만 항상 첫 번째 방법을 시도합니다.

모든 것이 예상대로 작동하는지 확인하려면 diff -r <folder1> <folder2>필요한 경우 나중에 실행할 수 있습니다.

답변2

댓글의 답변을 읽어보면 루트 폴더를 복사하려는 것 같습니다("내 장치는 복사된 디렉터리로 부팅되지 않습니다"). 이 경우 해야 할 일이 몇 가지 있습니다.

$ cd /
$ mkdir backups

$ tar -cvpf /backups/fullbackup.tar --directory=/ --exclude=proc --exclude=sys \
     --exclude=dev/pts --exclude=backups .

루트 폴더를 새 시스템에 복사한 후 부팅하기 전에 grub을 업데이트해야 합니다.

$ grub-install --recheck /dev/sdX (Where X is the partition number)
$ update-grub

답변3

당신은 시도 할 수 있습니다FS 아카이버. 유사한 부분 이미지의 후속 버전이며 더 이상 유지 관리되지 않습니다. 저는 과거에 partimage와 FSArchiver를 사용해 본 적이 있는데 둘 다 잘 작동합니다. 내가 아는 한, 그들은 모두 원본 파일 시스템과 최대한 동일한 파일 시스템의 복사본을 만듭니다. 저는 FSArchiver가 partimage보다 더 강력하다고 생각합니다. 예를 들어, ext4에서는 작동하지만 partimage에서는 작동하지 않습니다. 바라보다FSArchiver/partimage 비교표.

답변4

"동일"이 무엇을 의미하는지에 따라 다릅니다.

  • rsync그냥 하는 경우가 대부분입니다. 때로는 tar모든 것을 파일로 패키징하고 다른 위치에 추출하고 싶을 때가 있습니다 .
  • 전체 파일 시스템의 복제를 원하는 경우 이를 사용하여 dd전체 파일 시스템 자체를 복사할 수 있습니다.

장치를 디버그할 수 있는 방법이 있다면 현재 작동하지 않는 원인이 되는 정확한 문제가 무엇인지 찾아보십시오.

관련 정보