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.