アーカイブ作成中に冗長コンテンツtar
(たとえば、Linuxで一般的に使用される他のプログラム)を動的にハードリンクする方法は?pax
つまり、あらかじめハードリンクすることを避け、代わりにtar
処理したいのです。
それは可能ですか?どのように?
答え1
現在、GNU tarではこれを行うことはできませんが、次の機能があります。
- https://github.com/stfp/tar-dedup: 実験的な --dedup-filter コマンドを使用して GNU tar をパッチしました。
- http://zbackup.org/タール形式のストリームを食べ、吐き出し、重複を排除します。
ハードリンクと重複排除は同じ意味を持たず、アーカイブ抽出プロセスが重複(したがって独立した)ファイルを正しく再生成できるように、「重複データ」を表すには他のtarノードタイプが必要です。これにより、同じファイルが生成されます。ほとんどの標準ツール(GNU tar、paxなど)はtarアーカイブと互換性がありません。これは大胆な措置です。
しばらくお待ちください。ハードリンクファイルのおとぎ話でトリックを書くことができる場合は、アーカイブを抽出する際に問題が発生します。 *本当にGitリポジトリと同じハードリンクファイルですか?それでは、実際にハードリンクファイルで再生成する必要がありますか?それ以外の場合、復元されたGitリポジトリは機能しませんか? *または実際に同じファイルの場合、復元されたアーカイブがハードリンクに復元されると、深刻なデータ漏えいが発生する可能性があります(アーカイブ中に同じ/ etc / passwdファイルを同化し、単一のファイルへの複数のハードリンクを持つように復元することを想像してください。 )。 : ある仮想マシンの修正は他の仮想マシンでも見ることができます!)