diffでext4 imgを生成する

diffでext4 imgを生成する

変更されたファイルのみを含める必要があるext4ファイルシステムで更新イメージを作成しようとしています。だから基本的に私はext4ルートファイルシステムを備えたDebianディストリビューションを持っています。基本イメージAを作成してから、アップデート(aptアップデートなど)をインストールしたいと思います。更新後に別の画像を作成したいと思います。 B.常に画像B全体をコピーする必要がないように、画像Aと画像Bの変化を比較して「差分画像」を作成する方法はありますか?その理由は、最終イメージを別のデバイスにインストールし、すべての変更をコピーする必要があるためです(最初のデバイスで更新した変更を2番目のデバイスに更新すると思います)。

ベストアンサー1

私は「diffイメージ」があなたが望むようにファイルシステムレベルで動作しないと思います。ファイル/ディレクトリ、メタデータチェックサム(最新システムの場合)、ログブロックなどのバッチに変数が多すぎるため、1つのファイルシステムでブロックレベルの違いを取得し、他のファイルシステムに適用することは不可能です。両方のファイルシステムが最初に同じであっても。もしかしてどの一般的な使用中に2番目のファイルシステムを変更して適用します。ブロックレベルdiff は、2 番目のファイルシステムを破壊します。場合によっては、損傷が軽減される可能性があります(たとえば、スーパーブロックまたはグループ記述子の使用可能なブロック/ノードの不一致)。他の場合には、重大な損傷が発生する可能性があります(たとえば、誤ったビットマップ、ログブロックなど)。

より実用的に使えます。ファイルレベルdiffは本質的に「rsync」(またはパラレルバージョン)であり、ext4に限定されません。アップグレード中にファイルシステムでfsnotifyウォッチャーを使用して変更されたすべてのファイルのリストを生成することで、rsyncプロセスを高速化できるため、ファイルシステム全体のチェックは不要です。

おすすめ記事