Comment puis-je compresser / compresser un lien symbolique?


Réponses:


68

Vous pouvez stocker des liens symboliques en tant que liens symboliques (par opposition à une copie du fichier / répertoire vers lequel ils pointent) en utilisant le --symlinksparamètre du standard zip.

En supposant qu'il y fooait un répertoire contenant des liens symboliques:

zip --symlinks -r foo.zip foo/

Rar équivalent:

rar a -ol foo.rar foo/

tar les stocke tel quel par défaut.

tar czpvf foo.tgz foo/

Notez que le lien symbolique n'occupe presque pas d'espace disque en lui-même (juste un inode). C'est juste une sorte de pointeur dans le système de fichiers, comme vous le savez probablement.


1
Je ne peux pas utiliser tar, mais --symlinks ne fonctionne pas avec zip. Êtes-vous sûr que c'est le paquet zip par défaut?
DucDigital

Quelle distribution avez-vous? Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008).Pouvez-vous utiliser rar à la place? Voir exemple ajouté.
Eduardo Ivanec

Droits d'auteur (c) 1990-2006 Info-ZIP. Tous les droits sont réservés. C'est Zip 2.32 probablement à cause de cela. Je vais essayer rar
DucDigital

1
Fractionner les poils, mais techniquement, le lien symbolique occupe beaucoup d’espace disque et consomme un inode.
ttyS0

Vrai que. En fait, d'après ce que j'ai lu dans le passé, ils ressemblaient encore plus à des fichiers ordinaires contenant le chemin d'accès au fichier / répertoire indiqué. Maintenant, ils sont juste un type spécial d'inode si je me souviens bien.
Eduardo Ivanec

10

Sur RHEL 5, nous avons

$ 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

Idem sur OpenSUSE Leap. Donc c'est bien zip -y -r foo.zip foo/.
David Faure
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.