自動化プロセス中に.isoファイルを使用してISOファイルが生成されますmkisofs
。元のデータがまったく同じであるため、結果のisoファイルも異なります(md5sum
変更)。私の結果のため、rsync --checksum
毎回「同じISO」を再送信するのは好きではありません。タイムスタンプが大きな違いになると予想しました。
同じ方法でisoを生成できる内蔵スイッチはありますかlibfaketime
?mkisofs
タイムスタンプだけが重要かどうか疑問に思います。生成されたisoファイルを以下のように出力とxxd isofile
比較しました。
diff --side-by-side --suppress-common-lines <(xxd a.iso) <(xxd b.iso )
同じファイルには16バイトを表す行が51本しかないようです(約800バイトの違い)。
isoの生成に使用されるコマンドは、おおよそ次のようになります。
genisoimage -o "file.iso" -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot \
-boot-load-size 4 -boot-info-table \
-J -R -v -T -V 'CDLABEL' "datadir/"
rsync
BS:私の場合、約800バイトだけが同時に再送信されるのを防ぐために、約1MBの大きなファイルブロックをチェックサムするコマンドライン引数スイッチがありませんか?
ベストアンサー1
genisoimage
最初の重要な注意:この製品は2004年5月にリリースされたバリエーションであるため、使用しないでくださいmkisofs
。
2007年5月現在、Debian特有のバグが大挙追加され、その後消えた。
ここで知っておくべき重要な点は、genisoimage
欠陥のあるファイルシステムイメージの作成が、オペレーティングシステムで許可されなくなることがあることです。
しかし、mkisofs
まだ活発に維持管理されており、Debianに限定されていない多数のバグが2006年8月に修正されました。現在、既知のバグはありません。
これで問題を解決するには、UNIX
ファイルメタデータにタイムスタンプを追加する -R(Rock Rigde)を使用しています。質問1です。
別の問題は、ISO-9660ファイルシステムスーパーブロック(公式にはPrimary_descriptorと呼ばれる)に作成日と変更日が含まれていることです。後者はオプションで制御できます-modification-date
。
これが本当に必要な機能だと思う場合は、作成日に同様のオプションを追加できます。ただし、最後の読み取りアクセス時間ではなく、ファイル変更日を使用するようにロック・リッジの書式設定セクションに指示するオプションがまだ必要です。
頻繁に更新される元のソースバージョンはschilytools
tarballの一部であり、以下から検索できます。http://sourceforge.net/projects/schilytools/files/
最新の schilytools tarball では、コピー可能な ISO-9660 ファイルシステムイメージのサポートが導入されました。 schily-2020-03-27.tar.bz2を入手/コンパイル/インストールしてください。
いくつかの新しいオプションがあります。
-noatime
mkisofs
変更された時間をatimeにアーカイブするように指示します。-creation-date
PVDで作成日を設定する-expiration-date
PVDで有効期限を設定する-effective-date
PVDで有効日を設定する-reproducible-date
-effective-date
と追加を除くすべての時間を設定します-noatime
。
これは、通常のISO-9660ファイルシステムイメージとおよびをRock Ridge
含むイメージに適用されますUDF
。最新のマニュアルページを参照してください。http://schilytools.sourceforge.net/man/man8/mkisofs.8.html
更新されたコマンドラインは次のとおりです。
mkisofs -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot \
-boot-load-size 4 -boot-info-table \
-J -R -v -T -V 'CDLABEL' \
-reproducible-date=20200327 "datadir/" > file.iso