Почему /tmp
в /private/tmp
Mac OS X есть символическая ссылка ? Другими словами, почему не /tmp
просто обычный каталог, как в Linux или BSD? Я понимаю, как это работает, и я не против, я просто интересуюсь (историческими?) Причинами этого.
Почему /tmp
в /private/tmp
Mac OS X есть символическая ссылка ? Другими словами, почему не /tmp
просто обычный каталог, как в Linux или BSD? Я понимаю, как это работает, и я не против, я просто интересуюсь (историческими?) Причинами этого.
Ответы:
AIUI это удержание от NextStep (на котором основана OS X), и NextStep сделал это для поддержки NetBooting. Идея состояла в том, чтобы вы могли загружаться с сетевого тома (возможно, только для чтения и, конечно, для совместного использования с другими компьютерами), и в начале процесса загрузки монтировать локальный (доступный для записи) том в / private; как уже упоминалось, это позволило модифицировать во время выполнения / var и / tmp, а также настройки для каждого компьютера в / etc.
Это больше не нужно, поскольку текущая система Apple NetBoot использует образ теневого диска для хранения изменений в любом месте загрузочного тома. Но некоторые программы / docs / etc теперь предполагают, что файлы находятся в / private, поэтому было бы слишком сложно переключить их обратно ...
Я всегда удивлялся одному и тому же. Я не могу найти какую-либо документацию для его поддержки, но обычно этот шаблон используется для облегчения хранения файлов на другом томе (например, на жестком диске). Это позволяет монтировать диск (например, подключать) в файловую систему в одном месте. Например , если привод установлен на , /private
а затем папки /etc
, /tmp
и /var
затем все они расположены на этом другом диске.
Я не могу сказать, почему это было бы полезно. Стоит отметить, однако, что эти три папки содержат «данные» файлы , такие как конфигурация, временный, журнал, преходящего и файлы базы данных , а не исполняемый код , содержащийся в /bin
, /sbin
и /usr
папки.
Не уверен насчет исторической причины, но OS X всегда «реорганизовывала» типичную структуру Unix. /tmp
это не единственное, что идет /private
, он также имеет /etc
и /var
.
Может быть, кто-то с большим опытом OS X может придумать что-то более разумное.
/tmp
является символическим линком для /private/etc
поддержания четко разделенных 2 файловых систем:
/
который можно монтировать только для чтения, чтобы защитить его от любых случайных или нежелательных изменений, а также чтобы он всегда заполнялся постоянно увеличивающимися файлами (журналами и временными файлами),
/private
который может быть смонтирован как чтение-запись, и который содержит любой каталог, содержащий изменяемые файлы.
Если вы посмотрите на /
вас, вы увидите 3 каталога, которые являются похожими символическими ссылками по этой же причине:
cd /
ls -al | grep '> private'
Такое разделение доступа между файловыми системами для чтения и записи и только для чтения фактически не используется (в MacOS X), но для достижения этого разделения безопасности все есть.
Некоторые администраторы применяют это разделение безопасности, определяя определенную /private
файловую систему с соответствующим размером и соответствующими параметрами монтирования (в первую очередь nosuid
).