acl을 사용하여 tarball의 압축을 풀 때 문제가 발생합니다.

acl을 사용하여 tarball의 압축을 풀 때 문제가 발생합니다.

acl 권한이 설정된 파일 세트를 압축 해제할 때 "알 수 없는 파일 형식 'A', 정상으로 추출되었습니다."라는 오류가 발생했습니다.

.tar 파일을 사용하여 Solaris에서 tar 파일을 만들었습니다 tar -cpfv Tarfilename.tar directory. unzip 을 사용하면 tar xvpf Tarfilename.tarSolaris에서 제대로 작동합니다. tar 파일을 Linux에 복사하고 unzip 을 사용해 보았 tar xvpf더니 "알 수 없는 파일 형식 'A', 일반 파일로 추출되었습니다."라는 경고가 표시되고 ACL 권한 없이 파일이 생성됩니다.

tar --version리눅스에서:tar (GNU tar) 1.15.1

답변1

Solaris는 NFSv4 ACL을 사용하고 Linux는 POSIX ACL을 사용합니다. 직접적으로 호환되지는 않습니다.

gnu-tar지적했듯이 Linux는 (자연스럽게) tar.

Solaris 매뉴얼 페이지에 따르면 tar(1):

현재 umask(1)를 무시하고 지정된 파일을 원래 모드 및 ACL(해당하는 경우)로 복원합니다. 이는 수퍼유저로 호출되고 x 함수 문자를 지정하는 경우 기본 동작입니다. 수퍼유저인 경우 SETUID 및 고정 정보도 추출되며 파일은 루트 소유가 아닌 원래 소유자 및 권한으로 복원됩니다. 이 함수 수정자를 c 함수와 함께 사용하면 ACL 및 기타 정보가 tar 파일에 생성됩니다.이전 버전의 tar를 사용하여 ACL로 tar 파일을 추출하면 오류가 발생합니다.

gnu-tar권한을 유지하기 위해 이 플래그를 사용하는 경우 Solaris에서 이를 사용해야 하며 -pLinux 시스템에서는 tar가 추출됩니다.

Solaris 11을 사용하는 경우 또는 gnu-tar에 있는 패키지를 설치하십시오 . Solaris 11 이전 버전을 사용하는 경우 Sun FreeWare(Solaris Companion CD에 있음)에서 해당 버전을 구해야 합니다 ./usr/gnu/bin/tar/usr/gnu/bin/gtargnu-tar

관련 정보