Jak mogę skompresować / skompresować dowiązanie symboliczne?


Odpowiedzi:


68

Możesz przechowywać dowiązania symboliczne jako dowiązania symboliczne (w przeciwieństwie do kopii pliku / katalogu, na którą wskazują), używając --symlinksparametru standardu zip.

Zakładając, że foojest to katalog zawierający dowiązania symboliczne:

zip --symlinks -r foo.zip foo/

Odpowiednik Rar:

rar a -ol foo.rar foo/

tar domyślnie zapisuje je.

tar czpvf foo.tgz foo/

Zauważ, że dowiązanie symboliczne samo w sobie prawie nie zajmuje miejsca na dysku (tylko i-węzeł). Jest to rodzaj wskaźnika w systemie plików, jak zapewne wiesz.


1
nie mogę użyć tar, ale --symlinks nie działa z zipem. czy jesteś pewien, że to domyślny pakiet zip?
DucDigital

Jaką masz dystrybucję? Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008).Czy zamiast tego możesz użyć rar? Zobacz dodany przykład.
Eduardo Ivanec

Copyright (c) 1990-2006 Info-ZIP. Wszelkie prawa zastrzeżone. Jest to Zip 2.32 prawdopodobnie z tego powodu. Spróbuję rar
DucDigital

1
Dzielenie włosów, ale technicznie dowiązanie symboliczne zajmuje miejsce na dysku, pochłaniając i-węzeł.
ttyS0

Prawda, że. W rzeczywistości z tego, co czytałem w przeszłości, były one nawet bardziej jak zwykłe pliki zawierające ścieżkę do wskazanego pliku / katalogu. Teraz są tylko specjalnym rodzajem i-węzła, jeśli dobrze pamiętam.
Eduardo Ivanec

10

Na RHEL 5 mamy

$ 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

To samo dotyczy OpenSUSE Leap. Tak to rzeczywiście jest zip -y -r foo.zip foo/.
David Faure
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.