Bookmark this site!

Showing posts with label migration. Show all posts
Showing posts with label migration. Show all posts

2008-12-27

Starting over (again)

Lovely new MacBook Air — light as a feather pillow.

Power up.
Switch on.
My Air arrived with zero charge. I had a nervous few minutes with no response from the power button. I had time to read the FAQ, try again, and panic briefly before it eventually had enough charge to start up.
Setup admin account
Setup wireless
Software update
This may take some time (for me this was an 870MB download). While waiting you can Install Firefox
Software update again
Repeat until there are no further updates
Migrate user data from your TimeCapsule backup
Do this over ethernet, unless you want a long wait (I had 40GB to migrate. I get 2-3GB/h over a wire connected to my remote Express — 1.5GB/h with two wireless hops, and 7-8GB/h when wired directly to the Time Capsule.)
Setup user accounts
Include a working account for yourself
Configure Time Machine Backup for your new machine.
Start the initial backup.
This will take even more time (my initial backup is requires transfer of 55GB of data).
You can carry on with other tasks meanwhile. You can interrupt the process ("Stop Backing Up" in the Time Machine Menu), and resume later. Again, do as much of this as possible over a wired connection, to speed things up.
Use Calaboration to sync your Google calendars with iCal
Install Fink and Fink Commander
This allows you to install and manage various Unix utilities. I start with emacs-carbon.
Install MacPorts and Porticus
This also allows you to install and manage various Unix utilities and for many has more up-to-date versions. It also has a port of polyml. I start with polyml, tetex, bibtex2html and hevea. Porticus doesn't have carbon-emacs.
Install Kerberos Extras
Our "staffmail" imap server supports Kerberos authentication - just use the realm EASE.ED.AC.UK and your EASE user name and password. Unfortunately Apple haven't yet implemented this fundtionality on the iPhone — so syncing broke my email on the iPhone.
Change back to password authentication; sync again, so mail on the iPhone is back to normal; turn off sync; turn on Kerberos authentication on the Mac.
Install Developer Tools
Apart from anything else, this is probably the easiest way to get CVS installed.
Download iPhone SDK
Useful for the iPhone emulator which lets you see how your web pages will look on the iPhone. Maybe someday I'll write some code too!
Turn on the Safari Develop menu
To display the Develop menu in Safari 3.1 or higher, select the checkbox labeled "Show Develop menu in menu bar" in Safari's Advanced Preferences panel.

2008-04-28

Fixing mail.app’s IMAP date problem

Using imapsync to migrate mail from one IMAP server to another, I hit a problem. Google led me to the following description of the same issue:

The IMAP Date problem is the result of how mail.app figures out the Date Received time for an email. Rather than using the Date: header in the email it uses the time the file was written to the file system. This becomes a problem when files are copied to a new location on the server and the creation time of the file is changed.

Not mail.app's problem!

The solution is to use imapsync with the flag --syncinternaldates

I am now using

/usr/bin/imapsync --syncinternaldates \
     --host1 mail.inf.ed.ac.uk --user1 mfourman --ssl1 \
     --host2 imap.staffmail.ed.ac.uk --user2 mfourman -ssl2 \
     --noauthmd5
to finish the transfer of about 4GB of mail history.

To start, try it out on a small folder --folder Test

First test with --dry :

/usr/bin/imapsync --syncinternaldates  --folder Test \
     --host1 mail.inf.ed.ac.uk --user1 mfourman --ssl1 \
     --host2 imap.staffmail.ed.ac.uk --user2 mfourman -ssl2 \
     --noauthmd5 --delete --dry
If everything looks OK then run
/usr/bin/imapsync --syncinternaldates  --folder Test \
     --host1 mail.inf.ed.ac.uk --user1 mfourman --ssl1 \
     --host2 imap.staffmail.ed.ac.uk --user2 mfourman -ssl2 \
     --noauthmd5 --delete
Expunge from the source by hand (in Mail.app Mailbox > Erase Deleted Messages).

Using the --expunge flag upsets other users of the IMAP server:

Currently it is processing folder which is 100MB in size, it is deleting (and then expunging) one message at a time. The way that is implemented on the server, is that the message is deleted, and then the whole file is written out again with that one message removed. This is leading to a lot of disk IO.

That's the short story. The actual story was more involved and also included using my gmail IMAP account as a temporary buffer to recover from some false starts. (Free 6.5GB quota - thank you Google!)