Existe-t-il des directives d'Apple concernant l'endroit où les outils shell de l'utilisateur dans Mountain Lion doivent être installés ? Certains d'entre eux (par exemple TeX ou Git d'Apple) se retrouvent dans le répertoire /usr
et d'autres (par exemple X11) semblent se retrouver dans /opt
(parfois avec un lien symbolique depuis /usr
), tandis que d'autres (par exemple, Git) se retrouvent dans /user/local
Je me demande quelle est la différence et si l'un est préféré à l'autre.
Réponse
Trop de publicités?Le site Standard de la hiérarchie des systèmes de fichiers est suivie par Linux et d'autres systèmes d'exploitation basés sur Unix, et OS X la suit également, dans une large mesure. Le site /private
est l'endroit où se trouve essentiellement le noyau d'OS X et le dossier /etc
y /var
sont simplement des pointeurs symboliques vers /private/etc
y /private/var
respectivement. Vous pouvez le vérifier en utilisant lien de lecture comme readlink /etc
.
Le site /opt
est destiné aux applications supplémentaires des utilisateurs, tout comme le dossier /usr/local
et vous pouvez choisir de vous installer sur l'un ou l'autre. Cela n'a pas vraiment d'importance (tant que vous prenez soin d'ajouter vos chemins d'accès de manière appropriée) et l'intention principale est de le garder isolé des mises à jour du système d'exploitation (qui écraseront les choses dans, disons, /bin
).
Souvent, la "convention générale" suivante est adoptée :
-
si le paquetage/application suit les standards unix, alors installez-le à
/usr/local/
. Il n'y aura pas de surprise dans le paquet et vous pouvez certainement vous attendre à une structure de sous-répertoire telle quebin
,etc
,include
,share
et ainsi de suite. -
si le logiciel est fourni sous la forme d'une application autonome dans laquelle la structure des sous-répertoires est la suivante arbitraire vous l'installez simplement sur
/opt
. Sur ma machine, j'ai mon VPN,cisco
installé dans/opt
et il possède les répertoires suivants :anyconnect
,hostscan
,vpn
. Aucun de ces dossiers n'est conforme à la norme Unix et l'installation dans le dossier/usr/local
ne serait pas une bonne idée.
Ils ont tous deux leurs "avantages" et leurs "inconvénients", selon la façon dont vous les voyez et votre connaissance d'Unix.
-
Installation à
/usr/local
est "pratique" en ce sens que si vous ajoutez simplement/usr/local/bin
à votre chemin, tout le reste est réglé et vous n'avez pas besoin de modifier quoi que ce soit si vous ajoutez une nouvelle application. D'un autre côté, si vous devez supprimer quelque chose, c'est pénible car tous les programmes sont regroupés et vous ne vous souvenez pas quels binaires ont été installés pour l'application X et lesquels pour l'application Y. -
Installation à
/opt/programX
vous obligera à l'ajouter manuellement au chemin d'accès et peut-être à configurer des liens symboliques, mais la suppression d'une application est pratique, car il suffit de supprimer le dossier et le tour est joué.