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

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

在 HP-UX 操作系统上,我在从 SAM 创建的磁带上进行了备份。我读到的所有关于列出并验证磁带内容的说明都是使用柏油程序:

#tar tvf /dev/rmt/[tapefile]

我创建了一个新目录/磁带具有 777 权限,但是当我执行上述命令时,它给出了一条错误消息:

#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

有人有什么建议吗?我如何查看磁带的内容?这个错误是什么意思?

答案1

我确实解决了这个问题,我会在这里发布答案,以防其他人遇到类似的问题。

由于备份是使用 SAM 创建的,因此未使用 TAR 来创建磁带。很可能‘fbackup’确实被使用了。

为了查看磁带上的内容,我应该使用'恢复'程序。

此命令将从磁带(/dev/rmt/0m)读取目录并将其写入 /tape/tape.idx。

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

答案2

要查看备份的格式,可以使用以下命令:

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)甚至包含一个文本文件作为磁带上的第一个文件,描述如何提取磁带。

答案3

tar tv应该足以将文件列出到标准输出(除非有多个磁带设备)。

答案4

嗨,我不知道你的问题是否解决了。但如果我记得的话,我曾经遇到过这个问题。

尝试倒带

mt -f /dev/rmt/0mn rewind

并按照此命令启动

/usr/local/bin/tar tv /dev/rmt/0mn

问题在于使用 tar 工具创建档案的 tar 工具版本不同。

尝试这个 :

which tar

希望这对你有帮助。

相关内容