zeroer -- wipe unallocated disk space around files
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.