Como posso compactar / compactar um link simbólico?


Respostas:


68

Você pode armazenar links simbólicos como links simbólicos (ao contrário de uma cópia do arquivo / diretório para o qual eles apontam) usando o --symlinksparâmetro do padrão zip.

Assumindo que fooé um diretório que contém links simbólicos:

zip --symlinks -r foo.zip foo/

Rar equivalente:

rar a -ol foo.rar foo/

tar armazena-os como estão por padrão.

tar czpvf foo.tgz foo/

Observe que o link simbólico ocupa quase nenhum espaço em disco por si só (apenas um inode). É apenas um tipo de ponteiro no sistema de arquivos, como você provavelmente sabe.


11
Não consigo usar o tar, mas o --symlinks não está funcionando com o zip. tem certeza de que é o pacote zip padrão?
DucDigital

Qual distribuição você tem? Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008).Você pode usar rar? Veja o exemplo adicionado.
Eduardo Ivanec

Copyright (c) 1990-2006 Info-ZIP. Todos os direitos reservados. Este é o Zip 2.32 provavelmente por causa disso. vou tentar rar
DucDigital

11
Divisão de pêlos, mas tecnicamente o link simbólico ocupa espaço em disco, consumindo um inode.
TtyS0

Verdade isso. Na verdade, pelo que li no passado, eles eram ainda mais arquivos comuns, contendo o caminho para o diretório / arquivo apontado. Agora eles são apenas um tipo especial de inode, se bem me lembro.
Eduardo Ivanec

10

No RHEL 5, temos

$ zip -h
Copyright (C) 1990-2005 Info-ZIP
Type 'zip "-L"' for software license.
Zip 2.31 (March 8th 2005). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
(snip)
  -y   store symbolic links as the link instead of the referenced file

O mesmo no OpenSUSE Leap. Então é verdade zip -y -r foo.zip foo/.
David Faure
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.