추가 읽기

추가 읽기

여기에 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

그러면 그것은 어디에서 오는가 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 파일 형식 매뉴얼.

관련 정보