Tuesday, December 30, 2008

Myth: Linux Doesn't Need a Registry Cleaner


Some say Linux's .rpm and .deb installation packages uninstall cleanly, so there is no need for any registry cleaners like CCleaner. Here are a few counterexamples to the myth:

OpenOffice.org

Years ago you installed OpenOffice.org version 1, and since you've upgraded to version 3. Now you wonder why Firefox still associates .doc files with OpenOffice.org version 1, which you long ago deleted.

OpenOffice.org didn't support .rpm or .deb installations until version 2. Version 1 copied files (including file associations and menu entries) to the user's home directory.

RealPlayer

For users without root privileges (or just for convenience), RealPlayer11GOLD.bin installs itself to the user's home directory. Unless you use an arcane command to uninstall RealPlayer, dozens of files remain in ~/.local. I counted three menu entry .desktop files, 20 file association .desktop files, 206 PNG icons, and some translations.

Beagle

Install Beagle (an indexing search tool), and it may add itself to ~/.config/autostart/, a directory for automatically starting applications with the window manager (GNOME or KDE). Then, uninstall Beagle using the standard .rpm or .deb removal method. However, the package removal method doesn't touch ~/.config/autostart/.

Wine

Install a Windows application on Linux though Wine, and Wine will integrate the Windows applications with your Linux applications. Convenient! Now, as is common with Wine, delete ~/.wine/, but the broken menu entries remain.

Unfortunately GNOME and Wine doesn't handle this situation gracefully. If you click on any one of these shortcuts, there is no error message whatsoever. Technical, the shortcut points to Wine, which is still installed, so GNOME is not aware of an error. Wine prints an error message to stderr, but that's never shown on the screen. Also, GNOME doesn't support menu editing through the intuitive right-click command.

Conclusion

These are just a few examples of why Linux needs a smart cleaner. It's true that there is no central "Linux registry" like Windows has, but Linux certainly does have multiple systems for registering menu entries, shortcuts, file associations, etc.

The new BleachBit 0.2.0 cleans the .desktop files from the above examples. No, there is no promise your system will run much faster. And no, it doesn't clean everything yet---remember "Release early, release often"---but tomorrow's BleachBit will go even further.

14 comments:

Quikee said...

A package uninstall procedure will never touch anything in your home - this is also the correct behavior. Linux doesn't need a registry cleaner, but a nice home (or also /etc) cleaner is a good idea.

zAa16VRqn_QOcUf_R99IlS4lAvWAS09F said...

Dude ... what distro are YOU running that still has Oo.o V1????? Yikes.

That point aside, yes, it's kind of annoying to find all sorts of orphaned .someapp directories when you show hidden files, but it is also dead simple to remove those manually compared to trying to clean out a Windows registry by hand!

Linux: CTRL+H to show hidden files (Ubuntu/Nautilus) ... click to select dir ... SHIFT+DEL and they're gone.

Windows: Where's the menu entry for regedit? You don't need CLI or typing commands in Windows, remember? It's all GUI, right?

Linux "registry cleaning" is no harder than file management in Windows Explorer. Registry cleaning in Windows requires paying for 3rd party apps to do the job because your average human would completely hose their install trying to figure out that ungodly beast.

danns said...

Learn about the structure of the OS you are using and how to use it before you post stuff like this. As previously mentioned this is very easy to clean up and does not require a tool, only an understanding of what you are doing and why. On top of that, unlike the windows registry, if you delete these files you do not risk destroying your system, only setting your applications back to defaults.

Generally speaking, these files take up such little space. The exceptions being Firefox and Thunderbird config directories which will store web cache and emails.

supersoundguy said...

Perhaps we should view Linux as what it is not (hint: it's not Windows). Saving configs in the dotfiles is intended to allow for ease of reinstallation and for migration. You open up a whole can of worms when a product starts treating all home directories the same and goes mucking around with the configs. Long story short...know what the dotfiles do and manage them yourself!

Andrew Z said...

Danns: Correct, a tool is not required on Linux or on Windows, but most people don't know how to do it manually. Also, for those that do know how, a tool is faster and potentially more accurate. I am reminded of this argument: "Real men use VIM. No, Emacs! No, real men push the electron using sheer will!"

Yes, the .desktop files require little space. Removing RealPlayer's PNGs would save more space. BleachBit recovers disk space primarily through other operations (such as cleaning /tmp and the Trash Can).

swiftnetcomputers said...

Cleaning a registry is not the same as removing an orphaned file or changing a file association....
The author is comparing 'apples to oranges'.

Andrew Z said...

swiftnetcomputers: What do you think CCleaner does? CCleaner's registry cleaner removes orphaned registry keys. It's not significant whether the object is a key (in a hierarchical registry directory) or a file (in a file-based registration convention).

JK said...

As has been pointed out, saving old config files is a feature, not a bug. It lets the user merge in changes and preferences gracefully, and manually, as should be done. And as for a tool being faster or more accurate... rm -rf .folder. Oh, wow, that took a whole half a second! Think of how much time we could save by scanning all home directories, then choosing what we want to delete with checkboxes, then clicking "Cleanup" then clicking "Yes, I really want to do this!"

No thanks. I'll happily move forward with they way I do things, because it works.

oiaohm said...

The wine one has a wine bug and is in the long list of things to fix.

Linux does not need a registry cleaner. Instead it file cleaner that can clean up broken links. Really broken link cleaner most likely will be part of system management in Linux in time. Where it always should have been not some special third party tool.

Russell said...

The tool is meant for folks that are used to Windows. Its a nice tool. Does what it is supposed to do. If we want Linux to appeal to the masses, tools like these are a good thing. Its harmless and works.

bryonak said...

Full credit for the following text goes to koenn from ubuntuforums.org....


Linux configuration is stored in text files. They only get read when an application needs them. If the app in question has been removed but the config file hasn't been removed, all you are suffering from is a few KB of text on your hard disk.

Now with the Windiows registry :
A) it grows every time an application adds a key, and it doesn't schrink again, even if a key is deleted
B) It's loaded to memory (some say entirely, but it may also be just large chuncks of it) when the system boots (hardware conf) and when a user logs on (user conf)
So you have an ever expanding blob taking up memory every time the system boots.
That's why Windows systems over time boot more slowly (the registry grows so it takes longer to load it) and might become sluggish (less available memory). Registry cleaners claim to remedy this.

Some orphaned text files taking up a few KB of disk space don't have that effect. The only gain in removing them is to recover tose few bytes of disk space.
Also, calling a bunch of text files "a registry" in the sense of the Windows registry, just because they happen to be used for the same purpose of holding configuration data, is misleading, and utter nonsense. Are you a salesman ?

Andrew Z said...

broynak and koenn: You misunderstand: I don't claim a performance benefit or a significant gain in disk space, and I'm not saying this is just like Windows. The primary benefit of removing these files is to clean up menus and file associations that point to software that no longer exists.

That said, these broken .desktop files are loaded into memory.

If you don't like the term "registry cleaner," then call it a menu cleaner.

jtkleeme said...

while linux isn't as bad as windows about orphaning files, a tool like this could be helpful. I have had several levels of screaming heck trying to upgrade apps and have the same sort of file association problems. One specifically is the above openoffice issue and firefox always seems to play games with me. This is almost cute if it is just my own little userspace problem but adding dozens of angry users causes a ringing sound in my ears... literally. A real 'tool' would allow me to make changes to dot files on all of my users' desktops at once. Can this do that?

Any tool that helps people of any level use linux easily is a good thing. If we are going to win the war we need all the guns we can get. Windows people are used to using GUI for everything. Now the only time they see cli is if their machine is busted. No wonder it frightens them.

A windows like registry is one reason that I ran screaming from that freakish beast of an OS. That and defrag. I haven't run defrag on a HD in years!! JOY! PEACE! Please don't tell me that someone id trying to find a way to defrag an EXTx partition or I'll get my shotgun.

Wine? I guess. VMware running a virtual terminal makes me silly. I get a warm fuzzy feeling from booting windows inside a fake box like a caged animal. When a user realizes that their windows desktop is running on top of linux and their 'life' is just a file to me it is like something out of the Matrix series.

Andrew Z said...

jtkleeme: BleachBit is currently a GUI tool you can run on each desktop individually, and it should go pretty fast. I have left the design as such so that in the future it will be possible to run as a command line tool.

Regarding ExtX defrag, don't look into Ext4. :)

Post a Comment

Note: Only a member of this blog may post a comment.

 

Creative Commons License
BleachBit blog by Andrew Ziem is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License. This license refers only to this blog (and not the source code of the application). Please link back to bleachbit.blogspot.com.