Neden Mac OS X'te /tmp
bir link veriyor /private/tmp
? Başka bir deyişle, neden /tmp
normal bir dizin değil , Linux veya BSD'deki gibi? Nasıl çalıştığını biliyorum ve umursamıyorum, sadece arkasındaki (tarihsel?) Akıl yürütmeyle ilgileniyorum.
Neden Mac OS X'te /tmp
bir link veriyor /private/tmp
? Başka bir deyişle, neden /tmp
normal bir dizin değil , Linux veya BSD'deki gibi? Nasıl çalıştığını biliyorum ve umursamıyorum, sadece arkasındaki (tarihsel?) Akıl yürütmeyle ilgileniyorum.
Yanıtlar:
AIUI, NextStep'ten (OS X'in dayandığı) bir holdover ve NextStep, NetBooting'i desteklemek için yaptı. Buradaki fikir, ağ tarafından barındırılan bir birimden (muhtemelen salt okunur ve kesinlikle diğer bilgisayarlarla paylaşılan) önyükleme yapabiliyor olmanızdı ve önyükleme işleminin başlarında yerel / yazılabilir bir birimi / private; belirtildiği gibi, bu / etc ve / tmp öğelerinin çalışma zamanının değiştirilmesine ve / etc içindeki bilgisayar başına ayarların yapılmasına izin verdi.
Apple'ın mevcut NetBoot sistemi değişiklikleri önyükleme biriminin herhangi bir yerinde depolamak için bir gölge disk görüntüsü kullandığından, bu artık gerekli değildir. Fakat bazı programlar / docs / etc artık dosyaların / private altında yaşadığını varsayıyor, bu yüzden onları geri almak çok zor olurdu ...
Hep aynı şeyi merak etmişimdir. Destekleyecek herhangi bir belge bulamıyorum, ancak genellikle bu kalıp dosyaları başka bir birime (örneğin sabit sürücü) saklamayı kolaylaştırmak için kullanılır. Bu, sürücünün dosya sistemine tek bir yere monte edilmesini (örn. Takılı) sağlar. Örneğin sürücü monte edildiğinde /private
ve sonra klasörler /etc
, /tmp
ve /var
sonra tüm bu diğer sürücüde yer almaktadır.
Söyleyemediğim şey, bunun neden faydalı olacağı. Bununla birlikte, bu üç klasörün /bin
, /sbin
ve /usr
klasörlerinde bulunan çalıştırılabilir kod yerine yapılandırma, geçici, günlük, geçici ve veritabanı dosyaları gibi "veri" dosyaları içerdiğini belirtmeye değer .
Tarihsel nedenden emin değiliz, ancak OS X her zaman tipik Unix yapısını “yeniden düzenledi”. /tmp
giden tek şey değil /private
, aynı zamanda /etc
ve /var
.
Belki daha fazla OS X geçmişine sahip biri daha makul bir şey bulabilir.
/tmp
/private/etc
açıkça ayrılan 2 dosya sistemini korumak için sembolik bir lynk'tür :
/
kazara veya istenmeyen değişikliklere karşı korumak ve her zaman artan dosyalar (günlükler ve geçici dosyalar) ile doldurulmasını önlemek için salt okunur olarak monte edilebilir,
/private
hangi okuma-yazma olarak monte edilebilir ve değiştirilebilir dosyaları içeren herhangi bir dizini tutun.
Eğer bakarsanız, /
bu aynı nedenden dolayı sembolik bağlara benzer 3 dizin göreceksiniz:
cd /
ls -al | grep '> private'
Salt okunur ve salt okunur dosya sistemleri arasındaki erişim ayrımı aslında kullanılmaz (MacOS X'te), ancak bu güvenlik ayrımını sağlamak için her şey mevcuttur.
Bazı yöneticiler /private
, uygun boyut ve uygun montaj seçenekleriyle (en önemlisi nosuid
) belirli bir dosya sistemini tanımlayarak bu güvenlik ayrımını zorlarlar .