ユーザーを保存せずにtar

ユーザーを保存せずにtar

httpデプロイのためにいくつかのファイルを圧縮したいのですが、.tar.gzユーザー名とユーザーIDが保存されていますが、これを行わない方法はないようです。 (tarには--numeric-ownerユーザー名を無視しているように見えますが、まだユーザーIDを保持するオプションがあります。)

.tar.gz私のシステムは、私のユーザーIDとユーザー名を持つ唯一のシステムである可能性があるため、ファイルの配布には悪い選択肢です。ファイル配布にはより良い形式がありますか.7z?それとも他の提案はありますか?

ベストアンサー1

通常、.tar.gz は利用可能なファイル配布形式です。 GNU tarを使用すると、所有権と権限を保存できません。

$ tar -c -f archive.tar --owner=0 --group=0 --no-same-owner --no-same-permissions .

https://www.gnu.org/software/tar/manual/html_section/tar_33.html#SEC69

tarバージョンがGNUオプションをサポートしていない場合は、展開用のtar.gzファイルを作成する前に、ソースファイルを別のディレクトリツリーにコピーしてグループと所有権を更新できます。

--owner=0そして、--group=0解凍フェーズではなくファイル圧縮フェーズでのみ機能します。
--no-same-owner --no-same-permissions圧縮ステップではなく、圧縮解除ステップでのみ機能します。
一緒に使用すると、tarがファイルを圧縮したり解凍したりするのを覚えていないユーザーのように動作する基本機能を形成します。
ファイルが圧縮中にユーザーとグループ0に保存されている場合は、GUIを介して解凍中にファイルを解凍するユーザーの権限を想定しているため、圧縮段階でユーザーを忘れてしまうのが有効なソリューションです。

おすすめ記事