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を介して解凍中にファイルを解凍するユーザーの権限を想定しているため、圧縮段階でユーザーを忘れてしまうのが有効なソリューションです。