/ usr /, je suppose que c'est l'utilisateur de l'ordinateur.
Proche.
Unix a débuté en tant que système d'exploitation multi-utilisateur, donc ce n'est pas "l'utilisateur", c'est "les utilisateurs ", mais au pluriel.
Avant AT & T Unix System V Release 4 (SVR4) est sorti en 1988 avec ses outils de gestion des utilisateurs en défaut à la création de répertoires personnels des utilisateurs dans /home
, l'emplacement était classique /usr
.¹ Votre $HOME
répertoire aurait peut - être été /usr/jfw
sur un III système boîte.
/usr
contenait également, comme aujourd'hui, /usr/bin
, /usr/lib
, etc. L' expérience a montré que les répertoires séparant la maison était une bonne pratique de la gestion du système, donc avec le /home
changement de politique dans SVR4, il a laissé derrière tout ce que nous considérons aujourd'hui comme appartenant à /usr
.
/usr
Il restait néanmoins une bonne raison de conserver le nom: il restait des fichiers qui n'avaient pas besoin d'être disponibles jusqu'à ce que le système soit démarré suffisamment loin pour permettre une utilisation interactive normale. C'est-à-dire que les parties du système d'exploitation axées sur l' utilisateur ont été laissées . Cela signifiait que /usr
le volume physique pouvait être différent, ce qui était une bonne chose à l'époque des disques durs de 92 Mo de la taille des machines à laver .
Les premiers systèmes Unix avaient pris soin de garder les fichiers de base du système d'exploitation /usr
afin que vous puissiez toujours démarrer en mode mono-utilisateur², même si le /usr
volume était démontable pour une raison quelconque. Le volume racine contenait suffisamment d'outils pour le /usr
remettre en ligne.
Plusieurs saveurs Unix ne pas tenir compte maintenant ce vieux principe de conception puisque même les petits systèmes embarqués ont suffisamment de place pour les deux fichiers de volume racine traditionnels et tous /usr
sur un seul volume.³ Red Hat Enterprise Linux, Solaris et Cygwin symlink /bin
à /usr/bin
et /lib
de /usr/lib
sorte qu'il n'y a plus toute différence entre ces répertoires.
... / local / ... signifie évidemment l'ordinateur local ...
Oui. Il fait référence au fait que les fichiers sous /usr/local
sont supposés être particuliers à ce système unique. Les fichiers qui sont génériques de quelque manière que ce soit doivent vivre ailleurs.
Cela a également des racines dans la manière dont les systèmes Unix étaient couramment utilisés il y a plusieurs décennies, lorsque tout cela était standardisé. Encore une fois, les disques durs de l'époque étaient volumineux, très coûteux et peu stockés selon les normes actuelles. Pour économiser de l'argent et de l'espace sur les disques, un laboratoire rempli de boîtes Unix partageaient généralement la plupart de leurs /usr
connexions via NFS ou un autre protocole de partage de fichiers réseau. Ainsi, chaque boîte n'avait pas besoin de sa propre copie redondante. boîte irait en dessous /usr/local
, ce qui serait un volume distinct de /usr
.
Cet héritage historique est la raison pour laquelle il reste la valeur par défaut pour la plupart des logiciels Unix tiers à installer /usr/local
lorsqu'ils sont installés manuellement. La plupart de ces logiciels vous permettront d’installer le paquet ailleurs, mais si vous ne le faites pas, vous obtenez le paramètre de sécurité par défaut, qui n’interfère pas avec d’autres emplacements d’installation courants ayant des objectifs plus spécifiques.
Il y a de bonnes raisons de faire installer le logiciel ailleurs. L'équipe macOS d'Apple fait cela lorsqu'elle construit, par exemple, à bash
partir du code source GNU Bash . Ils utilisent /
comme préfixe d’installation, en remplaçant la /usr/local
valeur par défaut, pour que Bash finisse dans /bin
.
Un autre exemple est la manière dont les anciens systèmes Linux ont séparé leur logiciel d'interface graphique /usr/X11R6
pour le séparer des curses
logiciels de ligne de commande et des logiciels traditionnels . Cela a été fait simplement en remplaçant le /usr/local
préfixe par défaut par /usr/X11R6
.⁵
Et qu'est-ce que / bin?
En abrégé, "binaire" signifie dans ce contexte "un fichier qui n'est pas du texte brut". La plupart de ces fichiers sont des exécutables sur un boîtier Unix, de sorte que ces deux termes sont devenus synonymes dans certains milieux. ("S'il te plaît, construis-moi un binaire pour RHEL 7, Fred.")
Les fichiers texte sur un système Unix vivent ailleurs: /etc
, /usr/include
, /usr/share
, etc.
Il était une fois, même les scripts de shell - qui sont des fichiers texte brut - étaient conservés en dehors des bin
répertoires, mais cette ligne a également été floue. Aujourd'hui, les bin
répertoires contiennent généralement tout type de fichier exécutable, qu'il soit strictement "binaire" ou non.
Notes de bas de page et digressions :
La nature primitive des outils de gestion des utilisateurs antérieurs à SVR4 signifiait que le HOME=/usr/$NAME
schéma était simplement consigné en tant que convention, et non imposé par défaut par les outils logiciels.
Vous pouvez le voir à la page 4-8 du " Guide de l'administrateur système du système Unix System V version 3.2 d' AT & T: vous voyez ici l'AT & T qui recommande l'ancien /usr/$NAME
schéma de la dernière version majeure d'Unix avant la sortie de SVR4.
Dans les systèmes Unix plus anciens, il était assez courant que les administrateurs système choisissent un schéma différent qui leur semblait plus logique. Les gens étant des gens, cela signifiait que beaucoup de programmes différents avaient été inventés.
Un schéma que j'ai rencontré avant de /home/$NAME
devenir la norme était /u/$NAME
.
Un autre système je au début des années 1990 a eu tant d'utilisateurs qu'ils ne pouvaient pas s'adapter à tous les répertoires sur un seul volume physique, alors ils ont utilisé un système comme /u1/$NAME
, /u2/$NAME
et ainsi de suite, si je me souviens. Le disque sur lequel votre répertoire personnel s'est retrouvé était simplement une question d'espace disponible au moment de la création de votre compte.
Vous pouvez démarrer une boîte MacOS en mode mono-utilisateur en maintenant la touche enfoncée Cmd-Spendant son démarrage. Lâchez-vous une fois que l'écran devient noir et que du texte gris clair apparaît. C'est comme si on passait sous le terminal, mais cela recouvre tout l'écran car l'interface graphique n'a pas encore démarré.
Attention, tu cours en tant que root
.
Tapez "exit" à l'invite de la racine utilisateur unique pour quitter le mode utilisateur unique et continuer à démarrer en mode interface graphique multi-utilisateur.
Les systèmes d'exploitation Unixy qui semblent toujours garder les fichiers critiques en mode utilisateur unique ne le sont /usr
peut - être pas. Une fois, j'ai rendu une boîte FreeBSD 9 non amorçable en passant /usr
à un volume ZFS. J'avais oublié que les fonctionnalités de ZFS à la racine ne se trouvaient pas avant FreeBSD 10, ce qui créait un Catch 22 : le système d'exploitation avait besoin de fichiers /usr
pour pouvoir être monté /usr
!
C'était déjà assez grave, mais si FreeBSD 9 gardait toujours son matériel de démarrage pour un utilisateur unique /usr
, j'aurais pu le réparer. Etant donné qu’il ne démarrerait même pas en mode mono-utilisateur avec le /usr
fait qu’il soit impossible à monter, il est clair que cette tradition avait été violée d’une manière ou d’une autre. Je devais démarrer à partir d'un CD de secours pour remettre le système en service.
C'est également ce que nous obtenons /usr/share
: il sépare les fichiers pouvant être partagés même entre des boîtiers Unix avec différents types de processeurs. En règle générale, les fichiers texte: pages de manuel, dictionnaire, etc.
"X11R6" faisait référence à la version du système X Window qui sous-tendait les interfaces graphiques Linux au moment où cette convention était répandue. Les systèmes Linux ont généralement cessé de séparer le logiciel d'interface graphique à peu près au moment où X11R6 a été remplacé par X.Org .
Les systèmes Unix d'origine conservaient leurs principaux scripts shell /etc
afin d'éviter de les mélanger avec les vrais fichiers binaires de /bin
.