ddrescue,gddrescue和dd_rescue有什么区别?

dd命令通常用于对驱动器或分区进行映像备份 。 但是,如果源驱动器不可靠或失败,它的性能很差。 我读到ddrescue / dd_rescue是一个很好的工具,可用于从坏驱动器恢复映像,因为它会智能地尝试重新读取第一次无法读取的扇区。

但是在Ubuntu存储库中,我看到了两个不同的ddrescue程序,其中有3个不同但相似的名字出现在不同的地方: ddrescuegddrescuedd_rescue 。 有什么不同?

令人困惑的是, ddrescue可以指两个完全独立的程序,Kurt Garloff的dd_rescue和GNU ddrescue 。 两者都有相同的目的,并积极发展。

Garloff的程序dd_rescue是第一次改进dd尝试; GNU ddrescue是更新的, 旨在解决dd_rescue缺点 。

有几个消息来源比dd_rescue更喜欢GNU ddrescue。 例如,

  • http://lwn.net/Articles/430000/

    ddrescue赢了(在我的书中),因为它是一个用C ++编写的高效自包含程序(不是shell脚本kludge),在控制台/终端上产生更清晰的输出,并且(最重要的是) 优雅而智能地处理不可读的块

  • 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的一个缺点是它不支持管道输出,这意味着你不能用gziplzop压缩输出图像 。

Ubuntu包

不幸的是,Ubuntu存储库中的软件包名称令人困惑; dd_rescue包装在名称ddrescue ,而ddrescuegddrescue下! 从包装摘要:

  • gddrescue包:

    请注意,这是提供/ sbin / ddrescue可执行文件的GNU ddrescue版本。 如果您正在寻找Kurt Garloff的ddrescue版本,请查看ddrescue软件包。

  • ddrescue包:

    请注意,这是提供/ bin / dd_rescue可执行文件的Kurt Garloff的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