「先頭のスラッシュを削除しています」というさまざまな警告の意味は何ですか?

「先頭のスラッシュを削除しています」というさまざまな警告の意味は何ですか?

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/datatar先頭のスラッシュを削除しなかった場合、 内のファイルは/home/user/data上書きされます。

関連情報