Uninstalling Software

Uninstalling Software

At some point you'll want to remove software that you've installed. You may have tried out some software that you didn't like, or you may want to free up some disk space or clean up some clutter. Whatever the reason, uninstalling software is one of those things that everyone ends up doing at some point. Here's how to do it right.

Uninstalling Mac OS Software

It's rare that you would want to uninstall part of the Mac OS; more importantly, it's generally not a good idea. However, there are a few things installed by OS X, such as language files, that you may not want or need. In addition, if you've installed the OS X Developer Tools, you may decide down the line that you no longer want them (they take up quite a bit of space). Here's how to get rid of them.

Removing Unwanted Language Support

User Level:

admin

Affects:

computer

Terminal:

no

Unless you specifically tell the OS X installer not to, it will install support for a wide range of languages; if your Mac came with OS X, language support files were already installed. While it's neat that your computer supports so many languages, if you're like most people, you probably use only one, or perhaps two, languages. Yet these language support files take up hundreds of megabytes of space on your hard drive. You can regain this space by removing language support files for languages you never use. It's possible to do this using Terminal, but it's much easier to use one of the many utilities that have sprung up since Mac OS X was released. My favorite is the sponsorware Monolingual (http://homepage.mac.com/jschrier/). Launch Monolingual, and you're presented with a list of languages supported by Mac OS X (including non-American English variants) (Figure 4.9); check the boxes next to those you wish to remove, then click the Remove button. You'll be asked for an admin username and password, and will be asked if you really want to remove these localization resources. If you do, they'll be removed just like that.

Figure 4.9: Monolingual lets you remove extra language support

If you want to get any of these files back, you either need to use a utility like Pacifist, as described earlier in this chapter, or you need to reinstall OS X, so be sure you really want to remove them!

Removing the OS X Developer Tools

User Level:

admin

Affects:

computer

Terminal:

yes

I recommended in the Introduction that you install the Mac OS X Developer Tools, as some of those tools are very useful for some exercises in this book. However, if you ever decide that you want to get rid of them, you can't just throw away the /Developer folder; the Developer Tools installer actually installs files in several other locations on your hard drive. Luckily, one of the files inside the /Developer folder is a script that uninstalls all Developer Tools files. To run the script, launch Terminal and type sudo /Developer/Tools/uninstall-devtools.pl <RETURN>. Enter your password when prompted, and the script will do the rest.

Uninstalling Third-Party Software

Most third-party software can be uninstalled without consequence. However, some are easier to uninstall than others. Here are a few methods for removing software, easiest first. Besides deleting the software itself, most applications and system add-ons also create preference files, usually with the name of the software in the name, in either /Library/ Preferences or ~/Library Preferences. Although it won't do you any harm to keep these files, you can delete them if you want to completely remove any trace of a piece of software.

Manually Deleting Software

User Level:

normal or admin

Affects:

user or computer

Terminal:

no

If a particular piece of software was installed via drag-and-drop, chances are it can be removed via drag-and-drop (as in, drag it out of its folder and drop it onto the Trash). If the software was installed by an admin user into /Applications, /Library, or another systemlevel directory, only an admin will be able to delete it; if the software was installed by a user into the user's home directory, only that user will be able to delete it.

Uninstalling Packages Using OS X Package Manager

User Level:

admin

Affects:

computer

Terminal:

no

I discussed installer packages earlier in this chapter. In addition to being a convenient way to install packages, most well-behaved installer packages also leave behind a "guide" to make removing them easier, in the form of an installation receipt in /Library/Receipts. All you need is a package uninstaller such as DesInstaller (http://krugazor.free.fr/software/desinstaller/DesInstaller.php) that can read these receipts.

When you launch DesInstaller, you're presented with an empty window with five buttons; click the left-most button to list all the installed packages in the DesInstaller window (Figure 4.10). (Unfortunately, DesInstaller's buttons aren't labeled very well; you can reveal a button's function by holding the cursor over it for a few seconds.) The second button from the left opens and closes the package content drawer; when the drawer is open, double-click on a package to view the files that were installed by that package. The third button lets you create a an archive of a package before you uninstall it (in case you change your mind later); however, these archives require running scripts in Terminal in order to reinstall, so they aren't the most convenient backups. Finally, the fourth button is the "uninstaller" button that lets you remove an installed package; select the package you wish to uninstall and click this button—after authenticating, it's gone. (The button all the way on the right lets you create a queue of uninstalls, so that you can remove packages in batches.)

Click To expand
Figure 4.10: Selecting a package to uninstall with DesInstaller
Warning 

You can actually uninstall Apple-provided software packages using DesInstaller. For individual applications like iTunes, iSync, etc., this is OK, but I don't recommend doing this for other items unless you know exactly what you're doing. Removing things like Essentials.pkg or BaseSystem.pkg will leave your Mac in an unusable state and require you to reinstall Mac OS X!

Taking Advantage of Installation Logs

User Level:

usually admin

Affects:

computer

Terminal:

no

Some software is neither self-contained, nor does it provide a convenient receipt to tell a utility such as DesInstaller how to remove all of its pieces. For these types of software, you'll have to find all the pieces and delete them manually. If you're lucky, the software installer will have left an installation log somewhere on your hard drive. If so, you can use this log to locate all of the files that need to be deleted for a complete removal of the software.

For example, the following is part of the installer log from Symantec's Norton Solutions (which was saved inside the Norton Solutions folder in /Applications):

   Created the Folder: Senior:Applications:Norton Solutions:
   Created the Folder: Senior:Library:Application Support:Norton Solutions Support:
   Created the Folder: Senior:Library:CFMSupport:
   Created the Folder: Senior:Library:Documentation:Help:LiveUpdate Help:html:
   Created the Folder: Senior:Library:Documentation:Help:Norton Help Scripts:
   Created the Folder: Senior:Library:Documentation:Help:Norton Utilities Help:
   Created the Folder: Senior:Library:Preferences:Norton Utilities Preferences:
   Created the Folder: Senior:Library:StartupItems:NortonMissedTasks:
   Created the Folder: Senior:Library:StartupItems:NUMCompatibilityCheck:
   Created the Folder: Senior:Library:StartupItems:TrackDelete:
   Created the Folder: Senior:Library:StartupItems:VolumeAssist:
   Created the Folder: Senior:System:Library:Extensions:DeleteTrap.kext:
   Created the Folder: Senior:System:Library:Extensions:symfs.kext:
   Created the Folder: Senior:System:Library:Extensions:SymOSXKernelUtilities.kext:

Using this log, I could find each installed file and folder and delete it (although because some files and folders were installed in restricted directories, I'd need to use a utility such as XRay to delete them).

Using Third-Party Drive Cleaners

Finally, if none of the above methods is successful, there are also a number of third-party utilities that comb your hard drive for files and folders related to various applications and software packages, and then give you the option to remove them. However, most of these utilities simply search by creator codes, file types, and file extensions (topics I cover in more detail in the next chapter), meaning they aren't really doing much more than you could do yourself using OS X's Find utility (also covered in the next chapter). In addition, because they tend to rely more on educated guesses about some files than on receipts and installation logs (which are both fairly reliable), there's a greater chance a file or document that shouldn't be deleted will be accidentally. If you're suspecting that I'm not really a big fan of these types of utilities, you're right.