The most compatible partitioning OSX scheme?

As I wrote in my previous entry, various apple software has issues with HFSX, which is a Leopard interesting option for unix oldies.
I think there is probably no value to have filenames differing only in case (e.g., Readme an README), but, as a matter of fact these things can happen. And checking out project files with same name from subversion can be really annoying.

So, apparently OSX users have to face this decision:


  • HFS+, case insensitive, compatible with photoshop and other (poorly designed) software, but not unix compliant (potential problems with mysql, cvs, svn, etc.)

  • HFSX, case sensitive, unix compliant (mysql, cvs, svn, etc.) but facing potential problems with a lot of apple and third party software (filevault, photoshop CS3, photoshop elements, and probably lot of others)


Not an easy one, though I'd probably have gone for the HFS+. But luckily with Leopard is easy to partition your disk (ie you don't need anymore iPartition or similar), and you can mix and match HFS+ and HFSX partitions. So, to minimize the impact of case sensitivity/insensitivity problem, you can just slice up your disk in - let's say - 3 partitions:


  • The System one, case insensitive. Photoshop CS3 writes things in the /System and /Library folders, and its installer simply quits if you boot your mac from a case sensitive FS.

  • Another one with /Application and /Users, case insensitive. Here you will install all the adobe and other not-unix-compliant software. This will be the default for all your applications. Case insensitive /Users is needed for FileVault.
  • Another one for other unix software, case sensitive. Here you can checkout from cvs/svn, install mysql and so on. You can also mount /Users here if FileVault is not an option for you



To do that, just start DiskUtility (usually in /Applications/Utilities), select your OSX disk and choose the Partition tab. Then add as many partitions you like, and format them as planned. Easily done that said.

Ah, and don't forget to edit your .profile:


bind "set show-all-if-ambiguous On"
bind "set completion-ignore-case On"


so that bash don't get in your way when dealing with filenames differing only in case.
Comments (1)