Système de fichiers Linux

13

Quelles sont les conventions pour les emplacements de fichiers sous Linux? Jusqu'à présent, j'ai réussi à déduire:

/ proc (références aux processus en cours d'exécution)

/ dev (références à tout le matériel)

/ etc (fichiers de configuration)

/ home (maison)

/ mnt (périphériques montés)

/ media (périphériques amovibles tels que CD, disques USB)

... mais d'autres parties ne sont pas encore claires, par exemple:

Où puis-je mettre la source téléchargée?

/ usr / src

/ usr / local / src

Où dois-je mettre les programmes compilés?

/poubelle

/ usr / bin

/ usr / local / bin

Quelle est la différence entre / bin et / sbin ?

Comment les distributions diffèrent-elles?

Je sais que ce ne sont pas des questions, mais il me semble qu’elles devraient toutes recevoir une réponse ensemble. Espérons que d'autres soient également confus.

poisson-globe
la source

Réponses:

14

Vous voudrez peut-être lire la norme de hiérarchie du système de fichiers ; c'est une référence utile.

Votre répertoire personnel est l'endroit où la plupart de ces informations devraient aller. Imaginez que vous n'êtes pas l'administrateur système; Imaginez que vous êtes encore une autre personne avec un compte sur le système. Dans votre répertoire personnel, par exemple /home/pufferfish, vous pouvez faire ce que vous voulez. /home/pufferfish/bin,, /home/pufferfish/libet /home/pufferfish/srcsont tous des choix conventionnels, mais rien de tout cela n'a vraiment d' importance .

Pour les programmes compilés, quel que soit le répertoire / répertoires que vous utilisez, assurez-vous qu'ils se trouvent / se trouvent sur le CHEMIN afin de pouvoir les exécuter sans taper dans le script ou le chemin complet de l'exécutable.

Les distributions ne diffèrent pas vraiment beaucoup. J'ai trouvé que le gestionnaire de paquets sur l'un pouvait installer des binaires dans /usr/bin, tandis que certaines bibliothèques pouvaient aller ailleurs, et un autre système pouvait installer des choses à un autre endroit. Je dois généralement faire des recherches pour trouver où les choses vont à chaque fois.

Nikhil Chelliah
la source
6

Il se trouve qu'il existe une norme dans le monde du système d'exploitation de type Unix appelée Filesystem Hierarchy Standard qui explique les meilleures pratiques suivies par la plupart des fournisseurs Unix. C'est une bonne lecture et ça vaut le coup si vous passez beaucoup de temps dans des environnements * nix.

Norme de hiérarchie du système de fichiers

Réponses à vos questions:

/ Usr / src et / usr / local / src fonctionnent tous les deux. Votre choix. Garder est cohérent.

/ bin est pour les commandes requises pour les utilisateurs. Je n'y placerais PAS de fichiers binaires personnalisés.

/ sbin est pour les binaires système (généralement des trucs sysadmin). Il contient des trucs pour démarrer et des utilitaires fs.

/ usr / bin est l'endroit où vivent la plupart des commandes utilisateur et vous constaterez généralement que la plupart des systèmes de gestion de paquets Linux placent des binaires ou au moins des liens symboliques vers des binaires ici.

/ usr / local / bin est un endroit sûr pour mettre votre propre code compilé qui est unique à cette machine.

Mark Turner
la source
6

Vous devriez peut-être y jeter un œil:

texte alternatif

texte alternatif

n00ki3
la source
3

/ usr / local / est pour le logiciel qui a été compilé sur ce système. C'est similaire à / usr /, juste qu'il n'a pas été installé à partir des packages.

/ sbin / vs / bin / (et / usr / sbin / vs / usr / bin): s signifie superutilisateur. Programmes dont les utilisateurs normaux ne devraient pas se soucier et ne devraient souvent pas être autorisés à s'exécuter

Tadeusz A. Kadłubowski
la source