Mac OS X Leopard: A Collection Of Pitfalls And Workarounds

This post describes the problems I encountered while upgrading to Mac OS X 10.5 "Leopard" and their solutions (where possible) in the order encountered, which may be of significance for a certain problem to be reproducable or not.

First of all I had made a backup of all relevant files on my notebook, which is strongly encouraged even for typical mac users accustomed to enhanced stability, which should not be taken for granted as we will see. The hardware was a MacBook with a dual core Intel processor and 2 GBytes of RAM.

Installation:

After inserting the installation DVD and switching to German as my preferred language, I had chosen the "Update" option from the menu, which yielded a "blue screen" with no interaction possibilites after the first reboot, and after the second, and so on. Apple has confirmed this problem, stating that third party "application enhancing software" causes this behaviour. After skimming about 100 posts in various forums I came to the conclusion that any installed software being in some sort "near" to the system is sufficient to get this phaenomenon. In my case it was either the ClamXav virus scanner or the GlowWorm firewall. But becaus I didn't know exactly I decided to undergo the general solution suggested by Apple to make at least an "Archive And Install":

When I managed to remember pressing the option key while booting and entering the open firmware password, I booted from the DVD and this time I chose "Archive And Install", which copies all programs, user accounts and settings to a directory "/Previous Systems", if the box for remembering the network settings had been marked. This time it worked.

OpenFirmware Password Utility:

By the way: The open firmware program for changing the password was not as easy to find as it was on the Tiger disc, although the directory still is "/Volumes/Mac OS X Install DVD/Applications/Utilities/". The directory is hidden in the finder. To copy it to Your harddrive You should either use the Terminal, or when the Leopard dis is mounted type Command+Shift+G in the Finder (or Desktop), enter the above mentioned path and You may drag a copy to where You want (mostly /Applications/Utilities).

KeePassX:

Now I needed my passwords for connecting to the rest of the world. There is an issue with the former KeePassX version, but thankfully there was a hotfix version for Leopard as well, which worked out of the box for me.

Problems with AirPort and attached drive(s):

Being always short on disk space on my notebook's hard drive I decided to back up the above mentioned "/Previous Systems" folder. My standard tool is rync although this perhaps was a little bit overdosed, because rsync has got its strengths for repeated backups, but first You never know and second I am accustomed to its synopsis. For some time rsync was syncing, the disk was spinning and rain was falling (on the outside) when all of a sudden I was to experience my first kernel panic on Mac OS ever ("ever" refeers to somewhat in the middle of 2003). After reboot I found in the crash log a line telling me that rsync was trying to write a "corrupt node" to an HFS+ volume. And I couldn't mount the remote disk again. After installing Apple's Update of the "login and keychain components", I could not even talk to the AirPort in general although it routed my internet traffic without distortion. After Resetting the AirPort (unplug, some whistling, re-plug) I was able to read the AirPort settings and mount the volume again, which now was empty! After releasing the drive and plugging it into the local USB port I got the message that the volume could not be repaired and I should reformat it. A second repair trial with the HD tool was aborted due to a "corrupt node in the tree structure" which now sounded familiar. Thanks to my paranoia I have more than one backup for really important files, but I still dont know how to make time which in turn means that I was not amused. So I dumped the old volume and had it reformatted for my first test of Leopard's new backup feature, the "Time Machine".

Time Machine:

Because I could not find any information in advance whether Time Machine needs the whole external drive exclusively or could use an image on that drive, I simply had to give it a try: No, you cannt use an image on that drive, and it does not require the drive to be used exclusively by itself. It creates a subdirectory under the drive's root and in it a hierarchiy of directories of machines, volumes and timestamps. It will use the drive until it is full, and there are no hidden files, directories or whartever - according to the help files. So one should be able to use it for other purposes as well. The throughput is reported to be around 8 to 10 MB/s in several forums, which I have not measured myself, but I can tell that it takes some time, especially and not surprisingly for the inital backup made.

Most important: It worked. But: The intervals of the snapshots taken are fixed (every hour, every day, and so on). Until now I did not find a facility to specify excludes by a pattern, or even a name for repeated subdirectories, e. g. like "vimbackup" or "Caches". An ongoing time machine run may be interrupted from the corresponding subpanel in system controls. I have tested unmounting the backup volume, which caused the backups to be paused as excpected. After mounting the corresponding volume again Time Machine resumed the backups, and I recovered a directory from a snapshot two days old. I did not make a complete system recovery from some point in the past; there are reports in the net, that this may cause to corrupt the whole installation (sorry, I have not saved the link).

NeoOffice:

Because this is my general purpose office package I installed the 2.2.2 version with german language pack and an offered "0-Patch" with Leopard support. The promised QuickLook feature then worked with OpenOffice files, although I still don't see the use of an overview consisting of a black outline in front of a black background. Maybe it's tweakable somewhere; I dont' know yet.

Developer Tools:

Nothing special here; the default installation (without WebObjects but including the CLI tools) worked for me. Any specialties and pitfalls arising from the new version will be covered later if appropriate. Only one remark: I am sure to have read in some kind of document I cannot remember anymore that die CLI tools are not part of the default installation, but they are.

(Lack Of) Security:

After installation Leopard's firewall is open (!) allowing incoming connections to any running service. The settings for the firewall are located in "System Settings" -> "Security" under the firewall tab. Before you switch on application dependant filtering, which usually is a fine mechanism to control outgoing traffic, beware! There are issues known, leading to applications not working anymore. For a concise reading about the whole thing I recommend this article on securosis.com. At the time of this writing the best compromise seems to be to disallow incoming connctions and enable the stealth mode by checking the box in the enhanced options dialog.

PostgreSQL:

To install a current version of this database I obtained the source files from the PostgreSQL download area and generally followed the instructions of this article which unfortunately is written in german, but an alternate source will get You to a running database as well, although the latter does not include an example for a new launch daemon control file. For those (like me) who experience warning of short shared memory or other kernel ressources when starting the database, this very short but sufficient posting may help.

MySQL:

If You were already runnning a MySQL of version 5.0.45, You can get along with more or less just copying Your old installation following these instructions. I had no luck in using this procedure, maybe because I was still using version 5.0.41. So I installed the 5.0.45 binary from the MySQL website, but did not install the System Preferences pane. Instead I used the launchd configuration from the above linked post.

Concluding remark:

This was all I needed for having my development stack working again. Of course there are several additional issues to be solved and I have not yet touched iPhoto or iTunes yet. By the way, since last night there are updates available: Better iPhone integration of iTunes and Quicktime. Facing the bugs of leopard one tends to wonder who at Apple is setting priorities.

Go Top