Wipe is a secure file wiping utility.

There are some low level issues that must be taken into consideration.
One of these is that there must be some sort of write barrier between
passes.  Wipe uses fdatasync(2) (or fsync(2)) as a write barrier, or
if fsync(2) isn't available, the file is opened with the O_DSYNC or
O_SYNC flag.  For wipe to be effective, each pass must be completely
written.  To ensure this, the drive must support some form of a write
barrier, write cache flush, or write cache disabling.  SCSI supports
ordered command tags, has a force media access bit for commands, and
write cache can be disable on mode page 8.  IDE/ATA drives support
write cache flushes and write cache disabling.

Unfortunately, not all drives actually disable write cache when asked
to.  Those drives are broken.  Write caching should always be
disabled, unless your system is battery backed and always powers down
cleanly.

Homepage:
https://wipe.sourceforge.net/
