[SourceForge.net Logo]

WipeFreeSpace -

[SourceForge] [SourceForge] [Sonar Cloud]

Contents:


Description

WipeFreeSpace is a program which will securely wipe (clean, shred, fill, overwrite) the free space on the following filesystem types:

located in a file, on a partition or drive, just like the shred program securely wipes files.

This allows protecting the user's privacy when e.g. selling the drive or the whole computer.

Normally, when you delete a file, only the information about where the file was is deleted, the file contents stays on the drive. If there's no writing to that area, the file can physically stay on the drive for a long time. The file contents can be found by e.g. dumping the whole drive with the dd program to a file and looking at the generated image. This may seem not so dangerous, but if you delete confidential information (files with passwords, credit card numbers, encryption keys), any person with physical access to the drive can read that information and use it against you.

Sometimes you may delete confidential data the normal way by accident (or have no other choice, because programs like Internet browsers, mail clients, chat clients delete data the normal way). In such case normally you would have to shred the whole partition, which may be a big problem. This is where WipeFreeSpace comes in. This program works in a similar way to the shred program, but instead of shredding regular files, it overwrites (just like shred) the free space on a partition, without doing any harm to existing files.

WipeFreeSpace wipes the following things (when supported by the backing library):

WipeFreeSpace does NOT decrease the amount of available free space when working.

The most up-to-date documentation can be found in the package itself, a generated copy is available here, in the docs directory.

Documentation is also available on the WipeFreeSpace wiki.

Currently, WipeFreeSpace does the following actions on supported filesystems (note that "free space in partially used blocks" is sometimes called "slack space"):

  1. Ext2/3/4 (native, working libraries from e2fsprogs / libext2fs):
  2. NTFS (libntfs / ntfs-3g: not official - not written by the filesystem's creators, written without any specifications)
  3. XFS (only supported by executing xfs_db from xfsprogs, because I haven't found any usable development library):
  4. ReiserFSv3 (using the library from reiserfsprogs, but that library is not a part of any official development package):
  5. ReiserFSv4 (using the library from reiser4progs-devel):
  6. FAT12/16/32 (using the library from tffs-lib):

    NOTE: the original tffs library does its own data flushing (in the HAI_writesector() function), so even when WipeFreeSpace is told to perform just one wiping iteration (which uses the system/drive cache on other filesystems and doesn't flush the data immediately), the data is flushed after each sector, which makes FAT12/16/32 wiping really slow.

    NOTE: filesystems with object names of length 64 or more may cause problems with traversal and thus may not be fully wiped (if a file can't be opened, its last block can't be wiped, if a directory can't be opened, objects inside it can't be wiped).

  7. MinixFS (using the mfstool program as a library):
  8. JFS (using the library from jfsuitls):
  9. HFS+ (using the library from hfsplus):
  10. OCFS (using the library from ocfs2-tools):

NOTE: WipeFreeSpace tries to wipe partially used blocks only in regular files on the filesystem. It may print errors (short reads) or crash on sparse files and other exotic objects. Printing an error is normal in such case. WipeFreeSpace may also print an error if there were no objects suitable for wiping - this also is a normal situation meant to inform the user.

WipeFreeSpace has been added to Softpedia Linux.

WipeFreeSpace has been added to GearDownload.com and has been certified 100% FREE [5 stars] [No malware]
Visit GearDownload.com

WipeFreeSpace has been added to GraphicsFamily.com and has received the "Best Software Award" [Best Software Award]

THE PROGRAM HAS BEEN TESTED, BUT IT MAY NOW OR LATER CONTAIN ERRORS, WHICH MAY LEAD TO DATA LOSS. ALWAYS BACKUP YOUR DATA BEFORE USING THIS PROGRAM. READ THE LICENSE FOR A WARRANTY (THERE IS NONE).


WipeFreeSpace GUI

WipeFreeSpace also has a new GUI written in Java, available for download together with the program itself, at SourceForge WipeFreeSpaceGUI2 downloads.


Screenshots of WipeFreeSpace

Screenshots are available on the SourceForge project page.


Download WipeFreeSpace

Current version is 2.6.
[Codacy]
[CodeQL] [Semgrep] [SonarCloud]
[Sonar security rating] [Sonar vulnerabilities]

Current GUI version is 1.0.
[Codacy]
[CodeQL] [Semgrep] [PMD] [SonarCloud]
[Sonar] [Sonar] [Sonar]

Download these at SourceForge.

Download WipeFreeSpace

[Download WipeFreeSpace] (free badge provided by Shields.io)

[Feed] WipeFreeSpace release file feed

RPM dependencies:


Building the software

The most up-to-date instructions can be found in the package itself, a generated copy is available here, in the docs directory.

Requirements for compiling the full version:

WARNING: If both ReiserFSv3 and ReiserFSv4 are enabled, the program may refuse to link if the compiler doesn't support the command line option "-Wl,-z -Wl,muldefs" that makes the linker accept multiple symbol definitions. If you have this problem, disable the support for either of these filesystems (you can compile two versions of the program). Don't complain to me, complain to the guys that made reiserfsprogs and reiser4progs. You can fix either of these libraries yourself, by running

	find . -type f -exec sed -i 's/misc_mntent/new_misc_mntent/g' '{}' \;

in the root directory of either reiserfsprogs or reiser4progs (but NOT both, because this would bring back the same problem, but with a different name). Type the command as above. The command must be run BEFORE compiling the reiserfs programs. You can use the provided patches to do this:

	patch -F10 -p1 < /path/to/wipefreespace-XX/patches/reiser-3.6.XX.diff
	patch -F10 -p1 < /path/to/wipefreespace-XX/patches/reiser4-1.0.7.diff

WARNING: If both ReiserFSv3 and MinixFS are enabled, the program may refuse to link if the compiler doesn't support the command line option "-Wl,-z -Wl,muldefs" that makes the linker accept multiple symbol definitions. If you have this problem, disable the support for either of these filesystems (you can compile two versions of the program). You can fix either of these libraries yourself, by running

	find . -type f -exec sed -i 's/die/new_die/g' '{}' \;

in the root directory of either reiserfsprogs or mfstool (but NOT both, because this would bring back the same problem, but with a different name). Type the command as above. The command must be run BEFORE compiling reiserfs/mfstool. You can use the provided patches to do this:

	patch -F10 -p1 < /path/to/wipefreespace-XX/patches/mfstool-0.5.diff
	patch -F10 -p1 < /path/to/wipefreespace-XX/patches/reiser-3.6.XX.diff

WARNING: If both ReiserFSv3 and JFS are enabled, you MUST either disable the support for either of these filesystems (you can compile two versions of the program) or fix either of these libraries yourself, by running

	find . -type f -exec sed -i 's/bread/reiser3_new_bread/g' '{}' \;

in the root directory of either reiserfsprogs or jfsutils (but NOT both, because this would bring back the same problem, but with a different name). Type the command as above. The command must be run BEFORE compiling reiserfs/jfsutils. You can use the provided patches to do this:

	patch -F10 -p1 < /path/to/wipefreespace-XX/patches/reiser-3.6.XX.diff

Even if your linker/compiler accepts the "-Wl,-z -Wl,muldefs" option, it won't help in this case.

The patches for ntfsprogs are optional. Whether or not they will be included in the official release of ntfsprogs, WipeFreeSpace still will compile.

Type ./configure to configure the program for your system. If you do not wish support for a filesystem, give the --enable-FS=no option to ./configure (FS=EXT234, NTFS, XFS, REISERFS, REISER4, FAT, MINIX, JFS, HFSP, OCFS). Run ./configure --help for details.

Type make to compile the program. Documentation will be compiled, if you have the makeinfo program (texinfo package). Translations will be compiled, if you have the gettext package.

Type make install to install the program.
NOTE: make install is NOT recommended. Create and install an rpm package instead, if possible.

Type info wipefreespace (after installation) or info doc/wipefreespace.info (before installation) to get help.


System compatibility

WipeFreeSpace, in various versions and configurations, has been successfully compiled on the following systems:

Additionally, WipeFreeSpace, in various versions, has been packaged in the following repositories or operating systems (information provided for free by Repology):

Packaging status

WipeFreeSpaceGUI2 should compile and run on any system with Java installed.


Reporting issues

Any defects or issues can be reported by e-mail or in the SourceForge project defect manager (in English).

Any improvement suggestions can be reported by e-mail or in the SourceForge project ticket manager (in English).

To report build or installation problems, include:

  1. the compiler name and version (e.g. gcc version 10),
  2. the C standard library name and version (e.g. glibc version 2.x),
  3. the output of the configure script. You can capture it by running ./configure > configure-output.txt 2>&1,
  4. the generated config.log file,
  5. the generated config.h file, if it exists,
  6. the output of the make command. You can capture it by running make > make-output.txt 2>&1,
  7. any other error messages,
  8. any other information that you think could lead to solving the problem.

To report usage problems, include:

  1. all the above things you include when reporting building problems,
  2. a description of the problem that the software causes,
  3. any error messages that are displayed,
  4. information whether you tried other wiping methods and whether they work,
  5. information whether you tried wiping just parts (undelete data, free space, partial blocks) of the filesystem and whether it worked,
  6. information whether you tried another filesystems, if possible, and whether it worked,
  7. (if the problem is with a filesystem) if possible, the whole input filesystem or a minimalistic input file that causes the problem to show (e.g. file of zero length or with a strange name),
  8. any other information that you think could lead to solving the problem.

-- Help in victory, play a game, send regards, or at least stop using some products


My projects on SourceForge

The always-up-to-date list of my SourceForge projects is on my profile page on SourceForge.


My other software


See my other free software:
  1. Certificate and key generators
  2. E-mail address verifiers
  3. LastMod - a script that inserts or updates a META element with the Last-Modified HTTP header
  4. Atom2Rss - a script that converts an Atom (RFC 4287) channel XML file to an RSS 2.0 XML file
  5. List2Atom - a script that generates an Atom (RFC 4287) channel XML file from a list of files
  6. InSyTrack - telemetry software to track program flow (calls) across libraries, threads, programming languages or even different systems on different machines
See also my assembly-related free software:
  1. Kate/KWrite syntax highlighting for NASM/fasm



Contact information

[mail] Contact me: bogdro AT users . sourceforge . net (English accepted, just say '[SOFT]' in the title).

Keys for the bogdro aliases

[certificate] The public certificate for the e-mail: crt format, cer format, pem format, p7b format, p7c format
Certificate's RIPEMD160 fingerprint: 99:4E:9C:0F:D9:1B:F8:D2:F2:AE:E5:18:9F:3B:5C:61:E6:6C:B4:A8
Certificate's SHA256 fingerprint: 26:22:FE:0F:D7:3A:DE:0A:60:4A:99:29:CB:66:3D:DF:10:45:8B:B6:EC:3E:04:31:DA:67:A5:6E:C4:70:30:B9

[certificate] The public certificate for bogdro-soft: crt format, cer format, pem format, p7b format, p7c format
Certificate's RIPEMD160 fingerprint: 01:A7:57:30:52:EB:F6:58:70:AC:EF:DF:C9:74:50:B1:B3:40:BD:47
Certificate's SHA256 fingerprint: D2:B3:73:22:C0:10:DB:62:3F:DB:1D:FC:EC:44:5C:48:21:0C:C5:9B:E1:7D:E3:63:26:CB:3A:B5:94:45:8C:A5

[certificate] The public certificate for bogdro-perl: crt format, cer format, pem format, p7b format, p7c format
Certificate's RIPEMD160 fingerprint: BF:66:A2:24:6C:87:55:53:90:2C:2B:A5:62:26:D8:11:93:AC:41:98
Certificate's SHA256 fingerprint: 45:C6:17:13:CD:19:FF:39:6C:8D:EC:02:86:5E:E5:90:B5:0B:B6:3F:86:68:E2:7F:60:B7:19:FF:7D:B4:0D:24

[certificate] Issuer's certificate: der format
Issuer's certificate's RIPEMD160 fingerprint: D8:F4:50:F0:8F:79:25:CC:65:20:C9:8D:70:1F:63:14:22:B0:12:24
Issuer's certificate's SHA256 fingerprint: 5E:B4:48:78:F7:58:C6:94:D9:C8:04:B2:42:63:24:9F:5F:03:D0:22:E1:C6:55:18:3E:21:D8:4B:F0:7E:7F:11

[keys] The public GnuPG / PGP keys:
Bogdro-sf e-mail, asc format, key number 476249B50EE1F2E59C4005AF67FFC0790E2D6D3C. A verified version is available at PGP® Global Directory entry for bogdro-sf
Bogdro-soft, asc format, key number 7E05C1468119E8C32B69F72E11B90C14CAE8F72A. A verified version is available at PGP® Global Directory entry for bogdro-soft
Bogdro-perl, asc format, key number A17EBF519B8D55F43472997BFCDBA236678656EA. A verified version is available at PGP® Global Directory entry for bogdro-perl

PGP® and Pretty Good Privacy® are registered trademarks of Symantec Corporation in the United States and other countries.

[certificate] The certificate of the timestamping server which confirms the signature time, can be found on freeTSA.org.


Page information

This page is hosted at SourceForge.net.
This page is written using valid HTML 4.01 [Check my HTML 4.01], [Checked by HTML Validator (based on HTML Tidy)], for all browsers: [For all browsers]

This page uses a valid CSS [Check my CSS]

This page has a content security policy.

This page doesn't use GIF images and doesn't use JPG images.

This page is pure HTML and CSS.

The project icon was created using Inkscape™.


Legal information

Oracle®, Java, and MySQL are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

LINUX® is a registered trademark of Linus Torvalds.

"Fedora" and the Fedora logo are trademarks of Red Hat, Inc.

Debian is a registered trademark of Software in the Public Interest, Inc.

The Arch Linux name and logo are recognized trademarks.

CentOS is a trademark of Red Hat, Inc.

FreeBSD is a registered trademark of The FreeBSD Foundation.

Ubuntu is a registered trademark of Canonical Limited.

macOS® is a registered trademark of Apple Inc.

All other trademarks, logos and names on this page and all subpages are properties of their respective owners and are given here only as an example.