Solaris tar: “link simbólico falhou: não é um diretório”

1

Ao descompactar um arquivo tar com um symlink no Solaris 10, recebo este erro:

tar: lib/jre/: symbolic link failed: Not a directory

O link simbólico lib/jre aponta para lib/jre1.8.0_46 , que também está no arquivo tar. Eu posso descompactar o tar muito bem com o tar GNU. Então qual é o problema aqui?

    
por Arne 18.03.2016 / 16:41

2 respostas

2

Se você quiser usar o gnu tar no Solaris. Então veja inline:

  • Solaris 10: verifique se você tem isso fazendo pkginfo SUNWgtar O caminho usual é: /usr/sfw/bin/gtar
  • Solaris 11: verifique se você tem isso fazendo pkg info gnu-tar O caminho usual é /usr/gnu/bin/tar com dois links simbólicos para /usr/sfw/bin/gtar e /usr/bin/gtar

Atualizando as informações de acordo com o comentário. Caso o gnu tar não esteja disponível, você pode criar o tar POSIX compatível com a opção --format=posix .

isso está disponível no GNU tar versão 1.14. Mais informações podem ser encontradas em GNU TAR

    
por 19.03.2016 / 11:47
-1

Dado que você recebe o erro Not a directory , é óbvio que o link simbólico no arquivo tar é

lib/jre/ -> lib/jre1.8.0_46

que é diferente do que você nos diz no seu texto.

Se gtar não reclamar desse link, ele será quebrado.

Infelizmente, você não forneceu informações suficientes sobre suas restrições.

Precisamos saber:

  • de que tipo de arquivo tar você está falando. Você obtém o tipo via star -t -print-artype < foo.tar.gz
  • qual é a entrada exata no arquivo. Você obtém a resposta via star -tv < foo.tar.gz pat='*jre*'

Os arquivos criados com gtar não são compatíveis com POSIX e podem até mudar o tipo de arquivo no meio do arquivo. Você deve entender que isso pode ter resultados realmente estranhos.

Para obter star , recomendo buscar o link mais recente schilytools de: e compilá-los.

    
por 14.04.2016 / 15:05