Perché / tmp è un collegamento simbolico a / private / tmp?


37

Perché /tmpun link simbolico /private/tmpsu Mac OS X? In altre parole, perché non è /tmpsolo una normale directory, come su Linux o BSD? Capisco come funziona e non mi dispiace, sono solo interessato al ragionamento (storico?) Alla base.

Risposte:


33

AIUI è un holdover di NextStep (su cui si basa OS X) e NextStep lo ha fatto per supportare NetBooting. L'idea era che si potesse avviare da un volume ospitato in rete (probabilmente di sola lettura e certamente condiviso con altri computer), e all'inizio del processo di avvio montare un volume locale (scrivibile) su / privato; come detto, ciò ha consentito la modifica del runtime di / var e / tmp, nonché le impostazioni per computer in / etc.

Non è più necessario, poiché l'attuale sistema NetBoot di Apple utilizza un'immagine del disco shadow per memorizzare le modifiche in qualsiasi punto del volume di avvio. Ma alcuni programmi / documenti / ecc. Ora assumono che i file siano live / privati, quindi sarebbe troppo difficile ripristinarli ...


"Ma alcuni programmi / documenti / etc" lolpun (etc è collegato a / private / etc)
Kevin Wheeler,

5

Mi sono sempre chiesto la stessa cosa. Non riesco a trovare alcuna documentazione per supportarlo, ma in genere questo modello viene utilizzato per semplificare l'archiviazione dei file su un altro volume (ad es. Disco rigido). Ciò consente all'unità di essere montata (ad esempio collegata) nel file system in un unico posto. Ad esempio quando l'unità è montata /privatee poi le cartelle /etc, /tmpe /varsono quindi tutti situati su tale altra unità.

Quello che non posso dire è perché questo sarebbe utile. Vale la pena notare, tuttavia, che questi tre cartelle contengono file "dati" come la configurazione, temporanei, log, transitori e file di database, piuttosto che codice eseguibile contenuto nel /bin, /sbine /usrle cartelle.


1

Non sono sicuro del motivo storico, ma OS X ha sempre "riorganizzato" la tipica struttura Unix. /tmpnon è l'unica cosa che va /private, ha anche /etce /var.

Forse qualcuno con più background di OS X può trovare qualcosa di più ragionevole.


-1

/tmpè un linciaggio simbolico /private/etcper mantenere 2 filesystem chiaramente separati:

  • / che può essere montato in sola lettura, per proteggerlo da qualsiasi modifica accidentale o indesiderata e per proteggerlo dall'essere riempito con file sempre crescenti (registri e file temporanei),

  • /private che può essere montato come lettura-scrittura e che contiene qualsiasi directory contenente file modificabili.

Se guardi /noterai 3 directory che sono collegamenti simbolici simili per lo stesso motivo:

cd /
ls -al | grep '> private'

Questa separazione di accesso tra i filesystem di lettura-scrittura e di sola lettura non viene effettivamente utilizzata (in MacOS X), ma tutto è in atto per ottenere questa separazione di sicurezza.

Alcuni amministratori stanno applicando questa separazione di sicurezza definendo un /private file system specifico con le dimensioni appropriate e le opzioni di montaggio appropriate (in particolare nosuid).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.