Rsync 명령이 /snap 디렉터리에서 파일을 복사하지 않습니다.

Rsync 명령이 /snap 디렉터리에서 파일을 복사하지 않습니다.

Raspberry Pi에서 실행되는 Ubuntu 22.04 운영 체제의 rsync 백업을 만들었습니다. SD 카드와 동일한 파티션 및 형식의 이미지 파일로 백업합니다. 나중에 백업 이미지 파일을 마운트하고 SD 카드도 제거하고 마운트했습니다.

백업 이미지에 루트 파티션 마운트됨 /media/writable
SD 카드에 루트 파티션 마운트됨/media/writable1

파일 디렉터리를 나열하면 일부 파일이 있지만 소스 SD 카드에는 없는 것을 볼 수 있습니다.

[flex@flex-inspiron7520 ~]$ ls -l /media/writable/snap/core20/1437/etc/default
total 28
-rw-r--r-- 1 root root  460 Feb  4  2020 cryptdisks
-rw-r--r-- 1 root root  297 Sep 30  2019 dbus
-rw-r--r-- 1 root root   15 Mar 29 20:47 locale
-rw-r--r-- 1 root root 1756 Apr 14  2020 nss
-rw-r--r-- 1 root root  133 Dec  2 22:38 ssh
-rw-r--r-- 1 root root   35 Mar 29 20:47 swapfile
-rw-r--r-- 1 root root 1118 Feb  7  2020 useradd

[flex@flex-inspiron7520 ~]$ ls -l /media/writable1/snap/core20/1437/etc/default
ls: cannot access '/media/writable1/snap/core20/1437/etc/default': No such file or directory

rsync 명령을 테스트 실행했는데 누락된 파일을 소스(백업 이미지)에서 대상(SD 카드)으로 복사한다는 메시지가 표시되었습니다.

[flex@flex-inspiron7520 ~]$ sudo rsync -nrlpgoDv /media/writable/snap/core20/1437/etc/default /media/writable1/
sending incremental file list
default/
default/cryptdisks
default/dbus
default/locale
default/nss
default/ssh
default/swapfile
default/useradd

sent 205 bytes  received 41 bytes  492.00 bytes/sec
total size is 3,814  speedup is 15.50 (DRY RUN)

그런데, 해당 카드의 백업과 비교하여 대상 SD 카드에서 파일이 누락된 이유는 SD 카드가 Pi에 연결되고 OS가 실행 중일 때 파일이 거기에 있기 때문입니다... 이들은 스냅샷 응용 프로그램입니다. /에 설치됨 운영 체제가 실행 중일 때만 스냅합니다.

하지만 그건 내 문제가 아니야!

내 질문

이 rsync 명령을 실행하면 소스(백업 이미지)에서 대상(SD 카드)으로 복사되도록 예약된 파일에 대한 출력이 제공됩니다.

sudo rsync -nrlpgoDv /media/writable /media/writable1/

전송할 파일이 너무 많습니다. 이것은 처음 몇 줄에 불과합니다...

writable/var/lib/dpkg/info/python3.10-minimal.list
writable/var/lib/dpkg/info/python3.10-minimal.md5sums
writable/var/lib/dpkg/info/python3.10-minimal.postinst
writable/var/lib/dpkg/info/python3.10-minimal.postrm
writable/var/lib/dpkg/info/python3.10-minimal.preinst
writable/var/lib/dpkg/info/python3.10-minimal.prerm
writable/var/lib/dpkg/info/python3.10.list
writable/var/lib/dpkg/info/python3.10.md5sums
.
..
....
.....

writable/snap/그런데... 출력에... 줄이 없나요? 이 rsync 명령이 위와 동일한 파일을 나열하지 않는 이유는 무엇 /media/writable/snap/core20/1437/etc/default입니까 /media/writable1/snap/core20/1437/etc/default?

분명히 "/snap" 디렉토리는 "/var/lib/snapd/"에 있는 스냅 애플리케이션을 참조하는 루프 장치용 마운트 지점 세트입니다. 이것이 관련이 있는지 잘 모르겠습니다.

고쳐 쓰다

어쩌면 두 파일 시스템의 마운트 방식 때문일까요? 백업 이미지는 읽기 전용으로 마운트되지만 SD 카드는 읽기-쓰기로 마운트됩니까? 하지만 내 rsync 명령은 백업 이미지에서 복사를 시도하므로 관련이 없을 수도 있습니다.

[flex@flex 1437]$ mount | grep writable
/dev/loop0p2 on /media/writable type ext4 (ro,nosuid,nodev,relatime,errors=remount-ro,uhelper=udisks2)
/dev/sdb2 on /media/writable1 type ext4 (rw,nosuid,nodev,relatime,errors=remount-ro,uhelper=udisks2)

어떤 도움이라도 대단히 감사하겠습니다.

유연한

답변1

전혀 특이한 일이 일어나지 않은 것으로 밝혀졌습니다.

rsync 출력을 보기 위해 KDE Konsole 창(파일 > 다른 이름으로 출력 저장)에서 Rsync 명령의 출력을 텍스트 파일에 저장했지만 터미널은 버퍼에 특정 수의 출력 라인만 유지하는 것 같습니다. rsync 명령을 다음으로 변경했습니다.

sudo rsync -nrlpgoDivv --log-file=/home/flex/scripts/rsynclog.log /mnt/src_root /media/writable1/

rootfs/snap/...이제 rsync가 누락된 파일/폴더의 내용을 원본 에서 대상으로 복사하려고 한다는 것을 알 수 있습니다 . 이 명령은 소스 파일 시스템이 읽기 전용으로 마운트되었는지, 읽기-쓰기로 마운트되었는지에 관계없이 동일한 결과를 제공합니다.

상관없어 이제 난 이렇게 될 테니까/snap 디렉터리는 포함되지 않습니다.필요하지 않아 백업에서 제거되었습니다.

유연한

관련 정보