该dd
命令通常用于对驱动器或分区进行映像备份。但是,如果源驱动器不可靠或出现故障,它的性能将很差。我读到ddrescue
/ dd_rescue
是一个很好的工具,可用于从故障驱动器中恢复映像,因为它会智能地尝试重新读取第一次读取失败的扇区。
但在Ubuntu软件仓库中,我看到了两个不同的ddrescue
程序,有3个不同但相似的名称没有显示在不同的地方:ddrescue
,gddrescue
,dd_rescue
。有什么不同?
该dd
命令通常用于对驱动器或分区进行映像备份。但是,如果源驱动器不可靠或出现故障,它的性能将很差。我读到ddrescue
/ dd_rescue
是一个很好的工具,可用于从故障驱动器中恢复映像,因为它会智能地尝试重新读取第一次读取失败的扇区。
但在Ubuntu软件仓库中,我看到了两个不同的ddrescue
程序,有3个不同但相似的名称没有显示在不同的地方:ddrescue
,gddrescue
,dd_rescue
。有什么不同?
Answers:
ddrescue
令人困惑的是,它们可以引用两个完全独立的程序,分别dd_rescue
是Kurt Garloff和GNU ddrescue。两者具有相同的目的,并得到积极发展。
Garloff的程序dd_rescue
是对它进行改进的首次尝试dd
;GNU ddrescue是较新的版本,旨在解决的缺陷dd_rescue
。
有几个消息源更喜欢GNU ddrescue dd_rescue
。例如,
http://lwn.net/Articles/430000/
ddrescue之所以会胜出(在我的书中),是因为它是用C ++编写的高效的独立程序(不是shell脚本冲突),在控制台/终端上产生了更清晰的输出,并且(最重要的是)优雅,智能地处理了不可读的块。
http://www.toad.com/gnu/sysadmin/index.html#ddrescue
GNU ddrescue是您最好的朋友。
它以前面的两个程序dd_rescue(带有下划线)和dd_rhelp为模型。但是GNU ddrescue远胜于两者-我在同一驱动器上尝试了全部三个,并尝试使用普通的旧“ dd”。
安东尼奥·迪亚兹·迪亚兹(Antonio Diaz Diaz)的GNU ddrescue从这些经验中学到了东西。它结合了dd_rescue读取大块然后换档的功能,以及dd_rhelp记住已经查看过磁盘的哪些部分的功能。它以非常简单的日志文件格式保存此信息,并每30秒,无论何时停止或中断都会更新此信息。它是用C ++编写的,而且体积小,速度快。
GNU ddrescue的一个优点是,它可以更快地备份大多数数据,方法是先跳过坏块(恢复速度很慢),然后仅在备份好块之后再返回它们。GNU ddrescue的一个缺点是它不支持管道输出,这意味着您不能使用gzip
或压缩输出图像lzop
。
不幸的是,Ubuntu存储库中的软件包名称令人困惑。dd_rescue
以名称包装ddrescue
,并且ddrescue
在gddrescue
!从包装摘要中:
gddrescue
包:
请注意,这是提供/ sbin / ddrescue可执行文件的GNU ddrescue版本。如果要搜索Kurt Garloff的ddrescue版本,请改用ddrescue软件包。
ddrescue
包:
请注意,这是Kurt Garloff的dd_rescue版本,提供了/ bin / dd_rescue可执行文件。如果要搜索GNU ddrescue版本,请改用gddrescue软件包。
Program name Ubuntu package name Executable name Name in URL
GNU ddrescue gddrescue ddrescue ddrescue
dd_rescue ddrescue dd_rescue ddrescue
gddrescue
,现在ddrescue的Ubuntu软件包搜索仅显示gddrescue
(&ddrescueview
),Kurt Garloff的ddrescue
仅在12.04