2017-05-15 6 views
0

리눅스 장치에서 이미지를 업데이트/쓰기하고 rsync를 사용하여 다른 방법으로 시도하고 있습니다..dd.xz 파일과의 동기화

파일 시스템 동기화의 경우 rsync는 파일을 손실하고 손실 된 파일 만 전송하여 대역폭을 줄입니다.

비슷한 방식으로 10MB (original.bin)의 이진 파일을 만들고이 파일을 몇 가지 변경 사항 (modified.bin)을 추가하여 수정하고 original.bin 파일을 rsync하려고했습니다. 전체 파일을 다음과 같이 전송합니다. device.Next modified.bin 파일의 사본이 original.bin으로 이름이 변경되고 rsync가 수행됩니다. 수정 된 .bin의 변경 사항 만 전송했는데 이것이 .dd.xz 파일과 동일한 지 알고 싶습니다. 나는 .dd.xz 파일들 (image1.dd.xz와 image2.dd.xz에 dll과 mono packgaes가 거의 없다)과 .dd 파일들로 압축을 풀었을 때 rsync는 변경 사항만을 전송한다.

그러나 파일을 .dd.xz로 rsync하면 전체 파일이 다시 전송됩니다. 어떤 사람이 이것이 예상 된 동작인지 또는 rsync가 다른 텍스트 파일과 마찬가지로 .dd 파일에서 동일하게 작동하는지 이해하도록 도와 줄 수 있습니까?

답변

0

xz은 xz 압축 도구에서 사용되는 확장 프로그램입니다. 압축 된 파일은 명백한 이유로 rsync에서 작동하지 않습니다.

이미지를 압축하지 않고 dd 개의 이미지를 사용하는 것이 더 나을지 고려하십시오. 사용 가능한 모든 프로세서를 사용하여 병렬로 작업을 수행하는 pixz 명령을 사용하여 더 빨리 압축 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. Ricardo.Yes xz는 압축에 사용됩니다. 하지만 두 개의 샘플 파일을 만들고 rsync를 사용해 보았습니다. bianry 파일과 압축 파일 (.7z)의 두 시나리오에서 파일 변경 만 전송했습니다. (original.bin은 1MB 파일이고 modified.bin은 시작시 추가 된 15KB 데이터와 파일 중간에 15KB 데이터가 원본 파일에 추가됨). – user2500239

+0

Rsync original.bin "보낸 바이트 수 : 43 총 수신 수 : 1,049,265" Rsync modified.bin - "보낸 총 바이트 수 : 43 총 수신 수 : 1,080,112" modify.bin을 original.bin으로 변경하여 이미 존재하는 파일을 기반으로 rsync를 보냈습니다 : 6,187 received : 31,900 (변경 사항 만 전송 됨). 나는 7zip을 사용하여 파일을 압축하고 rsync를 시도했습니다. Rsync original.7z - "012 : 총 바이트 수 : 43 수신 한 총 바이트 수 : 1,049,454", Rsync modified.7z "보낸 총 바이트 수 : 43 총 수신 바이트 수 : 1,080,306"modified.7z를 original.7z 및 rsync로 다시 이름 변경 - "총 바이트 수 보낸 사람 : 6,193 총 바이트 수 : 74,561 " – user2500239

+0

압축 파일의 경우 압축 특성으로 인해 델타 알고리즘을 적용하기가 더 어려워집니다. 압축은 델타 알고리즘 이후에 적용되어야합니다. 이러한 이유로 rsync는 변경 사항을 감지하지 않고 전체 압축 파일을 전송합니다. –