OK, another one for posterity. I’ve a desktop PC that I’ve converted into a Ubuntu-based server by putting it in my utility room with no monitor connected to it (that’s what makes it a server, see?). I’ve attached a 750GB external USB HDD to it and run SMB/CIFS and netatalk (for my OS X machines). That’s what makes it a file server, right?
I occasionally run into problems when Ubuntu reboots though – the partitions on the external drive can’t be mounted for whatever reason (usually because they weren’t dismounted properly before the reboot). Ubuntu’s boot process stops and it displays a prompt directing the user to press ‘S’ to skip mounting or ‘M’ to manually fix whatever the problem was. Although you can ping the server, you can’t SSH to it. Once you’ve figured out that that’s why it won’t boot, all you need to do is connect a keyboard, press ‘S’ a couple of times (once for each partition on the external HDD) and Ubuntu will complete its boot cycle. That gets a bit tedious though, so to fix this once and for all, edit your fstab (/etc/fstab) and add ‘nobootwait’ to the options for each drive.
/dev/disk/by-label/STUFF /mnt/STUFF hfsplus auto,users,rw,uid=dermot,nobootwait 0 0
/dev/disk/by-label/MOARSTUFF /mnt/MOARSTUFF hfsplus auto,users,rw,uid=dermot,nobootwait 0 0