Qu'est-ce qui doit et doit être utilisé /opt/
et qu'est-ce qui doit / doit être investi /usr/
? D'après ce que je comprends, /usr/
c'était pour les répertoires personnels des utilisateurs, mais puisqu'ils existent dans /Users/
- quel est le but maintenant?
Existe-t-il un manuel ou un guide sur l'utilisation de tous les répertoires intégrés? Comme quoi /home/
, ou /net/
?
macos
folders
filesystem
unix
DilithiumMatrix
la source
la source
Réponses:
Existe-t-il un manuel ou un guide sur l'utilisation de tous les répertoires intégrés? Comme quoi est / home /, ou / net /?
Jetez un œil au Guide de programmation du système de fichiers pour obtenir les informations les plus récentes et
man hier
dans Terminal, qui fournit une "esquisse historique" de la hiérarchie du système de fichiers (il est inclus à la fin de cette réponse pour référence).Un commentaire à votre question mentionne la norme de hiérarchie du système de fichiers . Vous arriverez probablement à la conclusion, après avoir lu le Guide de programmation du système de fichiers et
man hier
, que macOS ne suit pas le FHS , c'est plus une chose Linux. Bien sûr, il existe des similitudes entre le FHS et la disposition du système de fichiers dans macOS en raison de l'origine UNIX commune, mais les différences sont frappantes. macOS n'utilise aucun de ces éléments:/boot
dossier -> macOS utilise à la/System/Library/Kernels
place (dans les anciennes versions de macOS, le dossier contenant le noyau était/
)/home
dossier -> macOS utilise à la/Users
place/root
dossier -> macOS utilise à la/var/root
placeet
/opt
n'est pas mentionné une seule fois dans aucun document (plus de détails/opt
ci-dessous.)Une autre distinction entre macOS et un système d'exploitation compatible FHS est l'utilisation
/private
, par exemple, d'/etc
un lien symbolique vers/private/etc
.À propos
/net
: Il s'agit d'une carte de montage automatique (répertoriée dans/etc/auto_master
), voir Wikipedia pour plus d'informations.Qu'est-ce qui doit et doit aller dans / opt / et qu'est-ce qui doit / doit aller dans / usr /? Ma compréhension est que / usr / était utilisé pour les répertoires personnels des utilisateurs, mais puisque cela existe dans / Users / - quel est le but maintenant?
Bien qu'il ait
/usr
été utilisé dans le passé pour placer les répertoires personnels des utilisateurs , ce n'est plus le cas.De nos jours,
/usr
contient des commandes utilisateur (/usr/bin
pour les utilisateurs normaux et/usr/sbin
pour les utilisateurs administratifs, commeroot
), des bibliothèques partagées (/usr/lib
), des pages de manuel (/usr/share/man
), des exécutables qui ne devraient pas être exécutés directement par les utilisateurs (/usr/libexec
) et d'autres choses.Il propose également un sous-répertoire,
/usr/local
pour placer des programmes, des bibliothèques et d'autres fichiers qui ne sont pas fournis avec le système d'exploitation de base./opt
a un rôle très similaire/usr/local
et ils semblent interchangeables. Cependant, d'après mon expérience de travail avec d'autres administrateurs système Linux / UNIX, il semble y avoir une préférence pour/usr/local
les systèmes d'exploitation UNIX basés sur BSD.Voici donc mon point de vue: macOS est basé sur BSD et par conséquent j'utiliserais
/usr/local
. Notez que vous pouvez créer un répertoire de programme puis des commandes de lien symbolique vers/usr/local/bin
, etc., par exemple:Cette pratique était également habituelle sous Linux et UNIX, mais le FHS l'interdit explicitement : si vous souhaitez installer des packages tiers dans leur propre hiérarchie de répertoires, vous devez utiliser à la
/opt/<package>
place. Notez que la conformité FHS nécessite de placer des fichiers de configuration/etc/opt/<package>
et des fichiers variables/var/opt/<package>
.Donc, sous macOS, je vous recommande de vous en tenir à la
/usr/local
procédure décrite ci-dessus.Je connais des logiciels complémentaires comme Cisco VPN et XQuartz qui s'installent
/opt
, donc les distinctions ci-dessus commencent à s'estomper.man hier
Comme mentionné ci-dessus, c'est
man hier
:la source
/usr/X11/
n'est pas recommandé?man hier
): page de manuelQuand je lis
/opt
(souvent associé à/opt/local
MacPorts ) et les utilisations «standard» des chemins, je pense aussi à Fink, qui existe depuis au moins 2001 . Fink utilisation vulgarisée du chemin suivant:/sw
Un exemple d'utilisation imprudente d'une partie non standard de la hiérarchie du système de fichiers sur Mac OS X
2003-02-06
Virex 7.2, gratuit pour tous les membres .Mac, a tristement écrasé les bibliothèques Fink :
D'autres discussions sur l'incident, y compris le respect des licences, ont inclus:
2003-04-16
Une nouvelle de Fink :
2003-05
Les notes de publication de McAfee Virex version 7.2.1 ne faisaient aucune mention des problèmes causés aux utilisateurs de Fink.
En remarque…
2004-08-31
Observations que Virex 7.5 n'était plus disponible pour les membres du .Mac .
Lié à BSD
Cela est toujours vrai pour les systèmes d'exploitation tels que FreeBSD et PC-BSD.
Bien qu'il
/usr/home/
ne soit pas explicite sur https://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7&manpath=FreeBSD+10.2-RELEASE, le chemin est illustré dans des documents tels que:la source