Почему / tmp является символической ссылкой на / private / tmp?

37

Почему /tmpв /private/tmpMac OS X есть символическая ссылка ? Другими словами, почему не /tmpпросто обычный каталог, как в Linux или BSD? Я понимаю, как это работает, и я не против, я просто интересуюсь (историческими?) Причинами этого.

otto.poellath
источник

Ответы:

33

AIUI это удержание от NextStep (на котором основана OS X), и NextStep сделал это для поддержки NetBooting. Идея состояла в том, чтобы вы могли загружаться с сетевого тома (возможно, только для чтения и, конечно, для совместного использования с другими компьютерами), и в начале процесса загрузки монтировать локальный (доступный для записи) том в / private; как уже упоминалось, это позволило модифицировать во время выполнения / var и / tmp, а также настройки для каждого компьютера в / etc.

Это больше не нужно, поскольку текущая система Apple NetBoot использует образ теневого диска для хранения изменений в любом месте загрузочного тома. Но некоторые программы / docs / etc теперь предполагают, что файлы находятся в / private, поэтому было бы слишком сложно переключить их обратно ...

Гордон Дэвиссон
источник
"Но некоторые программы / документы / и т. Д." Lolpun (и т. Д. Символические ссылки на / private / и т. Д.)
Кевин Уилер
5

Я всегда удивлялся одному и тому же. Я не могу найти какую-либо документацию для его поддержки, но обычно этот шаблон используется для облегчения хранения файлов на другом томе (например, на жестком диске). Это позволяет монтировать диск (например, подключать) в файловую систему в одном месте. Например , если привод установлен на , /privateа затем папки /etc, /tmpи /varзатем все они расположены на этом другом диске.

Я не могу сказать, почему это было бы полезно. Стоит отметить, однако, что эти три папки содержат «данные» файлы , такие как конфигурация, временный, журнал, преходящего и файлы базы данных , а не исполняемый код , содержащийся в /bin, /sbinи /usrпапки.

г .
источник
1

Не уверен насчет исторической причины, но OS X всегда «реорганизовывала» типичную структуру Unix. /tmpэто не единственное, что идет /private, он также имеет /etcи /var.

Может быть, кто-то с большим опытом OS X может придумать что-то более разумное.

Мартин Маркончини
источник
-1

/tmpявляется символическим линком для /private/etcподдержания четко разделенных 2 файловых систем:

  • / который можно монтировать только для чтения, чтобы защитить его от любых случайных или нежелательных изменений, а также чтобы он всегда заполнялся постоянно увеличивающимися файлами (журналами и временными файлами),

  • /private который может быть смонтирован как чтение-запись, и который содержит любой каталог, содержащий изменяемые файлы.

Если вы посмотрите на /вас, вы увидите 3 каталога, которые являются похожими символическими ссылками по этой же причине:

cd /
ls -al | grep '> private'

Такое разделение доступа между файловыми системами для чтения и записи и только для чтения фактически не используется (в MacOS X), но для достижения этого разделения безопасности все есть.

Некоторые администраторы применяют это разделение безопасности, определяя определенную /private файловую систему с соответствующим размером и соответствующими параметрами монтирования (в первую очередь nosuid).

Дан
источник