シンボリックリンクを圧縮/圧縮するにはどうすればよいですか?


回答:


68

--symlinks標準のパラメータを使用して、シンボリックリンクを(それらが指すファイル/ディレクトリのコピーではなく)シンボリックリンクとして保存できますzip

想定fooはシンボリックリンクを含むディレクトリです:

zip --symlinks -r foo.zip foo/

同等のRAR:

rar a -ol foo.rar foo/

tar デフォルトでそれらを保存します。

tar czpvf foo.tgz foo/

シンボリックリンクはそれ自体でディスクスペースをほとんど占有しないことに注意してください(iノードのみ)。おそらくご存知のように、これはファイルシステム内の一種のポインターにすぎません。


1
tarは使用できませんが、-symlinksはzipで機能しません。デフォルトのzipパッケージであると確信していますか?
DucDigital

どのディストリビューションを持っていますか?Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008).代わりにrarを使用できますか?追加例を参照してください。
エドゥアルドイヴァネック

著作権(c)1990-2006 Info-ZIP。全著作権所有。これはおそらくZip 2.32です。rarを試す
-DucDigital

1
ヘアを分割しますが、技術的にはシンボリックリンクがディスク領域を占有し、iノードを消費します。
ttyS0

本当だ。実際、私が過去に読んだものから、それらは、ポイントされたファイル/ディレクトリへのパスを含む通常のファイルのようでした。正しく覚えていれば、それらは特別な種類のiノードにすぎません。
エドゥアルドイヴァネック

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

OpenSUSE Leapでも同じです。それは確かにzip -y -r foo.zip foo/です。
デビッドフォール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.