Well I can answer on some of the rebuilding/cleaning tasks as I had researched these a little while ago, it had gotten me curious what they really were all about. So here goes.
It is important to know that there are three types of maintenance tasks: daily, weekly and monthly tasks. Each task has a specific job to do to help keep your Mac healthy and purring like a kitten.
All these tasks run when the Mac is not in sleep mode or shut down every night between 3:00 a.m. and 5:30 a.m. or around that time. If it is in sleep mode or it is shut down, these do not run. In the long run, not running these self-maintenance tasks can mess up the system and your Mac will start behaving a bit wonky.
Add to that the fact that, while caches help your Mac run faster, sometimes these can become corrupt (why? I just dunno... *scratches head
*) and a simple flushing of the caches will help give stability to your Mac once again. The cleaning out of caches can be performed with MainMenu, OnyX, Tiger Cache Cleaner
and a whole lot more utilities.
Here are a few definitions or explanations I found about certain terms we find in either MainMenu or OnyX in the cleaning and rebuilding tasks.
One of the cleaning/rebuilding tasks is about LaunchServices
Mac OS X Launch Services is an API that enables a running application to open other applications or their document files or URLs (uniform resource locators) in a way similar to the Finder or the Dock. Using Launch Services, an application can perform such tasks as:
• Open (launch or activate) another application
• Open a document or a URL in another application
• Identify the preferred application for opening a given document or URL
• Register information about the kinds of document files and URLs an application is capable of opening
• Obtain appropriate information for displaying a file or URL on the screen, such as its icon, display name, and kind string
• Maintain and update the contents of the Recent Items menu...
The way I easily understand this concept is that LaunchServices is what tells the system that with a certain file type, a specific application needs to be launched to open and read this file.
What is the Locate database? Well according to this MacDevCenter article
One of the most useful Unix CLI utilities is locate, a lightning-fast file finder. locate does its magic by searching through a database of filenames created by indexing every pathname on your system. Instead of scanning your disks to find a file, locate just whips through its pre-indexed database, and returns results almost immediately.
However, locate results are only as accurate as its database. Files added after the database has been built will not be "located." locate is not the tool for every search, but with weekly database rebuilding, it’s great for quickly finding that long-lost file you know is tucked away somewhere on your drive. The first task of the weekly script, then, is to rebuild the locate database. ...
Another rebuilding task mentioned is the WhatIs database
The "whatis" database is a "set of database files containing short descriptions of system commands" (according to the on-line help) that are commonly used at the Mac OS X command line -- such as in the Terminal application.
The whatis database should be updated periodically to reflect new command-line utilities available on the computer. The command "makewhatis" can be run to do this.
In practice, you should not need to update the whatis database yourself, as it is already refreshed weekly by Mac OS X maintenance scripts
On a more general note, I thought it would be ok to add some info on a few other things we mention a lot but might be a bit hard to know what it is or what it does exactly.
One thing that has always puzzled me was what is prebinding
...Mac OS X uses a concept called "prebinding" to optimize Mach-O (the default executable format) applications to launch faster (by reducing the work of the runtime linker).
The dynamic link editor resolves undefined symbols in an executable (and dynamic libraries) at run time. This activity involves mapping the dynamic code to free address ranges and computing the resultant symbol addresses. If a dynamic library is compiled with prebinding support, it can be predefined at a given (preferred) address range. This way, dyld can use predefined addresses to reference symbols in such a library. For this to work, libraries cannot have preferred addresses that overlap. Apple marks several address ranges as either "reserved" or "preferred" for its own software, and specifies allowable ranges for 3rd party (including the end users') libraries to use to support prebinding. ...
And what about permissions? Well permissions is a Unix thing and it is wonderfully explained in this OSXFAQ webpage, Lesson 1 - Users, Groups, and Permissions
. You will need to read the entire article as it is quite descriptive and well-written.
So what features I use in MainMenu? Since I don't leave my iMac on at night, I use the maintenance tasks commands every day. In fact, when I fire up the iMac, it's the first thing I do before opening Mail or Safari.
Sometimes when I get some quirky behaviour I will empty the various caches. I don't need to do it all that much but it has happened a couple of times since I've been using this iMac which is about 15 months.
So basically what I would suggest is this: run the daily tasks, once a week pick a day to run its daily task but also the weekly task and about every four weeks on the day of your choice, run the daily, weekly and monthly tasks. That should keep you safe.
Cache cleaning should only be done when the Mac is starting to behave erratically. Same thing for the rebuilding scripts.
Although it seemed that Mac OS X Tiger (10.4.x) has fixed the disk permissions problems Mac OS X Panther (10.3.x) had, I've seen a couple of threads in here lately wherer running repair disk permissions
with the help of Apple's Disk Utility has fixed some problems so I guess it isn't completely fixed after all. So that could still be another weapon in your arsenal against Mac problems.
So I hope this helps you a bit. :girl: