여기에 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
?
추신. 비교를 위해 데비안에서는:
$ 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.
보시다시피 tar
한 필드 세트 또는 다른 필드 세트가 나열될 수 있습니다.
일관된 pax
유틸리티를 사용하면 다음 필드를 정확하게 나열할 수 있어야 합니다.
$ pax -o listopt="%(uid)s %(gid)s %(uname)s %(gname)s %L\n" < Debian9.ova
pax
그러나 현재 표준을 준수하는 유틸리티는 존재 하지 않는 것 같습니다 .
추가 읽기
- "ustar 헤더 블록"
pax
.. 단일 유닉스 사양. IEEE 1003.1-2008:2016. - 팀 킨츨러(2016-12-27).
tar
. § 5. FreeBSD 파일 형식 매뉴얼.