Unix

如何使用 tar 列出磁帶上的文件?

  • December 14, 2011

在 HP-UX 作業系統上,我在從 SAM 創建的磁帶上進行了備份。我到處閱讀說明以列出驗證磁帶的內容是使用TAR程序:

#tar tvf /dev/rmt/[tapefile]

我創建了一個具有 777 權限的新目錄**/tape**,但是當我執行上述命令時,它給了我一條錯誤消息:

#pwd
/tape
#tar tvf /dev/rmt/0mn >> listtape
Tar: blocksize = 2
directory checksum error

在塊大小錯誤之後,我使用了帶有**“b”**標誌的另一個版本的命令:

#tar tvb 2 /dev/rmt/0mn >> listtape
directory checksum error

有人有建議嗎?如何查看磁帶的內容?這個錯誤是什麼意思?

我確實解決了這個問題,我會在這裡發布答案,以防其他人有類似的問題。

由於備份是使用 SAM 創建的,因此不使用 TAR 創建磁帶。實際使用了**“fbackup”的**可能性更大。

為了查看磁帶上的內容,我應該使用**“frecover”**程序。

該命令將從磁帶 (/dev/rmt/0m) 中讀取目錄並將其寫入 /tape/tape.idx。

# frecover -I /tape/tape.idx -f /dev/rmt/0m

要查看備份的格式,您可以使用以下內容:

dd if=/dev/rmt/0m of=/tmp/tapehead bs=1024 count=2
file /tmp/tapehead

即從磁帶複製前2k /tmp/tapehead,然後在其上執行文件以查看它是什麼格式。

這假定您的/etc/magic文件包含給定的格式描述,但即使不是這樣,您也可以使用 more、vi 或 od 結合 Google 來辨識格式。一些備份程序(例如 Amanda)甚至包括一個文本文件作為磁帶上的第一個文件,描述如何提取磁帶。

引用自:https://serverfault.com/questions/340464