I was almost ready with my rsync scripts and a great dose of patience to migrate all my stuff to the new beast when one of my colleagues pointed me to Migration Assistant. For me, that was one of those misterious icons you never use, probably being there for obscure reasons I certainly don't need to cope with, like Grapher (/Application/Utilities/Grapher.app), or ODBC Administrator (/Application/Utilities/ODBC Administrator.app), or [Put your favourite example here]. You know, that kind of stuff even Steve Jobs doesn't know exactly why is there or what is for.
Well, it turns out that Migration Assistant is really really useful and it does really really work. All you need is a firewire cable, then:
- you connect the old mac with the new one
- you start the Migration Assistant (/Application/Utilities/Migration Assistant.app), or, even better, you choose to "migrate data from another mac" during the setup procedure wizard
- you (re)start the old mac keeping the T button pressed: that makes your mac go in "firewire disk" mode. You will see a fancy firewire logo moving on your screen when it's ready
- you choose from a wizard what you want to migrate (Users, Applications, and so on). I selected all the checkboxes
- you wait :)
And then you will have a new mac, virtually identical to the old one. Same desktop, same apps, same stuff in the trash bin, same history in the browser, same network options, same items at startup, etc. I had only 3 minor issues, and here are the workarounds:
- Some icons on the Dock was broken, showing a question mark. I just clicked on them to solve this :)
- Alfresco didn't work anymore. Looking at the logs, it was really a postgres problem: the postgres user didn't migrate (in fact, it wasn't even selectable in the Migration Assistant wizard, probably because the UID was to low or too high to be in the normal user range, who knows?). This is really a piece of cake, just recreate the postgres user and group with the same UID/GID with Netinfo Manager (/Applications/Utilities/NetInfo Manager.app) or using the shell.
- The admin user wasn't anymore an admin! The user data correctly migrated, but OSX was confused and, although it had the Admin checkbox correctly set, couldn't act as an administrator (sudo for example didn't work). Being the only Admin user, OSX don't let you unset/reset the checkbox. The workaround here is simply to create another Foo admin user, then unset and reset your real Admin user Administration checkbox, and then delete the Foo admin user.
This time, the god of system administrators smiled at me and I had an up and running laptop in a few hours (just about 2 hours for 50Gb on the 400Mb firewire) and a few minutes to fix minor issues. Well done!