Recovering deleted files from Hard Drives is not as hard as one might
think. Simplified its mostly only a removal of the Index entry pointing
to the space occupied by the data.
If you want to make sure that the Data is destroyed you have to make
sure that is overwritten. Actually it needs to be overwritten multiple
times with random data so that recovering the data becomes really hard.
I use scrub (diskscrub package / http://diskscrub.sourceforge.net )
before giving away Drives. scrub also has a feature where it fills
up the remaining space of a file system. This helps if you need to get
rid of some NDA stuff and don't want to nuke the whole thing.
scrub can write patterns direct to disk, destroying any file system
(preferred method), or it can write patterns on files, or on file system
free space.
Scrub writes NNSA NAP-14.x, DoD 5220.22-M, BSI, 35-pass gutmann, or one
of several other selectable pattern sequences.
Diskscrub in the openSUSE buildservice:
http://download.opensuse.org/repositories/home:/elvigia/