追加読書

追加読書

ここに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は明らかに私のシステムには存在しません。uidgid

$ 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

それで、それはどこから来ますかsomeonetar不明な合計を見つけたら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ファイル形式マニュアル

関連情報