Linux で、2 つのバイナリ (つまり、2 つの実行可能ファイル) の違いを計算する方法はありますか?
もっと具体的に言えば、Linux の実行可能ファイル、アプリケーション、またはソフトウェアの 2 つのバージョン間のデルタ (デルタ差) を計算する方法を知りたいのです。たとえば、既存のアプリケーションまたはバイナリの更新された部分 (最新バージョンと古いバージョンの差分) のみをダウンロードしてインストールする必要がある場合、Linux でそれを行うにはどうすればよいでしょうか。
Linux で、2 つのバイナリ (つまり、2 つの実行可能ファイル) の違いを計算する方法はありますか?
もっと具体的に言えば、Linux の実行可能ファイル、アプリケーション、またはソフトウェアの 2 つのバージョン間のデルタ (デルタ差) を計算する方法を知りたいのです。たとえば、既存のアプリケーションまたはバイナリの更新された部分 (最新バージョンと古いバージョンの差分) のみをダウンロードしてインストールする必要がある場合、Linux でそれを行うにはどうすればよいでしょうか。
ツールbsdiffを使用できます。これは、バイナリ ファイルの効率的な差分とパッチを行うためのコンパニオン bspatch です。
さらに小さなパッチを取得したい場合は、Google ChromeのCourgetteを参照してください。bsdiff に基づいて構築されていますが、差分を実行する前に実際に逆アセンブルすることで、実行可能ファイルのさらに効率的な差分を提供します。別のプロジェクトとして配布されているわけではありませんが、Chromium ソース リポジトリ(コードのチェック アウト方法) から入手できます。
bsdiff よりも長く使用されているxdeltaツールもあります。bsdiff の作成者によると、かなり効率が悪いとのことです。パッチははるかに大きくなります。他のいくつかのツールでもサポートされている標準の VCDIFF 形式 ( RFC 3284 )をサポートしているという利点があるため、そのような他のツールを使用する必要がある場合は、より便利です。
cksumを試してください- それらが同じであることを示します