Problemas enquanto deserta tarball com acl

2

Estou recebendo um erro "Tipo de arquivo desconhecido 'A', extraído como arquivo normal" enquanto desmarcando um conjunto de arquivos com permissões acl definidas.

Eu criei o arquivo tar no Solaris com tar -cpfv Tarfilename.tar directory . Se eu cancelar o tar com tar xvpf Tarfilename.tar , ele funciona muito bem no Solaris. Eu copiei o arquivo tar para o Linux e tentei descompactar usando tar xvpf , ele emitiu o aviso “Tipo de arquivo desconhecido 'A', extraído como arquivo normal” e criou arquivos sem permissões de ACL.

tar --version no Linux: tar (GNU tar) 1.15.1

    
por Balualways 08.10.2012 / 22:26

1 resposta

1

O Solaris usa ACLs do NFSv4 enquanto o Linux usa ACLs POSIX. Eles não são diretamente compatíveis.

Embora o Linux esteja (naturalmente) usando gnu-tar , como você apontou, suspeito que no Solaris você está usando o tar nativo do Solaris.

De acordo com a página do Solaris tar(1) man:

p

Restore the named files to their original modes, and ACLs if applicable, ignoring the present umask(1). This is the default behavior if invoked as super-user with the x function letter specified. If super-user, SETUID, and sticky information are also extracted, and files are restored with their original owners and permissions, rather than owned by root. When this function modifier is used with the c function, ACLs are created in the tarfile along with other information. Errors occur when a tarfile with ACLs is extracted by previous versions of tar.

Você deve usar gnu-tar no Solaris se estiver usando o sinal -p para preservar permissões e o tar será extraído em um sistema Linux.

Se você estiver usando o Solaris 11, instale o pacote gnu-tar , que estará localizado em /usr/gnu/bin/tar ou /usr/gnu/bin/gtar . Se você estiver usando uma versão anterior ao Solaris 11, precisará obter gnu-tar do Sun FreeWare (que pode estar disponível em seu CD do Solaris Companion).

    
por 09.10.2012 / 00:12