2017-05-15 18 views
0

私は、Linuxデバイス上でイメージを更新/書き込みする方法と、rsyncを使ってこれを行う方法を試しています。.dd.xzファイルとの同期

ファイルシステム同期の場合、rsyncはファイルの欠落/変更を転送し、帯域幅を削減します。

同様に、私は10MB(original.bin)のバイナリファイルを作成し、このファイルをいくつかの変更(modified.bin)を追加して修正し、original.binファイルをrsyncしようとしました。 device.Next modified.binファイルのコピーがoriginal.binに変更され、rsyncが実行されました。 modified.binの変更だけを転送しました。これが.dd.xzファイルと同じであるかどうかを知りたいと思います。 2つの.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は圧縮に使用されています。しかし、私は2つのサンプルファイルを作成し、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 - "総バイト数:43 受信バイト数:1,049,454"、Rsync modified.7z "送信総バイト数:43受信バイト数:1,080,306" modified.7zをoriginal.7zとrsyncに再度名前変更 - "合計バイト数送信:6,193合計受信バイト数:74,561 " – user2500239

+0

圧縮ファイルの場合、圧縮の性質上、デルタアルゴリズムを適用するのは難しくなります。デルタアルゴリズムの後に*圧縮を適用する必要があります。このため、rsyncはすべての変更を検出せずに圧縮ファイル全体を転送します。 –

関連する問題