Ignora links simbólicos ao extrair o Tarball

4

Eu tenho uma pergunta relativamente simples para a qual não consigo encontrar a resposta. Eu estou tentando extrair um tarball (* .tgz, para ser exato) e receber erros de terminal em links simbólicos extraídos. Infelizmente, não posso simplesmente recriar o arquivo, pois este é um arquivo legado de um sistema que não existe mais e que foi criado antes mesmo de eu sair do ensino médio (tenho que amar trabalhar para uma grande empresa).

Eu consultei o todo-poderoso Google; no entanto, tudo que consigo encontrar é a informação para excluir / seguir links simbólicos na hora de criação . O erro exato que estou recebendo é algo incorreto (erro: sistema de arquivos somente leitura) e vem do fato de que uma grande parte da carga de dados está contida em numerosos sistemas de arquivos squash / cram / loop. Os links simbólicos estão referenciando dados dentro deles que, obviamente, não podem ser montados devido a erros durante a extração do referido tarball. Frango; conhecer ovo.

Então, resumindo:

Como posso extrair um arquivo * .tgz para conclusão enquanto ignoro links simbólicos ou ignoro erros de link simbólico resultantes?

Para referência:

$ tar --version
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
$ uname -a
Linux localhost.localdomain 3.7.9-205.fc18.x86_64 #1 SMP Sun Feb 24 20:10:02 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    
por phobos51594 20.05.2013 / 22:24

2 respostas

4

-h (ou --dereferência) para desreferenciamento só funcionará na criação.

Referência: link

De acordo com uma resposta semelhante aqui: Como eu desreferencia links ao extrair de um arquivo tar? você pode montar o arquivo e copiar dele, embora eu não tenha testado isso sozinho.

    
por 20.05.2013 / 23:26
-1

O que você gosta pode ser feito facilmente. Ligue:

star -x f=archive.tgz -find ! -type l

As fontes recentes de star estão no pacote schilytools . star é a implementação de taragem livre mais antiga.

    
por 27.06.2018 / 23:12