파티션의 용도와 사본의 용도에 따라 다릅니다. 그러나 일반적으로 dd
파일 시스템을 백업하는 데 부적절한 도구 라고 말할 것입니다 . 그것도 의도 된 것이 아닙니다.
cp -a
또는 rsync
대신 사용하십시오 . 물론 대상 파티션을 생성해야하므로 드롭 데드가 쉽지는 않지만 훨씬 안전하고 유연합니다. 파일 시스템 이미지 를 만들어야하는 경우 아래를 참조하십시오.
루트 파일 시스템을 복사하려는 경우 절대로 사용하지 마십시오 dd
. copy에 포함되어서는 안되는 것들이 많기 때문에 rsync -ax
(또는 cp -ax
개별 최상위 디렉토리) 와 같은 것을 사용해야합니다 . Linux의 경우 다음이 포함됩니다.
/dev
/lost+found
/mnt
/proc
/run
/sys
/tmp
이들 중 일부는 실제로 커널 인터페이스이며 디스크의 실제 디렉토리가 아닙니다. 복사하면 사본에 적용되지 않는 많은 정보가 복사됩니다. 시스템을 사용하려고 시도하면 실제 인터페이스가 맨 위에 마운트되므로 공간을 낭비하게됩니다. 다른 프로세스에는 프로세스를 실행하여 사용중인 임시 정보가 포함되어 있으며, 문제가 발생하면 더 많은 문제가 발생합니다. 복사하면 시스템에서 가비지를 분류 할 수 없기 때문입니다.
루트 파일 시스템 (또는 모든 파일 시스템)의 이미지 파일을 만들려면 빈 이미지 파일을 만드십시오 dd
.
dd if=/dev/zero of=whatever.img bs=1024 count=1000000
1024MB 이미지 (1000000 * 1024)입니다. count
다른 크기를 원하면 조정 하십시오. 예를 들어 ext
파일 에 파일 시스템 을 만듭니다 .
mke2fs whatever.img
이것은 실제 블록 장치가 아니라고 경고합니다. 발하다. 이제 이미지 파일을 마운트하십시오 :
mount whatever.img /mnt/img
/mnt/img
존재해야하지만 무엇이든 할 수 있습니다. 이제 rsync
(또는 cp -a
)에 들어갈 수 있습니다 /mnt/img
. whatever.img
마운트를 해제해도 내용은 그대로 유지 됩니다.
하나...
명확하게하기 위해 어떤 이유로 든 이미지 파일이 절대적으로 필요한 경우 방금 설명한 파일 시스템 이미지 방법 만 사용하십시오. 파티션을 다른 하드 드라이브에 복사하는 것이 목표라면 이미지가 필요하지 않습니다 . 해당 드라이브에 빈 파일 시스템이있는 새 파티션을 만들고 마운트 한 다음 여기에 복사하십시오. 대신 파일 시스템 내용을 빈 디렉토리에 넣고 보관할 수 있습니다.
tar -czf myarchive.tar.gz [the directory path]
그런 다음이를 최상위 레벨에 배치하고 다음을 사용하여 기존 (빈 또는 다른) 파티션에 배치 할 수 있습니다.
tar -xzf myarchive.tar.gz
경로가 아카이브의 경로와 일치하면 기존 파일을 덮어 쓰게됩니다. 그렇지 않으면 기존 디렉토리 계층을 동일하게 유지합니다.