rsync
전체 파일 시스템을 복사 하는 데 사용됩니다 .
rsync -avxHAX --progress / /dev/[backup disk]
제안을 따르세요여기,이끌다충분히중복된 Linux 시스템이 있습니까? 즉, 모든 시스템 및 보안 설정, 네트워크 구성(프록시, VPN), 사용자/그룹 정책 등이 충실하게 복제됩니까, 아니면 파일 시스템(부트 로더, 파티션 테이블) 이외의 다른 것이 있습니까 rsync
? 잃어버린?
원본 디스크가 LUKS로 암호화된 경우(예) 즉,
cryptsetup luksOpen /dev/[source disk] && rsync -avxHAX --progress / /dev/[backup disk]
?
답변1
아니요, 전혀 작동하지 않습니다.
마운트된 파일 시스템으로 보내야 하므로 다음 /dev/[backup disk]
과 같이 하지 마십시오 ./mnt/[backup disk]/
mount /dev/[backup disk] /mnt/[backup disk]
또한, "실제" 파일 시스템(ext4, btrfs, zfs...)이 여러 개 있는 경우에도 이러한 파일 시스템을 놓칠 수 있습니다. 를 실행하면 mount | grep \/dev\/sd
대부분의 경우 가지고 있는 모든 것을 볼 수 있습니다.
(예외가 있습니다: 현재 마운트되지 않은 파일 시스템, /dev/sd가 아닌 파일 시스템엑스장비, ...)
편집하다:나는 두 번째 질문에 대답하지 않았다. 여기서도 동일한 문제가 발생하며 동일한 수정 사항이 적용됩니다.
그러나 대상 파일 시스템이 암호화를 사용하지 않으면 모든 것이 해독된 상태로 저장됩니다.
답변2
실제로 이 작업을 수행하는 데 사용할 수 있습니다 rsync
. 그런데 왜 수동으로 하는 걸까요?
운영 체제의 완전한 복사본을 만들기 위한 가장 좋은 도구는 Timeshift
(Debian과 그 하위 회사, 그리고 아마도 다른 회사에서 제공하는) 것입니다. 전체 백업 복구에 필요한 모든 항목의 전체 복사본을 생성합니다. 뒤에서는 을 사용 Timeshift
하지만 rsync
완전한 복사본에 필요한 운영 체제의 모든 부분을 이미 알고 있습니다.
답변3
나는 당신이 두 가지 다른 질문을하고 있다고 생각합니다.
rsync가 파일 시스템을 복사합니까? 예, 그럴 것입니다. 또한 파일 시스템 간 변환에도 사용할 수 있습니다(예: ext3 파일 시스템을 ext4 파티션에 복사할 수 있음). 파일 시스템은 서로의 기능을 지원해야 합니다. ext4를 fat로 복사하면 많은 기능이 손실됩니다. 파일 시스템을 마운트해야 합니다. 그 방법을 알고 있다고 가정합니다. 일반적으로 Live CD를 구해 파일 시스템을 마운트한 다음 Control-Alt-T를 눌러 명령 프롬프트를 열 수도 있습니다.
저는 LUKS를 처음 사용합니다. 파일을 읽을 수 있도록 파일 시스템을 마운트할 수 있다면 복사될 것이라고 예상합니다.
귀하의 원래 질문은 복제에 대해서도 물었습니다. rsync를 사용하여 만든 복사본은 거의 시작되지 않습니다. 몇 가지 추가 단계를 수행해야 합니다.
파티션이 변경된 경우 /etc/fstab을 수정해야 합니다. 기존 시스템이 UUID를 사용하여 파티션을 식별하는 경우 fstab을 수정해야 합니다. 원하는 경우 이전의 UUID가 아닌 스타일로 다시 변경할 수 있습니다. 이렇게 하면 복제가 더 쉬워지지만 권장되지는 않습니다.
추가 업데이트: 최근 Debian 커널 변경 사항(2022년 예정)은 더 이상 fstab에서 부팅 장치의 UUID가 아닌 사양을 지원하지 않습니다. 파티션을 부팅 가능하게 만들려면 UUID를 제공해야 합니다.
그런 다음 시작 코드를 추가해야 합니다. 대상 시스템을 수정하려면 chroot를 사용해야 합니다. 가장 일반적인 방법은 grub2를 설치하는 것입니다. 내가 찾은 가장 좋은 예는 다음과 같습니다.grub2에 대한 Ubuntu 커뮤니티 도움말
링크가 이동하므로 몇 가지 예를 무료로 복사해 보겠습니다.
이것은 grub을 설치하는 한 가지 방법입니다
sudo mount /dev/sdXY /mnt # Example: sudo mount /dev/sda5 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sdX # Example: sudo grub-install --boot-directory=/mnt/boot /dev/sda
그리고 grub에서 이미지 디렉터리를 업데이트합니다.
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
sudo update-grub
답변4
이는 rsync만으로는 수행할 수 없습니다. 먼저 전체 시스템을 백업해야 합니다. 개인적으로 저는 rsync 래퍼(나비 백업) 이것을하기 위해. 예는 다음과 같습니다.
$ bb backup --computer mypc --destination /backup --data System --type Unix
그런 다음 새 머신을 설치하고 다음과 같이 복원해야 합니다.
$ bb restore --catalog /backup --last --computer mypc
이렇게 하면 특별한 파일을 건드리지 않고도 필요한 파일(passwd 등)을 새 시스템으로 가져올 수 있습니다./dev