Darwin has a private directory that I don't see in the Unix documentation I've found. Is that a Mac-specific directory? What is it for? Is it preserved between system upgrades?
What is Darwin's 'private' directory for?
directory structure;darwin
/private is a container for parts of the standard unix filesystem hierarchy that may vary between individual computers (e.g. /etc is a symlink to /private/etc, where the actual config files are). AIUI this was originally done to support netbooting under NextSTEP. The idea was that / would be a network-mounted shared drive, and a local volume would be mounted on /private to store the per-computer files (see this previous apple.se answer ). This need has long since passed, but the organization has stuck around by inertia.As for its treatment during upgrades: it's mostly left in place during upgrades, but is subject to modification. For example, here's a list of the new/changed files in the 10.8.2 update:$ pkgutil --payload-files OSXUpd10.8.2.pkg | grep ./private./private./private/etc./private/var./private/var/db./private/var/tmp./private/var/tmp/DeferredInstallFixup.file_list./private/var/db/.SystemPolicy-default./private/var/db/dslocal./private/var/db/dslocal/nodes./private/var/db/dslocal/nodes/Default./private/var/db/dslocal/nodes/Default/groups./private/var/db/dslocal/nodes/Default/groups/_assetcache.plist./private/var/db/dslocal/nodes/Default/users./private/var/db/dslocal/nodes/Default/users/_assetcache.plist./private/var/db/dslocal/nodes/Default/users/_geod.plist./private/var/db/gke.auth./private/var/db/gke.sigs./private/etc/authorization.mergeNote that /private/var/db/dslocal/nodes/Default/ is OS X's equivalent of /etc/passwd, /etc/groups, etc on a standard unix system, so what the install is doing is creating (or replacing if they already existed) the users _assetcache and _geod, and the group _assetcache. Other users & groups will be left in place.Also, the above list may be incomplete. It only shows files directly included in the update's payload, not files that will be modified by scripts included in the installer.