user321627 Asked: 2018-11-09 02:34:55 +0800 CST2018-11-09 02:34:55 +0800 CST 2018-11-09 02:34:55 +0800 CST 当您不完全确定里面有什么时,从磁带驱动器中转储数据的安全方法是什么? 772 我有一个旧磁带机和最近发现的旧磁带。我能够将磁带驱动器连接到 Linux 并执行以下命令: mt -f /dev/nst0 rewind dd if=/dev/nst0 of=dump.file 我的问题是,如果您不知道磁带是在什么格式下创建的,那么最安全的使用方法是dd什么?另一方面,如果你知道所有文件都是 tar 文件,你会怎么做? linux tape 2 个回答 Voted Best Answer Layne Bernardo 2018-11-09T03:43:24+08:002018-11-09T03:43:24+08:00 从关于dd的这篇文章: dd 以块为单位读取和写入数据,并且可以在格式之间转换数据。dd 经常用于诸如具有离散块大小的磁带之类的设备,或者用于从磁盘进行快速多扇区读取 dd将从一个文件(或设备)读取原始字节并将其写入另一个文件。它不关心(甚至不知道)文件系统或文件格式。它所看到的只是 1 和 0 块。 请注意,如果磁带是在以前更流行的大端机器上写入的,您可能(或可能不需要)需要交换字节顺序。 您可以按照此处所述执行此操作: dd if=/dev/nst0 of=dump.file ibs=20b conv=swab 顺便说一句,dd不会更改输入文件上的任何内容(如果)。它只写入输出文件 (of)。因此,如果您担心的话,它不会损害您磁带上的数据。 johan 2018-12-06T09:39:46+08:002018-12-06T09:39:46+08:00 我最近编写了一个名为tapeimgr的工具,它可以自动从磁带中提取所有文件。在内部,它围绕着 dd 和 mt。更多信息在这里: https://github.com/KBNLresearch/tapeimgr 它还自动确定块大小(手动执行可能非常乏味)。(尚)不支持字节交换,但在阅读了@layne-bernardo 的回答后,我已将其放在即将发布的待办事项列表中。免责声明::到目前为止,我只使用有限数量的 DDS 和 DLT-IV 磁带以及虚拟磁带库测试了该工具,因此使用风险自负!
从关于dd的这篇文章:
dd
将从一个文件(或设备)读取原始字节并将其写入另一个文件。它不关心(甚至不知道)文件系统或文件格式。它所看到的只是 1 和 0 块。请注意,如果磁带是在以前更流行的大端机器上写入的,您可能(或可能不需要)需要交换字节顺序。
您可以按照此处所述执行此操作:
dd if=/dev/nst0 of=dump.file ibs=20b conv=swab
顺便说一句,
dd
不会更改输入文件上的任何内容(如果)。它只写入输出文件 (of)。因此,如果您担心的话,它不会损害您磁带上的数据。我最近编写了一个名为tapeimgr的工具,它可以自动从磁带中提取所有文件。在内部,它围绕着 dd 和 mt。更多信息在这里:
https://github.com/KBNLresearch/tapeimgr
它还自动确定块大小(手动执行可能非常乏味)。(尚)不支持字节交换,但在阅读了@layne-bernardo 的回答后,我已将其放在即将发布的待办事项列表中。免责声明::到目前为止,我只使用有限数量的 DDS 和 DLT-IV 磁带以及虚拟磁带库测试了该工具,因此使用风险自负!