Copy, repair and verify a file
 
 
Go to file
Tobias Killer 0bfd3c6f85
Release version 0.2.0
2023-09-10 16:44:27 +02:00
bash-completion/completions Update bash-completion 2023-08-12 21:20:30 +02:00
man Update manpage 2023-09-10 16:11:06 +02:00
src Update license notices 2023-09-10 15:28:30 +02:00
test Update license notices 2023-09-10 15:28:30 +02:00
.gitignore First implementation 2021-08-30 21:59:55 +02:00
CHANGELOG.md Release version 0.2.0 2023-09-10 16:44:27 +02:00
COPYING Initial commit 2021-08-30 17:25:51 +02:00
CREDITS.md First implementation 2021-08-30 21:59:55 +02:00
Cargo.lock Update version in Cargo.toml 2023-09-10 15:55:11 +02:00
Cargo.toml Update version in Cargo.toml 2023-09-10 15:55:11 +02:00
README.md Update readme 2023-09-10 16:15:52 +02:00

README.md

ddpolymerase

ddpolymerase copy, repair and verify a file

Motivation

The main use case is probably writing an ISO image to a USB flash drive or repairing an existing one. Repair is necessary because USB flash drives are sometimes slightly faulty on random spots. This is where ddpolymerase comes into play. It will try to repair only those spots which can save both valuable write cycles and time.

Build Requirements

  • a 64-bit Linux system installed
  • Rust/Cargo installed
    • works with rustc 1.70.0

How to build

Run cargo build --release --locked in the repository's workspace. The result will be the executable file target/release/ddpolymerase. Strip it with strip target/release/ddpolymerase.

System Requirements

  • a 64-bit Linux system installed (including coreutils and util-linux)

How to use

See the manual page.

For example, in order to repair an existing ISO image image.iso on a USB flash drive /dev/sdX, enter into a terminal:

# ddpolymerase --src image.iso --dest /dev/sdX

If you want to copy the image to the USB flash drive first, it is recommended to add the --copy-first option in order to increase speed:

# ddpolymerase --copy-first --src image.iso --dest /dev/sdX

A progress bar with some statistics will appear during the run like this:

Pass 1: [..rrrrrrrr........rrrrr>                                              ]
1.0 GiB total, 342.0 MiB read, 0 B copied, 171.0 MiB repaired, 0 B bad
rate: 52.0 MiB/s, ET: 6 s
-  at 33.398 %, ETA: 13 s (+1 pass)

If the termination message says that there are repaired/copied but unverified spots then you should run ddpolymerase again in order to verify and repair the image on the flash drive again. If the termination message says that there are bad blocks left then the image on the flash drive is (still) broken.

There is no guarantee that ddpolymerase can repair all spots successfully due to potential hardware failures.

License

GNU General Public License v3.0 or later

See COPYING for the full text.