Чому на Mac OS X є /tmp
посилання /private/tmp
на? Іншими словами, чому це не /tmp
просто звичайний каталог, як на Linux або BSD? Я розумію, як це працює, і не заперечую, мене просто цікавлять (історичні?) Міркування, що стоять за цим.
Чому на Mac OS X є /tmp
посилання /private/tmp
на? Іншими словами, чому це не /tmp
просто звичайний каталог, як на Linux або BSD? Я розумію, як це працює, і не заперечую, мене просто цікавлять (історичні?) Міркування, що стоять за цим.
Відповіді:
AIUI - це захоплення від NextStep (на якому базується OS X), і NextStep зробив це для підтримки NetBooting. Ідея полягала в тому, що ви можете завантажуватися з мережевого тома (мабуть, лише для читання, і, звичайно, ділиться з іншими комп'ютерами), і на початку процесу завантаження змонтувати локальний (для запису) том на / приватний; як згадувалося g, це дозволило змінити час виконання / var і / tmp, а також налаштування для комп'ютера в / і т.д.
Це більше не потрібно, оскільки поточна система NetBoot від Apple використовує тіньовий образ диска, щоб зберігати зміни в будь-якій томі завантаження. Але деякі програми / docs / etc. тепер припускають, що файли живуть під / приватними, тому перемикати їх назад буде занадто багато проблем ...
Я завжди цікавився одного і того ж. Я не можу знайти жодної документації для його підтримки, але зазвичай ця модель використовується для спрощення зберігання файлів на іншому томі (наприклад, на жорсткому диску). Це дозволяє встановити диск (наприклад, приєднати) до файлової системи в одному місці. Наприклад , якщо привід встановлений на , /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
).