User: Password:
Subscribe / Log in / New account


BleachBit: Does GNU/Linux need the equivalent of a Windows registry cleaner?

January 6, 2009

This article was contributed by Bruce Byfield

On Windows, configuration options are stored in the registry, and are arcane enough that most people use a specialized editor, or cleaner, to remove unnecessary information. Recently, in a blog entry, Andrew Ziem argues that GNU/Linux needs the equivalent of a registry cleaner on Windows. He does so by pointing out examples of files and directories that remain in your home directory even after a package is deleted, and offers his new program BleachBit as a solution. However, while BleachBit -- currently at version 0.2.1 -- is easy enough to use, you have to wonder whether the minimal disk spaced saved or the privacy gained by running it is worth the effort -- especially when such advantages come with the risk of accidentally deleting information.

BleachBit is available as source code, or as packages for various recent versions of CentOS, Debian, Fedora, Mandriva, openSUSE, and Ubuntu, as well as SUSE Linux Enterprise and Red Hat Enterprise Linux. At 16 kilobytes, it downloads almost instantly. It is enough of a standalone program that, if necessary, you can install the different .DEB and .RPM packages on a wide variety of other distributions.

As an application, BleachBit is largely self-explanatory. You select an operation from the left hand pane, reading a brief description of it in the right hand pane if necessary, and click the Preview button to see what will be deleted, then the Delete button to actually remove files and directories. Operations complete in well under 20 seconds, even if you choose all of them.

The list of applications that BleachBit cleans is a long one, and grows with each release. In the current version, the supported applications include Bash, Beagle, Epiphany, Firefox, KDE and BleachBit also supports proprietary applications, such as Flash and Opera, as well as desktop caches and recent document lists. Among those not supported are GNOME and Mozilla Thunderbird -- although, to be fair, BleachBit is in rapid development, and is only likely to increase its support in later releases.


The BleachBit interface is also in development. The descriptions of operations would be more visible with word wrapping, and, although a generic warning that deleted files cannot be recovered appears before anything is deleted, a confirmation specific to your choices -- and, perhaps, suggesting that you preview first -- might also be order.

Even more importantly, you should be aware that BleachBit does not clear your choice of operations after they are complete, even when you close and restart the application. That means that, unless you check carefully, you could easily find yourself performing an unintended operation, all the more so because the list of operations requires scrolling to see every item, even when the BleachBit window is maximized. Similarly, you need to remember that selecting a top-level operation, such as Firefox, selects a number of other operations, not all of which you necessarily want.

Useful, redundant, or dangerous?

The real question about BleachBit is not so much how to use it, but whether it is needed or even advisable to use. Ziem himself admits in his blog entry that "there is no promise your system will run much faster" if you use BleachBit -- and that "much" seems a euphemism for "any," if the results on my test systems are any indication. After all, unlike an unneeded entry in the Windows registry, most unused configuration files on GNU/Linux are simply not accessed, and therefore have no effect on system performance.

True, running BleachBit can free up hard drive space. However, because many configuration files are plain text, in many cases the space freed is measurable in kilobytes. The largest savings is likely to be in browser caches, but the total freed space is unlikely to be more than a gigabyte or two, an amount barely noticeable on recent computers. So, unless you are temporarily in need of more storage space until you can get out and buy an external drive, are on a network where your available space is limited, or take an anal-retentive pleasure in cleaning your system, you may find the saving of hard drive space a less than compelling argument for BleachBit. If you don't miss the space occupied by unnecessary files, then you won't see much need to reclaim it.

Probably the best argument in favor of BleachBit is the ease with which it protects your privacy. Many programs, such as Firefox, have their own controls for clearing associated files, and, if nothing else, you can set a file manager to view hidden files, and cherrypick the ones you want to delete manually. Yet, whether you wish to hide your viewing habits or simply believe in privacy, the convenience and efficiency of cleaning everything in your home directory from a single window is undeniable. By using the Preview, you can even learn from BleachBit the location and name of configuration files, which is more than you can say for many desktop administration utilities.

However, as with any desktop utility, the danger of BleachBit lies in putting power in the hands of users who may not be fully aware of what they are doing. Fortunately, unlike cleaners of the Windows registry, BleachBit does not affect system configuration, so it is not going to leave you with an unusable system if you accidentally delete the wrong file. Still, a mistake made when running BleachBit could mean the loss of valuable information stored in configuration files. After all, the whole point of having a BASH history is so that you don't need to recall or retype a command you have recently used. Similarly, if you miss that Sign ons under Firefox in the operation pane includes bookmarks and recently visited URLs, you could easily lose information that you were counting on being preserved.

Moreover, such mistakes are all the easier to make because of BleachBit's interface deficiencies (see above). Personally, I would be much more assured about BleachBit if these deficiencies were corrected, and actions within the application were hedged with more warnings and reviews of what you are about to do. Some users might complain about such additions, but making an application idiot-proof is a basic requirement if you are going to offer desktop users the power to make sweeping changes. After all, no matter what our experience, we can all be idiots sometimes, especially if tired or rushed.


None of these concerns are necessarily reasons to avoid BleachBit. Personally, I end with mixed feelings about the application. Possibly, BleachBit is an example of how following the Windows analogy too closely can lead to programs of minimal use. Alternatively, perhaps it empowers users to do what is otherwise more difficult and time-consuming, and allows them to protect their privacy without having to learn about their systems. Possibly, both could be true at the same time.

But, perhaps in the long run, the value of an application like BleachBit lies less in any improvements in performance or privacy that it offers than in the discussion of desktop and system design it provokes. Packages should be removing all traces of themselves when they are removed, but, as Ziem observes, many are not. Perhaps what is needed is not a tool like BleachBit, but stricter policies by distributions about the scripts that packages run before they are removed.

Comments (21 posted)

System Applications

Audio Projects

Rivendell 1.2.1 released

Version 1.2.1 of Rivendell, a radio station automation system, has been announced. "This is a maintenance release of Rivendell. The following issues have been corrected: Several errors in handling metadata values in file imports have been corrected, and support for detecting Ogg metadata tags added. Fixed a bug in RDAirPlay that could cause a segfault when loading a log over an existing log."

Full Story (comments: none)

Database Software

Firebird Roadmap 2009

The Firebird DBMS project has published a roadmap for 2009. "The major Firebird version currently in development is v.2.5. Its feature set is being finalized at the moment in preparation for entering the Beta stage of development. The start of the Beta cycle will be accompanied by a "feature freeze" rule. The v.2.5 cycle has presented more challenges than usual in the areas of debugging and testing, due to more significant technological rework in the multi-threading part than we expected. The effect has been some degree of slippage from the original schedule. Once the v.2.5 Beta cycle is under way, we begin the development of the next major version - v.3.0."

Comments (none posted)

PostgreSQL Weekly News

The December 28, 2008 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

PostgreSQL Weekly News

The January 4, 2009 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

PyGreSQL 4.0 announced

Version 4.0 of PyGreSQL has been announced. "We are please to announce the release of PyGreSQL 4.0. [T]his is a major release and you should check it carefully before using in existing applications. There may be some incompatibilities. PyGreSQL is a Python module that interfaces to a PostgreSQL database. It embeds the PostgreSQL query library to allow easy use of the powerful PostgreSQL features from a Python script."

Full Story (comments: none)

Device Drivers

AMD Releases Open-Source R600/700 3D Code (Phoronix)

Phoronix has the details on AMD's release of 3D drivers for ATI R600 and R700 graphics processors. "Since earlier this year we have been waiting for AMD to release documentation and/or code on the ATI R600 series concerning 3D acceleration so that the open-source Linux drivers can begin to support the newer ATI graphics processors. It has taken longer than expected for AMD to complete and release this information, but it's now available. AMD has released the fundamental Linux code needed to begin fostering the development of an open-source R600 3D driver. Furthermore, this code also concerns the latest R700 series of graphics processors! The microcode for the newest GPUs has also been released."

Comments (27 posted)

Embedded Systems

BusyBox 1.13.2 and 1.12.4 released

Stable version 1.12.4 and unstable version 1.13.2 of BusyBox, a collection of command line utilities for embedded systems, have been announced. "Bug fix releases. 1.13.2 has fixes for crond, dc, init, ip, printf. 1.12.4 has fixes for ip and printf."

Comments (none posted)


Samba 3.2.7 is available

Version 3.2.7 of Samba has been announced. "This is a security release to address CVE-2009-0022. The original advisory is available online."

Comments (none posted)

Networking Tools

Hosts3D: 0.96 Released (SourceForge)

Version 0.96 of Hosts3D has been announced. "Hosts3D is a 3D real-time network monitor, displaying hosts & packet traffic. Features: multiple sensor support, gather hostnames & services, configurable subnetwork layout, record/replay packet traffic, filter packets by hosts, protocol or port."

Comments (none posted)

Twisted 8.2 released

Version 8.2 of Twisted, an event-driven networking engine, has been announced. "Twisted 8.2 is a major feature release, also including many important bug fixes: * twistd now has a --umask option for specifying the umask * Log observers can now be configured in .tac files * ProcessProtocols can now implement processExited to get reliable notification of a process exiting * FTPClient has many more convenience methods * Twisted.words now has a standalone XMPP router * Twisted.names now supports NAPTR records * Twisted.web can now deal with multi-value headers and supports the Range header in requests for static files".

Full Story (comments: none)

Web Site Development

JW FLV Player: 4.2 (SourceForge)

Version 4.2 of JW FLV Player, a web-embeddable video application, has been announced. "It supports playback of any format the Adobe Flash Player can handle (FLV, MP4, MP3, AAC, JPG, PNG and GIF). It also supports RTMP, HTTP, live streaming, various playlists formats, a wide range of settings and an extensive javascript API. The skinning functionality allows you to completely customize its look and its plugin architecture allows you to easily extend the player with features such as sharing, recommendations, searching, analytics and ad serving."

Comments (1 posted)

Midgard 8.09.3RC3 released

Version 8.09.3RC3 of the Midgard web content management system has been announced. "The Midgard Project has released a third release candidate for the third maintenance release of Midgard 8.09 Ragnaroek LTS. Ragnaroek LTS is a Long Term Support version of the free software content management framework. The 8.09.3 release focuses on API and architecture cleanups in order to ease transition from Midgard 1.x series API to Midgard 2.x APIs."

Full Story (comments: none)

Desktop Applications

Data Visualization

matplotlib released

Version of matplotlib, a 2D plotting library, has been announced. The what's new document has not been updated yet.

Comments (none posted)

Desktop Environments

The GNOME DVCS survey

Elijah Newren has posted a lengthy analysis of the recently-concluded developer survey on distributed version control systems. "It looks like there's a strong preference in the community toward switching, and that git has a strong lead in preference among the community, followed by svn, then bzr, then mercurial."

Comments (22 posted)

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at

Comments (none posted)

A pile of KDE Commit-Digests

The last nine issues of the KDE Commit-Digests for 2008 were published this week:

Comments (1 posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)


gEDA/gaf 1.4.3-20081231 announced

Stable version 1.4.3-20081231 of gEDA/gaf, a set of electronic CAD tools, has been announced. "I have released the last stable release of gEDA/gaf for this year today (1.4.3-20081231). I'm _really_ hoping that this is the last stable release in the v1.4.x series. The sooner we can get 1.5.2 and 1.6.0 out the door the better. 1.4.3 is a roll up release that picks up a bunch of bug fixes since 1.4.2. Many thanks to everybody who did the cherry picking work (PeterB and PeterC) for this release."

Comments (none posted)

LayoutEditor 20090105 announced

Version 20090105 of LayoutEditor, an integrated circuit design tool, has been announced. Open Collector has the release details: "New features: dialog to manage the layers, mapping layer/datatype on GDS/OASIS import/export possible, shortkey learning with CapsLock key, export of gerber format, barcode generator, add a crop cell function, add a crop sharp angles function, add a convert to mesh function, enhancement of the manual routing, add support of non square vias, editing of circle properties, add SVG+CVS+pixel file formats, ... and many smaller bug fixes."

Comments (none posted)

Financial Applications

SQL-Ledger 2.8.19 announced

Version 2.8.19 of SQL-Ledger, a web-based accounting package, has been announced. Changes include: "added missing localization strings for batch printing module, added query to unlock orders when invoice is removed, added option to generate detailed purchase orders from sales orders, cross-reference consolidated orders; recall original order, shipping address selection; select from previous addresses or enter a new address, added missing lineitem details on ship/receive screen and changed template parser to allow for multiple spaces and inline if statements."

Comments (none posted)


Lepton particle engine 0.7a released

Version 0.7a of Lepton particle engine has been announced. "I'm pleased to announce the 0.7 alpha release of Lepton, a high-performance, pluggable particle engine and API for Python. It is designed for creating graphical special effects for games or other visual applications. The engine is designed to be very flexible and does not rely on any other libraries directly. You can use it either with OpenGL (via pyglet, PyOpenGL, wxPython, etc), or with pygame by selecting the appropriate renderer. Examples are provided using pyglet and pygame. Although this is an alpha release, I think it is stable enough to be useful, and I encourage you to give it a try."

Full Story (comments: none)


Wine 1.1.12 announced

Version 1.1.12 of Wine has been announced. Changes include: "Some simple 64-bit apps should now run. Support for subpixel font rendering. 64-bit code generation in the IDL compiler. New version of the Gecko engine. Various bug fixes."

Comments (none posted)

Music Applications

alsaseq 0.3 announced

Version 0.3 of alsaseq has been announced. "The third version of alsaseq, bindings to the ALSA sequencer has been released. A Makefile with test and install options was added to simplify building and installation; some constants were updated according to recent versions of the ALSA library."

Full Story (comments: none)

Announcing LilyPond 2.12

Version 2.12 of LilyPond, a music typesetting system, has been announced. "Our joy is tinged with sadness, as long-time LilyPond contributor and friend Rune Zedeler passed away on the 2nd of July, 2008. This release is dedicated to him."

Full Story (comments: none)

Office Suites Newsletter

The December, 2008 edition of the Newsletter is out with the latest OO.o office suite articles and events.

Full Story (comments: none)

Video Applications

IMDbPY 3.9 released

Version 3.9 of IMDbPY has been announced. "IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about movies, people, characters and companies. With this release, improved search for series episodes, support for dumping data in CSV files. Many bugs fixed and other minor improvements."

Full Story (comments: none)


BleachBit 0.2.0 released

Version 0.2.0 of BleachBit has been announced. "BleachBit is a registry, Internet history, privacy, and file cleaner for Linux and Python v2.4 - v2.6."

Full Story (comments: none)

TakeNote 0.4.5 announced

Version 0.4.5 of TakeNote has been announced, some new capabilities have been added. "TakeNote is a simple cross-platform note taking program implemented in Python. I have been using it for my research and class notes, but it should be applicable to many note taking situations."

Full Story (comments: none)

Release 0.71.5 of Task Coach

Version 0.71.5 of Task Coach has been announced, it adds one usability enhancement and some bug fixes. "Task Coach is a simple task manager that allows for hierarchical tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and is developed using Python and wxPython."

Full Story (comments: none)

Languages and Tools

Assembly Language

The Linux binutils is released

Version of the Linux binutils has been announced. "This is the beta release of binutils for Linux, which is based on binutils 2009 0106 in CVS on plus various changes. It is purely for Linux. All relevant patches in patches have been applied to the source tree."

Full Story (comments: none)


GCC 4.4.0 Status Report

The January 6, 2009 edition of the GCC 4.4.0 Status Report has been published. "The trunk remains Stage 4, so only fixes for regressions (and changes to documentation) are allowed. As stated previously, the GCC 4.4 branch will be created when there are no open P1s and the total number of P1, P2, and P3 regressions is under 100. One issue that remains is removing the old register allocator."

Full Story (comments: none)


Caml Weekly News

The December 30, 2008 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)

Caml Weekly News

The January 6, 2009 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)


itools 0.50.1 released

Version 0.50.1 of itools, a Python library meta-package, has been announced. "The 'frozendict' class has been added and the 'freeze' function has been finished. The 'is_datatype' function has been deprecated. Various fixes, including #483 and #484."

Full Story (comments: none)

PyYAML-3.08: Now with Python 3 support

Version 3.08 of PyYAML has been announced. "YAML is a data serialization format designed for human readability and interaction with scripting languages. PyYAML is a YAML parser and emitter for Python. PyYAML features a complete YAML 1.1 parser, Unicode support, pickle support, capable extension API, and sensible error messages. PyYAML supports standard YAML tags and provides Python-specific tags that allow to represent an arbitrary Python object."

Full Story (comments: none)

Python-URL! - weekly Python news and links

The December 29, 2008 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)

Python-URL! - weekly Python news and links

The January 6, 2009 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)


Tcl-URL! - weekly Tcl news and links

The January 7, 2009 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)


RFIDIOt 01.v released

Version 01.v of RFIDIOt has been announced, it adds a new JAVA applet for the JCOP card. "RFIDIOt is an open source python library for exploring RFID devices."

Full Story (comments: none)


Valgrind 3.4.0 is available

Version 3.4.0 of Valgrind has been announced. "Valgrind is an open-source suite of simulation based debugging and profiling tools. With the tools that come with Valgrind, you can automatically detect many memory management and threading bugs, which avoids hours of frustrating bug-hunting, and makes your code more stable. You can also perform detailed time and space profiling to help speed up and slim down your programs. 3.4.0 brings some significant tool improvements. Memcheck can now report the origin of uninitialised values, the thread checkers Helgrind and Drd are much improved, and we have a new experimental tool, exp-Ptrcheck, which is able to detect overruns of stack and global arrays."

Full Story (comments: none)

Version Control

Mercurial 1.1.2 released

Version 1.1.2 of the Mercurial source control management system has been announced. "This is a minor release including one security fix and two minor bug fixes."

Full Story (comments: none)

monotone 0.42 released

Version 0.42 of monotone has been announced. "Amongst the usual bug fixes, small improvements and speedups in several areas, the outstanding shiny new feature is that you can now handle merge conflicts asynchronously".

Full Story (comments: none)

Page editor: Forrest Cook
Next page: Linux in the news>>

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds