rsync를 사용하여 정보를 백업하여 설치 가능한 이미지를 생성하시겠습니까?

rsync를 사용하여 정보를 백업하여 설치 가능한 이미지를 생성하시겠습니까?

나중에 설치할 수 있도록 정보 이미지 파일(.img)을 생성하는 프로그램을 찾고 있었지만 간단한 것을 찾지 못했습니다. Clonezilla의 경우 이미지의 압축을 풀고 이를 조합하려면 추가 공간이 필요합니다. 이미지 파일에 액세스해야 하는데 크기가 디스크 저장 공간을 초과하면 어떻게 되나요?

그런 다음 이 정보를 사용하여 설치 가능한 .img를 만들고 몇 가지 추가 명령이나 유틸리티를 사용하여 이를 개선하기 위한 다음 아이디어를 생각해 냈습니다. 아마도 빈 .img 이미지를 만들고 fsck화를 사용하여 형식을 지정할 수 있을지 모르겠습니다. 이것이 좋은 생각이라면 rsync를 사용하여 모든 현재 데이터를 (이전에 설치된) .img 이미지에 동기화할 수 있습니다. 이 솔루션에 대해 어떻게 생각하시나요? 나는 다른 사람들도 나중에 이미지를 설치하고 싶어하는 것을 보았기 때문에 그것을 좋아할 것이라고 확신합니다.

이 작업을 수행하려면 rsync를 어떻게 사용해야 합니까?

답변1

저는 이 작업을 수행하는 소프트웨어를 모르지만 루핑 장치를 사용하여 이를 수행할 수 있습니다.

# Create an image file (100 M in the example, change the count to 1000 for 1G, etc)
dd if=/dev/urandom of=/path/to/image.img bs=1M count=100
# Now we use it as a loop device
sudo losetup /dev/loop0 /path/to/image.img
# Format it using the filesystem of your choice (I'm using ext4 here for the example).
mkfs.ext4 /dev/loop0

# Mount that new filesystem.
mkdir /mnt/loop && mount /dev/loop0 /mnt/loop

# Now we can transfer things to the image using rsync (for example /var/log content)
rsync -avz /var/log/ /mnt/loop/

# Unmount the filesystem and remove the loop device.
umount /mnt/loop
losetup -D /dev/loop0

이제 image.img를 이동하여 다른 곳에서 사용할 수 있습니다(또는 일반 파일처럼 일부 원격 장치에 저장할 수 있습니다).

예를 들어, 다른 컴퓨터에서 사용하려면 다음을 수행하세요.

# Copy image.img using the tool you want (scp, etc...)
# Mount the image
mount -o loop /path/to/image.img /mnt/loop
# Alter content of the image
# Safely unmount the filesystem
umount /mnt/loop

관련 정보