Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why is /tmp a symlink to /private/tmp on Mac OS X? In other words, why isn't /tmp just a regular directory, like on Linux or BSD? I understand how it works and I don't mind it, I'm just interested in the (historical?) reasoning behind it.

share|improve this question
up vote 25 down vote accepted

AIUI it's a holdover from NextStep (which OS X is based on), and NextStep did it to support NetBooting. The idea was that you could boot from a network-hosted volume (probably read-only, and certainly shared with other computers), and early in the boot process mount a local (writable) volume on /private; as g mentioned, this allowed runtime-modification of /var and /tmp, as well as per-computer settings in /etc.

This isn't needed anymore, as Apple's current NetBoot system uses a shadow disk image to store changes anywhere on the boot volume. But some programs/docs/etc now assume the files live under /private, so it'd be too much trouble to switch them back...

share|improve this answer
"But some programs/docs/etc" lolpun (etc is symlinked to /private/etc) – Kevin Wheeler Aug 14 '15 at 0:59

I have always wondered the same thing. I can't find any documentation to support it, but typically this pattern is used to make it easier to store files on another volume (e.g. hard drive). This allows the drive to be mounted (e.g. attached) into the file system in one place. For example when the drive is mounted at /private and then the folders /etc, /tmp, and /var are then all located on that other drive.

What I can't say is why this would be beneficial. It is worth nothing, however, that these three folders contain "data" files such as configuration, temporary, log, transient and database files rather than executable code contained in the /bin, /sbin and /usr folders.

share|improve this answer

Not sure about the historical reason, but OS X always “reorganized” the typical Unix structure. tmp is not the only thing that goes to /private, it also has /etc and /var.

Maybe someone with more OS X background can come up with something more reasonable.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.