IT | EN
Block Device Sync Utility for Linux
ddiff is a lightweight utility for block-level delta synchronization of files and raw devices (SD cards, SSDs, disk images). Instead of copying the whole image, it works on 1 MB chunks and transfers or applies only what changed — saving bandwidth and write cycles.
Ideal for backup and cloning on Raspberry Pi, host-to-host sync over SSH,
and offline workflows with ZIP-based .diff packages.
Prebuilt Linux binaries:
After download: chmod +x ddiff and, if needed, copy it somewhere in your PATH
(e.g. /usr/local/bin/). For SSH sync the binary must be available
on both the local and the remote machine.
.diff on the source, apply offline--zstd.diff files contain only changed blocksDirect sync over SSH
ddiff /dev/sdb user@remote:/dev/sdb
Offline workflow (3 steps)
# 1. hash on the target ddiff --makehash target.hash /dev/sdb # 2. diff on the source ddiff --makediff patch.diff --hash target.hash /dev/sdb # 3. apply on the target ddiff --writediff patch.diff /dev/sdb
Verify integrity of a file / block device against a stored hash
ddiff --testhash sdb.hash /dev/sdb
Full syntax: ddiff -h · Platforms: Linux x86_64 and aarch64
(Raspberry Pi OS, Ubuntu, Debian, …).
Distributed under the MIT License.
ddiff is a powerful command-line utility designed for low-level block device synchronization.
ddiff.
Recommendation: Always double-check your drive labels (e.g., using lsblk or fdisk -l) and perform backups of critical data before executing synchronization commands.