Pourquoi / tmp est-il un lien symbolique vers / private / tmp?

37

Pourquoi /tmpun lien symbolique /private/tmpsur Mac OS X? En d'autres termes, pourquoi ne s'agit-il pas /tmpsimplement d'un répertoire ordinaire, comme sous Linux ou BSD? Je comprends comment cela fonctionne et ça ne me dérange pas, je m'intéresse simplement au raisonnement (historique?) Qui se cache derrière.

otto.poellath
la source

Réponses:

33

AIUI est une réserve de NextStep (sur laquelle OS X est basé), et NextStep l'a fait pour prendre en charge NetBooting. L'idée était que vous puissiez démarrer à partir d'un volume hébergé sur le réseau (probablement en lecture seule et certainement partagé avec d'autres ordinateurs), et qu'au début du processus de démarrage, montez un volume local (enregistrable) sur / privé; Comme indiqué par g, cela permettait la modification à l'exécution de / var et / tmp, ainsi que les paramètres par ordinateur dans / etc.

Ce n'est plus nécessaire, car le système NetBoot actuel d'Apple utilise une image de disque fantôme pour stocker les modifications n'importe où sur le volume de démarrage. Mais certains programmes / docs / etc supposent maintenant que les fichiers sont stockés sous / private, il serait donc trop difficile de les restaurer ...

Gordon Davisson
la source
"Mais certains programmes / docs / etc" lolpun (etc est lié symboliquement à / private / etc)
Kevin Wheeler
5

Je me suis toujours demandé la même chose. Je ne trouve aucune documentation pour le prendre en charge, mais ce modèle est généralement utilisé pour faciliter le stockage de fichiers sur un autre volume (par exemple, le disque dur). Cela permet au lecteur d'être monté (par exemple, attaché) dans le système de fichiers à un endroit. Par exemple , lorsque le lecteur est monté à /private, puis les dossiers /etc, /tmpet /varsont ensuite tous situés sur cet autre lecteur.

Ce que je ne peux pas dire, c'est pourquoi cela serait bénéfique. Il convient toutefois de noter que ces trois dossiers contiennent des fichiers "de données" tels que des fichiers de configuration, temporaires, de journalisation, transitoires et de base de données plutôt que du code exécutable contenu dans les dossiers /bin, /sbinet /usr.

g .
la source
1

Pas sûr de la raison historique, mais OS X a toujours «réorganisé» la structure Unix typique. /tmpn’est pas la seule chose à laquelle il va /private, il a aussi /etcet /var.

Peut-être que quelqu'un avec plus de connaissances en OS X peut proposer quelque chose de plus raisonnable.

Martin Marconcini
la source
-1

/tmpest un lynk symbolique /private/etcpour maintenir clairement 2 systèmes de fichiers séparés:

  • / qui peut être monté en lecture seule, pour le protéger contre toute modification accidentelle ou non désirée, et pour éviter qu'il ne soit rempli de fichiers toujours plus nombreux (journaux et fichiers temporaires),

  • /private qui peut être monté en lecture-écriture et qui contient tout répertoire contenant des fichiers modifiables.

Si vous regardez, /vous remarquerez 3 répertoires qui sont des liens symboliques similaires pour la même raison:

cd /
ls -al | grep '> private'

Cette séparation d'accès entre les systèmes de fichiers en lecture-écriture et en lecture seule n'est pas utilisée (sous MacOS X), mais tout est en place pour réaliser cette séparation de sécurité.

Certains administrateurs appliquent cette séparation de sécurité en définissant un /private système de fichiers spécifique avec la taille appropriée et les options de montage appropriées (notamment nosuid).

dan
la source