我試圖從.tar.gz文件解壓基於UNIX的操作系統。爲了做到這一點我用下面的命令:解壓縮基於UNIX的操作系統
焦油-xvf rootfs.tar.gz -o
-o標誌是不保存文件的所有權(它給一些問題)。問題是,當一個符號鏈接是untared以下信息顯示出來
無法創建符號鏈接`TOTO「:操作不允許
此外,MKNOD也給出了問題
dev/tty0:不能mknod:不允許操作
我在FAT系統。有誰知道如何解開該文件?
在此先感謝
我試圖從.tar.gz文件解壓基於UNIX的操作系統。爲了做到這一點我用下面的命令:解壓縮基於UNIX的操作系統
焦油-xvf rootfs.tar.gz -o
-o標誌是不保存文件的所有權(它給一些問題)。問題是,當一個符號鏈接是untared以下信息顯示出來
無法創建符號鏈接`TOTO「:操作不允許
此外,MKNOD也給出了問題
dev/tty0:不能mknod:不允許操作
我在FAT系統。有誰知道如何解開該文件?
在此先感謝
如果該文件是你必須使用一個tar.gz:
tar -xvzf rootfs.tar.gz
,並注意是FAT文件系統不支持符號鏈接,所以它不知道如何在該FS上製作它,並解釋操作不允許的錯誤。
'v'是詳細的;在提取文件名時報告文件名。GNU Tar(現代版本)中的'z'是可選的;它會自動推斷包含gzip壓縮數據的文件應該先解壓縮,同樣也適用於bzip2數據。你對FAT文件系統沒有真正支持符號鏈接是正確的;它可能不支持塊或字符設備(例如'/ dev/tty0')。 –
我認爲這個問題的重點是如何跳過導致錯誤的那些「非文件」。 –
是啊我知道,-v是冗長的!但我不知道現在tar不需要-z選項了:)(我仍然在使用該選項)感謝您的解釋! :) – Ivan
+1伊凡FPR的回答
請注意:
標誌總是命令的名稱之後吧!
您需要學習「man tar」以查看您想要的其他選項,例如,保存所有者,權限,時間創建日期等。
正確的答案是:如果你想解壓一個UNIX根文件系統,那將包括特殊的文件,如設備節點(這就是爲什麼tar
正在調用mknod
)。
要成功創建這些文件,必須允許tar
以root身份運行。因此,正確的答案是使用sudo
,如下所示:
sudo tar -xvzf rootfs.tar.gz
你是否以root身份運行?可能不會,但你可能需要成爲。您正在使用FAT(文件)系統?你是否在Windows上運行,期望使用Unix?請說明您正在運行的系統。你能解釋一下爲什麼你期望這可以工作嗎? –
@JonathanLeffler我正在嘗試爲在基於debian的系統上運行的嵌入式處理器創建一個USB。這種情況下需要FAT文件系統。而且,是的,我是根。事情是,FAT不支持符號鏈接。 – Mikitov