Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 3 down vote accepted

/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.merge

Note 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.

share|improve this answer

Your Answer

 
discard

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.