Mengapa / tmp symlink ke / private / tmp?

37

Mengapa /tmpsymlink ke /private/tmppada Mac OS X? Dengan kata lain, mengapa bukan /tmphanya direktori biasa, seperti di Linux atau BSD? Saya mengerti cara kerjanya dan saya tidak keberatan, saya hanya tertarik pada alasan (historis?) Di baliknya.

otto.poellath
sumber

Jawaban:

33

AIUI itu peninggalan dari NextStep (yang berbasis OS X), dan NextStep melakukannya untuk mendukung NetBooting. Idenya adalah bahwa Anda dapat boot dari volume yang di-host jaringan (mungkin hanya baca, dan tentu saja dibagikan dengan komputer lain), dan pada awal proses boot mount volume lokal (dapat ditulis) di / private; seperti yang disebutkan, ini memungkinkan modifikasi runtime dari / var dan / tmp, serta pengaturan per-komputer di / etc.

Ini tidak diperlukan lagi, karena sistem NetBoot Apple saat ini menggunakan bayangan disk image untuk menyimpan perubahan di mana saja pada volume boot. Tetapi beberapa program / docs / etc sekarang menganggap file-file tersebut hidup di bawah / private, jadi akan terlalu sulit untuk mengubahnya kembali ...

Gordon Davisson
sumber
"Tetapi beberapa program / docs / etc" lolpun (etc symlinked ke / private / etc)
Kevin Wheeler
5

Saya selalu bertanya-tanya hal yang sama. Saya tidak dapat menemukan dokumentasi untuk mendukungnya, tetapi biasanya pola ini digunakan untuk membuatnya lebih mudah untuk menyimpan file pada volume lain (misalnya hard drive). Ini memungkinkan drive untuk dipasang (misalnya terpasang) ke dalam sistem file di satu tempat. Misalnya ketika drive dipasang di /privatekemudian folder /etc, /tmpdan /varkemudian semua terletak pada drive lain.

Yang tidak bisa saya katakan adalah mengapa ini akan bermanfaat. Perlu dicatat, bagaimanapun, bahwa tiga folder ini berisi file "data" seperti konfigurasi, sementara, log, transien dan file database daripada kode yang dapat dieksekusi yang terkandung dalam /bin, /sbindan /usrfolder.

g.
sumber
1

Tidak yakin dengan alasan historisnya, tetapi OS X selalu "mengatur ulang" struktur Unix yang khas. /tmpbukan satu-satunya hal yang terjadi /private, ia juga memiliki /etcdan /var.

Mungkin seseorang dengan latar belakang OS X lebih banyak dapat menemukan sesuatu yang lebih masuk akal.

Martin Marconcini
sumber
-1

/tmpadalah lynk simbolik /private/etcuntuk mempertahankan 2 filesystem yang dipisahkan dengan jelas:

  • / yang dapat dipasang sebagai hanya-baca, untuk melindunginya dari modifikasi yang tidak disengaja atau tidak diinginkan, dan untuk melindunginya agar selalu diisi dengan file yang terus meningkat (log dan file sementara),

  • /private yang dapat dipasang sebagai baca-tulis, dan yang menampung direktori yang berisi file yang dapat dimodifikasi.

Jika Anda melihat, /Anda akan melihat 3 direktori yang memiliki tautan simbolik yang sama untuk alasan yang sama:

cd /
ls -al | grep '> private'

Pemisahan akses antara sistem file read-write dan read-only ini sebenarnya tidak digunakan (pada MacOS X), tetapi semuanya ada untuk mencapai pemisahan keamanan ini.

Beberapa admin menerapkan pemisahan keamanan ini dengan mendefinisikan /private sistem file tertentu dengan ukuran yang sesuai dan opsi pemasangan yang sesuai (terutama nosuid).

dan
sumber