tar
いくつかのインスタンスを指定してgnu を使用しています--exclude
。
私は両方を手に入れました
Removing leading / from member names
そして
Removing leading / from hard link targets
警告。それらの違いは何ですか?
答え1
tarball 内のエントリは "/" で始まってはならず、つまり絶対パスを持つことはできません。これはセキュリティ機能であり、tarball を解凍すると、すべてのファイルがシステム全体に分散される (重要なファイルが上書きされる可能性がある) のではなく、ターゲット ディレクトリとサブディレクトリに存在することが保証されます。
表示される警告はtar
、通常のファイル (「メンバー名」) とハード リンク (「ハード リンク ターゲット」) の両方の絶対パスから先頭の「/」を削除した結果です。
たとえば、このコマンドは...
/home/user $ tar czf tarball.tgz /home/user/data
...「/home/...」が「home/...」に変換されるため、これらの警告が表示されます。tarball を解凍しています...
/home/user $ tar xzf tarball.tgz
... すると、すべてのファイルが に解凍されます/home/user/home/user/data
。tar
先頭のスラッシュを削除しなかった場合、 内のファイルは/home/user/data
上書きされます。