zeroer -- wipe unallocated disk space around files
zeroer
The
zeroer utility can be used to flush the empty space on a disk. In
contrary to the dd utility,
zeroer doesn't wipe existing files on a
partition. It overwrites the unallocated disk space around existing files,
which means that deleted files cannot be restored anymore after processing a
certain partition with
zeroer. The utility's principle consists in
writing huge zero-padded memory blocks to a file. To a certain extent this
works similarly to the dd program, however
zeroer dynamically reduces
the blockwriter's buffer size when the disk is going to be full. Thus, smaller
fragments of unallocated partition space are also flushed, even though the
largest unallocated disk areas can be written with huge blocks and this means
more speed.
zeroer's principle is quite simple and there is no guarantee that
zeroer works reliably on every file system, because
zeroer
doesn't know the way a file system works exactly. However, most file systems
use a mix of a centralized disk block addressing table (e.g. inodes, file
allocation table) and multiple peripheral directory/ file descriptors.
zeroer has been multi-pass tested on UFS, FAT and NTFS and the test
results show that
zeroer operates quite reliably on those file systems.
The current version of
zeroer doesn't remove file or directory meta data
like file and directory names, sizes, dates, modes. Only a file's content is
overwritten. Metadata scrambling will be implemented in a future release.
zeroer is released under the GPL.
Emanuel Haupt <ehaupt@FreeBSD.org> for creating a FreeBSD port.