/에 포함되어 있고 / mnt / sdb5에 새 장소가 준비되어있는 작동중인 Linux 시스템의 사본을 만들어야합니다. / dev에 상당한 양의 하드 링크, 소프트 링크 및 특수 파일이 들어있는 것 같습니다. cpio
추가 마법을 적용하지 않고이 작업을 처리 할 수 있습니까?
현재 알려진 보호 조치 :
- 복사본이 부팅 가능한 것으로 간주되어 작업 할 때까지 실행중인 시스템을 제거 / 수정하지 않습니다
root=/dev/sdb5
. 제거하기 전에 전체 파티션 백업을 수행하십시오. - 각 루트 디렉토리를 따로 보관하기 위해 cpio를 사용하므로 LiveCD 환경에서 압축을 풀면 기증자 파티션이 손상되지 않습니다.
그러나 여전히 cpio가 일부 플래그를 놓치고 권한 / 노드 유형 / 소프트 또는 하드 링크를 무너 뜨렸다 고해서 시간을 잃지 않을 것입니다.
어떤 도구를 사용하거나 어떤 수중 암석을 피해야합니까?
답변
에 관한 실제 질문에 대답하려면 cpio
다음과 같이하십시오 cpio
.
find / -xdev -depth \! -path ./lost+found -print0 | cpio --pass-through --null --dot --make-directories --unconditional --preserve-modification-time --sparse /mnt/sdb5
물론 네트워크를 통해 복사하지 않기 때문에 다음을 사용합니다 cp
.
cp --archive --sparse=always --verbose --one-file-system --target-directory=/mnt/sdb5 /
복사를 여러 번 수행하려면 rsync
재개 기능을 사용하는 것이 좋습니다. (또한 마찬가지로 cp
ACL 및 확장 속성을 처리하고 선택적으로 네트워크를 통해 작동 할 수 있습니다 cpio
. 따라서 로컬에서 첫 번째 사본을 수행하는 것을 제외하고 가장 유용한 옵션 cp
입니다.
rsync --archive --inplace --hard-links --acls --xattrs --devices --specials --one-file-system --8-bit-output --human-readable --progress / /mnt/sdb5
복사하는 것을 잊지 마세요 /boot
와 /dev
!
/boot
복사하기 만하면됩니다. 그러나 /dev
에 의해 숨겨져 있기 때문에 요즘 훨씬 까다 롭습니다 udev
. 다음 절차를 권장합니다.
mkdir /tmp/dev
mount --move /dev /tmp/dev
- 위 명령 중 하나
/dev
를/mnt/sdb5
사용하여 복사 mount --move /tmp/dev /dev
rmdir /tmp/dev
답변
@Klox가 언급했듯이 동일한 크기의 파티션을 복사 할 때 사용에 동의합니다 dd
.
그러나 다른 크기의 디스크를 다른 파티션에 복사하려면을 사용하십시오 rsync
. 새 파티션을 마운트하고 (/ mnt / new) 다음을 수행하십시오.
# rsync -a --exclude=/proc --exclude=/dev --exclude=/sys / /mnt/new
심볼릭 링크에 대한 추가 마술과 라이브 CD가 필요하지 않습니다 (단일 사용자 / init 1은 정상적으로 작동합니다).
답변
보다 최적의 변형 dd
사용partimage
하면 파티션의 사용 된 섹션 만 복사하여 사용하지 않는 큰 파티션을보다 편리하게 복사합니다.
중요한 경고에 유의하십시오.
Partimage는 새로운 Ubuntu 설치에서 기본값 인 Ext4를 지원하지 않습니다.
편리한 사본이 System Rescue CD 배포판 에 포함되어 있습니다 .
답변
하드 드라이브간에 Linux 설치를 이동할 때 항상 Live CD로 부팅 dd
하고 전체 파티션을 복사하는 데 사용 합니다. 나는 이것이 디스크 크기의 변화를 다루지 않는다는 것을 알고 있습니다 (필연적으로 새로운 디스크가 더 커서 일을 단순화합니다).하지만 당신이 사용하는 것에 대해 정확히 우려하는 이유가있는 기술 cpio
이 마음에 듭니다. 이 dd
기술을 사용하면 새로운 디스크가 부팅되고 모든 것이 동일하거나 디스크가 부팅되지 않습니다. 나중에 숨어있는 문제가 발생할 위험이 없습니다.
물론 파티션이 새 디스크를 채우지 않는 문제가 있지만 여분의 공간을 채우고 심볼릭 링크를 사용하여 디렉토리를 이동하는 새 파티션을 만드는 것입니다. (파티션의 크기를 조정하는 도구도 있다고 확신하지만 사용하지는 않았습니다.)