既存のtar.gzアーカイブにファイルを追加/更新するにはどうすればよいですか?

既存のtar.gzアーカイブにファイルを追加/更新するにはどうすればよいですか?

tar.gzアーカイブにファイルを追加/更新する方法はありますか?デフォルトでは、/data/data/com.myapp.backup/./files/settings.txtアーカイブから抽出したいファイル(すでに完了)を含むアーカイブがあり、編集が完了したらアーカイブにプッシュします。どうすればいいですか?.パスに問題があったのでしょうか?

ベストアンサー1

アーカイブからファイルを抽出するには、を使用できますtar xzf archive.tar.gz my/path/to/file.txt。ファイルパスのディレクトリも作成されます。アーカイブ内のファイルを一覧表示するにはtar t(例:)を使用します。tar tzf archive.tar.gz

tarファイルの「内部」アップデートはサポートされていません。ただし、すでにアーカイブにあるファイルとパスが同じであっても、アーカイブの末尾にファイルを追加できます。この場合、ファイルの両方のコピーがアーカイブに存在し、後で追加されたファイルは古いファイルを上書きします。このためにtar r(またはtar uアーカイブより新しいファイルを追加するために)使用するコマンドは、使用するコマンドです。その道にいる人は.問題になりません。

しかし、問題があります。圧縮アーカイブには追加できません。だからあなたはこれをしなければなりません:

gunzip archive.tar.gz
tar rf archive.tar data/data/com.myapp.backup/./files/settings.txt
gzip archive.tar

これはおそらくアーカイブ全体を2回書き直すという意味なので、あなたが聞きたいものではありません。非常に大きなアーカイブでない場合は、ファイル全体を解凍し、編集後に再圧縮することをお勧めします。あるいは、圧縮されていないアーカイブを使用することもできます。

おすすめ記事