web-dev-qa-db-ja.com

tarがファイルのパーミッションを保持しないのはなぜですか?

あるLinuxで作成されたtarballは、別のLinuxで抽出されたときにファイルのアクセス許可を保持しないことに気づきました。

Tarにファイルのパーミッションを保持させるにはどうすればよいですか?

11
Andres Gonzalez

Tarballを作成するときと抽出するときの両方で、pオプションを使用します。

7
Robin Green

あなたは試すことができます:

tar -pcvzf xxx.tar.gz

p ==権限を保持する
c ==アーカイブを作成する
v ==詳細(tarの作成中に名前を出力)
z == gzip
f == tarファイル名

ソース

16
Pippin

マンページをざっと見ると、問題が明確になります。

 -p, --preserve-permissions, --same-permissions
       extract information about file permissions (default for superuser)

ただし、FATなどの一部のファイルシステムでアーカイブの風袋引きを解除しても、アーカイブがサポートされていないため、アクセス許可が保持されないことに注意してください。

また、数値の所有者/アクセス時間の保持があなたに興味を持っているかもしれません:

 --numeric-owner
       always use numbers for user/group names

 --atime-preserve
       preserve access times on dumped files, either by restoring the
       times
5
rralf