Как я могу сжать / сжать символическую ссылку?

57

Возможно ли это, и как я могу заархивировать символическую ссылку из оболочки Linux?

DucDigital
источник

Ответы:

68

Вы можете хранить символические ссылки как символические ссылки (в отличие от копии файла / каталога, на который они указывают), используя --symlinksпараметр стандарта zip.

Предполагается foo, что каталог содержит символические ссылки:

zip --symlinks -r foo.zip foo/

RAR эквивалент:

rar a -ol foo.rar foo/

tar сохраняет их как есть по умолчанию.

tar czpvf foo.tgz foo/

Обратите внимание, что символическая ссылка сама по себе почти не занимает места на диске (только инод). Как вы, наверное, знаете, это просто своего рода указатель в файловой системе.

Эдуардо Иванец
источник
1
я не могу использовать tar, но --symlinks не работает с zip. Вы уверены, что это стандартный почтовый пакет?
DucDigital
Какой дистрибутив у вас есть? Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008).Можете ли вы использовать RAR вместо этого? Смотрите добавленный пример.
Эдуардо Иванец
Copyright (c) 1990-2006 Info-ZIP. Все права защищены. Это Zip 2.32, вероятно, из-за этого. я попробую rar
DucDigital
1
Расщепление волосков, но технически символическая ссылка занимает место на диске, занимая инод.
ttyS0
Правда что. На самом деле из того, что я читал в прошлом, они были больше похожи на обычные файлы, содержащие путь к указанному файлу / каталогу. Теперь они просто особый вид инода, если я правильно помню.
Эдуардо Иванец
10

На RHEL 5 мы имеем

$ 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
nodakai
источник
То же самое в OpenSUSE Leap. Так и есть zip -y -r foo.zip foo/.
Дэвид Фор