ここにPOSIX tarアーカイブ呼び出しがありますDebian9.ova
。
興味深いことに、MacOS High Sierraにリストすると、tar
次のようになります。
$ tar -tvf Debian9.ova
-rw-r--r-- 0 someone someone 5344 26 Feb 13:57 Debian9.ovf
-rw-r--r-- 0 someone someone 179 26 Feb 13:57 Debian9.mf
-rw-r--r-- 0 someone someone 2113245184 26 Feb 13:59 Debian9-disk1.vmdk
someone
今興味深いのは、ユーザーとグループがないことです。
$ id someone
id: someone: no such user
としてリストすると64--numeric-owner
とマークされ、64は明らかに私のシステムには存在しません。uid
gid
$ tar -tvf Debian9.ova --numeric-owner
-rw-r--r-- 0 64 64 5344 26 Feb 13:57 Debian9.ovf
-rw-r--r-- 0 64 64 179 26 Feb 13:57 Debian9.mf
-rw-r--r-- 0 64 64 2113245184 26 Feb 13:59 Debian9-disk1.vmdk
システム内のユーザーを一覧表示するsomebody
ユーザーが見つかりません:
dscl . list /Users | grep someone
それで、それはどこから来ますかsomeone
?tar
不明な合計を見つけたらuid
「機能」ですかgid
?
PS。比較のためにDebianでは:
$ tar -tvf a.tar
-rw-r--r-- 64/64 3212 2018-02-27 02:01 dead.letter
$ bsdtar -tvf a.tar
-rw-r--r-- 0 64 64 3212 Feb 27 02:01 dead.letter
答え1
ここにPOSIXアーカイブがあります
tar
[...]
標準形式tar
のアーカイブでは、各ファイルのヘッダー情報には次のフィールドが含まれます。両方シンボル化されたユーザーとグループ名そして数値ユーザーとグループID。
ご覧のとおり、1 つのtar
フィールドセットまたは別のフィールドセットを一覧表示できます。
一貫したpax
ユーティリティを使用すると、次のフィールドを正確に一覧表示できる必要があります。
$ pax -o listopt="%(uid)s %(gid)s %(uname)s %(gname)s %L\n" < Debian9.ova
pax
しかし、現在の標準に準拠しているユーティリティは存在しないようです。
追加読書
- 」ustarヘッダブロック"
pax
.. シングル Unix 仕様。 IEEE 1003.1-2008:2016。 - チーム・キンツラー(2016-12-27)。
tar
。 §5。 FreeBSDファイル形式マニュアル。