我正在將 gnutar
與指定的幾個實例一起使用--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
則 中的檔案將被覆寫。