web-dev-qa-db-ja.com

ubuntu 14.04:シンボリックリンクがあるディレクトリを圧縮する方法は?

私はいくつかのファイルのシンボリックリンクがあるサイズ3.5GBのPHPプロジェクトを持っています。 zip圧縮して、ubuntu 14.04ラップトップからWindows 10 PCにバックアップします。 Zipファイルを作成し、PCでバックアップを作成し、プロジェクトのバックアップZipファイルをWindows PCからラップトップにコピーして解凍すると、シンボリックリンクが存在せず、シンボリックリンクが通常のphpファイルとして表示されます。 Image with symlinks

Image without symlinks

最初の画像にはシンボリックリンクがあり、秒にはシンボリックリンクがありません。シンボリックリンクを失うことがないように、大きなフォルダーを圧縮する適切な方法は何ですか?

1
Haroon

実際、簡単な検索で答えがわかります。 Ubuntuに付属する標準のZipユーティリティ(Info-Zip)には、シンボリックリンクをシンボリックリンクとして保存できるオプションが付属しています。デフォルトでは、シンボリックリンクは逆参照されます。つまり、リンクされている実際のファイルは、経験したとおり、Zipに含まれています。コマンドは次のようになります:Zip --symlinks -r foo.Zip foo/(クレジットは Server Fault サイトに送られます)

このタスクではなく、圧縮されたtarアーカイブ形式を使用することを検討してください。設計によるtarアーカイブ形式は、シンボリックリンク、ファイルアクセス許可などのLinuxファイルシステム機能をサポートしますが、Zipは元々MS Windows環境に由来しています。

2
vanadium