84 votes

Comment puis-je compresser un lien symbolique (symlink) ?

Est-il possible et comment puis-je compresser un lien symbolique depuis un shell linux ?

103voto

sjors miltenburg Points 694

Vous pouvez stocker des liens symboliques en tant que liens symboliques (par opposition à une copie du fichier/répertoire pointé) en utilisant les paramètres --symlinks ou -y du programme zip.

En supposant que foo est un répertoire contenant des liens symboliques :

zip --symlinks -r foo.zip foo/
# ou
zip -y -r foo.zip foo/

Lequel des drapeaux utiliser dépend de votre version de zip ; les versions plus récentes peuvent prendre en charge les deux. Consultez zip --help ou man zip pour trouver le bon pour votre situation.

Équivalent en RAR :

rar a -ol foo.rar foo/

tar les stocke tels quels par défaut.

tar czpvf foo.tgz foo/

Notez que le lien symbolique occupe presque aucun espace disque en soi (juste un inode). C'est simplement une sorte de pointeur dans le système de fichiers, comme vous le savez probablement.

1 votes

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?

0 votes

Quelle distribution avez-vous? Droits d'auteur (c) 1990-2008 Info-ZIP - Tapez 'zip "-L"' pour la licence du logiciel. Zip 3.0 (5 juillet 2008). Pouvez-vous utiliser rar à la place? Voir l'exemple ajouté.

0 votes

Copyright (c) 1990-2006 Info-ZIP. Tous droits réservés. Ceci est Zip 2.32 probablement à cause de cela. je vais essayer rar

13voto

monceaux Points 396

Sur RHEL 5, nous avons

$ zip -h
Copyright (C) 1990-2005 Info-ZIP
Type 'zip "-L"' for software license.
Zip 2.31 (8 mars 2005). Utilisation :
zip [-options] [-b chemin] [-t mmjjaaaa] [-n suffixes] [fichier_zip liste] [-xi liste]
(snip)
  -y   stocke les liens symboliques en tant que lien au lieu du fichier référencé

0 votes

De même sur OpenSUSE Leap. Donc c'est effectivement zip -y -r foo.zip foo/.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X