Eu usei a opção E
Write a tarfile with extended headers
Então o comando tar cEf file.tar dir
funcionou sem problemas
Em um Solaris ao criar um arquivo tar usando as opções cf:
tar cf file.tar dir
e quando muitos diretórios aninhados geram nomes de caminho muito longos, recebo o erro:
tar: filename: filename is greater than 100
Como evitar isso?
Aqui estão os detalhes da máquina:
# uname -a
SunOS <box-name> 5.10 Generic_125100-10 sun4v sparc SUNW,Sun-Fire-T200
Essa é uma restrição do pré-POSIX tar
. Você pode usar cpio -H ustar
, padrão POSIX pax
ou instalar o GNU tar
.
Eu não acho que haja necessidade de nenhuma das outras respostas apresentadas aqui.
Use apenas o tar GNU. E sim, está aí!
Você indica que sua plataforma é Solaris 10. Nessa plataforma, GNU tar é de fato instalada por padrão. Ele vive em /usr/sfw/bin
, o que pode não estar no seu caminho, mas está lá. Somente se o seu sysadmin tiver instalado o Solaris com algum perfil mínimo ('Core' ou 'Reduced Network'), o que é raro para os administradores de sistema, ele não estará lá e você terá que instalar o pacote SUNWgtar
da mídia de instalação . Eu duvido que seja o caso. Apenas faça /usr/sfw/bin/gtar
e observe a mágica.