Est-il possible et comment puis-je compresser un lien symbolique depuis un shell linux ?
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?
Est-il possible et comment puis-je compresser un lien symbolique depuis un shell linux ?
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.
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?
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é.
Copyright (c) 1990-2006 Info-ZIP. Tous droits réservés. Ceci est Zip 2.32 probablement à cause de cela. je vais essayer rar
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é
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.