HFS+ case-sensitive or case-insensitive -- which type to use for the primary drive partition?
Solution 1:
Use the default (case-insensitive) unless you both a) know what you're doing and b) you absolutely have to. There are several programs (Norton Antivirus comes to mind) that won't work properly on a case-sensitive file system.
HFS is, by default, case-insensitive but case-preserving (i.e. it doesn't care what you type for comparison purposes, but it will remember what you type).
Solution 2:
One or other can break applications, case-insensitive is the default however. If you've been using case-insensitive without issues then there are no guarantees that a transition to case-sensitive will go well. Here's one example from the apple support pages:
...don’t assume your third-party software solutions work correctly with case sensitivity. Important: Case-sensitive names do not ignore Unicode ignorable characters. This means that a single directory can have several names that are considered equivalent using Unicode comparison rules, but they are considered distinct on a case-sensitive HFSX volume.
Solution 3:
There is a good reason to choose a case sensitive file system. If you are concerned by the quality and the security of the applications you run you might be interested by any early mechanism which may discriminate badly programmed applications.
An application which at one time create a file named conf
and later
try to open the same file with the name CONF
is at
least poorly written. This is just plain bad programming practice.
This kind of application is filled with vulnerabilities with the same
average probability all over its code length. This is a dangerous application.
This dangerous application will most probably crash on a case sensitive file system.
This dangerous application will not crash on a case insensitive file system.
(Some applications will crash on both, but we are not highly motivated to sort out these ones.)
Hence a case sensitive file system may be considered as a good tool to early detect and block poorly programmed applications.
On the other hand, this level of programming quality control is far from sufficient to ensure that you don't have any other vulnerability.
Solution 4:
There are some significant applications that will not work correctly with case sensitive. And there's really no reason to do it. I'm assuming since you're asking that you really don't have a reason to do it. You're definitely better off not doing it unless you have a specific reason, and don't care that many applications don't work right with it.