Quelle est la signification des répertoires par défaut dans la hiérarchie du système de fichiers Linux?

41

Ayant installé diverses distributions Linux pour bricoler, les installateurs qui proposent des dispositions de partition m'intriguent. Pour une sortie facile, j'utilise tout l'espace disque disponible.

Certaines des partitions proposées ont des noms cryptiques, tels que / var , swap , / usr et / home . Les installateurs ne me les expliquent pas vraiment - à quoi servent-ils et lesquels, le cas échéant, devraient être utilisés?

Grant Palin
la source

Réponses:

61

La réponse brève sur les noms de répertoire: tapez " man hier" dans un terminal :)

C'est la page de manuel de la hiérarchie du système de fichiers, qui explique l'objectif général des noms de répertoires et leur contenu. Vous pouvez voir une version web ici .

Il y a aussi plus de lecture sur Wikipedia:

Ces liens expliqueront tout ce que les partitions sont appelées et ce qu'elles sont (ou ont été historiquement) utilisées pour stocker.

La réponse à propos de l'utilisation de partitions séparées plutôt que de répertoires dans la même partition revient à la maintenabilité et à l'évolutivité. Si vous avez une partition avec, par exemple, /et /homelà - dessus, l' utilisateur Joe peut remplir son /home/joedossier, et toute la machine sera à court d'espace disque et de travail d'arrêt (je simplifie, mais c'est le résultat général). Si vous avez /et /homesur différentes partitions, Joe User peut remplir son /home/joedossier et la /homepartition sera pleine, mais la machine continuera à fonctionner car elle /n'est pas affectée.

Étendez donc ce principe à la quasi-totalité des répertoires différents situés sur des partitions différentes et vous verrez à quel point cela serait utile, en particulier lorsqu'une machine s'exécute 24 heures sur 24, 7 jours sur 7 dans un rôle multi-utilisateur et multi-service.

Ben Williams
la source
12
+1 pour man hierapprendre à un homme à pêcher et tout ça.
George Marian
Oui, merci pour le pointeur sur hier (7). J'ai toujours consulté la page Web de FHS sans savoir que mes réponses étaient beaucoup plus faciles à obtenir.
andol
Le problème est que, même si elles expliquent comment elles sont destinées à être utilisées, certaines ne sont en fait pas utilisées de cette manière par défaut, comme dans le répertoire / srv.
Ronaldo Nascimento
7

Lors de l'installation, de nombreuses distributions vous offrent la possibilité de placer différents répertoires sur différentes partitions. Par exemple, de nombreux utilisateurs choisissent de placer le répertoire / home sur une partition différente de celle du reste de l'installation. En effet, tout ce qui se trouve dans le répertoire / home appartient à un utilisateur (documents, vidéos et toutes les autres données spécifiques à l'utilisateur). En plaçant le répertoire / home sur une partition distincte et les fichiers du système d'exploitation sur une autre, si un utilisateur décide d'effectuer une nouvelle installation de son système d'exploitation Linux, il peut simplement réécrire la partition principale et laisser sa partition / home (et tous de ses dossiers) intact.

Cela permet également à un utilisateur d'installer plusieurs distributions Linux sur différentes partitions, partageant toutes la même partition / home. De cette façon, un utilisateur peut accéder à ses fichiers quelle que soit la version de Linux qu’il utilise.

Un utilisateur occasionnel ne devrait pas trop avoir à s’inquiéter d’attribuer un / var, un swap, un / usr, etc. distincts. Tous ces répertoires font partie du système d’exploitation et ont peu à voir avec les fichiers de l’utilisateur.

Makario
la source
+1 pour le bon lien. Est-ce que / swap n'est pas toujours une partition séparée?
George Marian
@ George Marian: Ce n'est pas nécessaire. Il est possible de configurer l’échange de système de fichiers (fichier situé dans le système de fichiers d’une partition existante) au lieu d’un échange de partition. De cette manière, le système Ubuntu peut fonctionner sur une seule partition.
Txwikinger
3
Pour ceux qui jouent à la maison, il convient de noter que la possibilité d'utiliser un fichier d'échange sur un système de fichiers standard dépend du système de fichiers. IE: n'essayez pas cela avec btrfs, cela (dans les anciens noyaux) vous permettra de corrompre des données en silence et (dans les nouveaux noyaux) de générer une erreur lorsque vous essayez d'ajouter le swap.
RAOF
5

Utiliser tout l’espace disque disponible est une option parfaitement valide (et probablement recommandée) pour les ordinateurs personnels. Partitionner le système de fichiers de cette manière est, à mon avis, une longue période d'ancienneté avant que le RAID ou la gestion de volume virtuel ne soit pratique dans un logiciel.

Dans les systèmes de type UNIX, le système de fichiers commence au répertoire racine '/'. Dans les termes DOS / Windows, cela serait "C:"

Lorsque vous êtes sous DOS / Windows, vous ajoutez des lecteurs aux lettres de plongée D :, E: etc. Dans les systèmes de type UNIX, vous «montez» les lecteurs dans des répertoires. À l'époque où vous disposiez de disques durs de 10 ou 10 mégaoctets, vous pouviez monter divers répertoires dans différents lecteurs et partitions pour donner l'illusion d'un seul grand disque. RAID 0 d'un pauvre homme.

Il existe de nombreuses raisons de partitionner les divers répertoires racine, mais une idée répandue est que, puisque les partitions swap et / var ont été écrites au maximum, elles ont le plus de chances d'échouer. En les séparant en différentes partitions, il est très facile d'ajouter un autre lecteur de sauvegarde et de le remonter.

Aussi, avoir une partition / home séparée peut être vraiment génial si vous utilisez plusieurs versions de Linux sur une seule machine. (Par exemple, Ubuntu et Red Hat). Depuis Unix / Linux, les paramètres de l’utilisateur sont placés dans son répertoire personnel. Cela fonctionne cependant beaucoup mieux en théorie qu'en pratique. Parce que vous devez bien comprendre les implications des autorisations.

Voici quelques répertoires importants pour les systèmes d'exploitation de type UNIX et leurs explications.

  • /bin - Fichiers exécutables du système de base
  • /lib - Bibliothèques système de base (.so sous Linux, .dlls sous Windows).
  • /boot- Où vit ton noyau. L'ordinateur ne démarrera pas sans celui-ci.
  • /var- Répertoire où les services peuvent stocker des fichiers. Comme les fichiers journaux et les boîtes aux lettres
  • /etc - Fichiers de configuration du système
  • /usr- Applications utilisateur non essentielles. (Un système-unix peut démarrer sans / usr (à des fins de récupération) mais ce ne serait pas très amusant. Dans les systèmes plus anciens, cela revient à / home.)
  • /home- Répertoires personnels de l'utilisateur. Les utilisateurs normaux ne peuvent écrire que dans leur propre répertoire personnel.
  • swap (pas un répertoire) Il s'agit généralement d'une partition distincte sous UNIX. Il n'y a pas de répertoire d'échange, bien que vous puissiez créer des fichiers d'échange sous Linux.
wm_eddie
la source
2
Je dirais que même pour un ordinateur de bureau / un ordinateur personnel, avoir / home dans une partition séparée est une bonne idée. De cette façon, vous aurez moins de maux de tête si vous remplissez votre répertoire personnel.
George Marian
@ George Rien ne vous empêche de créer des liens symboliques vers votre répertoire personnel sur un autre lecteur. Dans ma configuration, pour permettre la compatibilité avec Windows, ma partition personnelle est NTFS et je crée un lien symbolique avec tous les dossiers que j'utilise dans mon dossier personnel. Je voudrais faire un lien symbolique de tout le dossier, mais j'aime garder les éléments cachés dans ~ / séparés au cas où je déciderais de faire une nouvelle installation. L'utilisation de chemins de fichiers codés en dur liés à des partitions distinctes était peut-être nécessaire il y a vingt ans, mais les contraintes architecturales qui les ont rendus nécessaires n'existent plus aujourd'hui.
Evan Plaice le
1
@evan je suis confus. Faites-vous référence aux liens symboliques dans votre répertoire personnel ou à votre répertoire personnel ailleurs? En quoi cela diffère-t-il de placer / home sur une partition différente? (Remarque, "une partition différente" peut se trouver sur un lecteur totalement différent.) Je parlais de la protection contre le comportement par défaut (par exemple, les téléchargements placés dans un sous-répertoire de votre dossier personnel) en remplissant par inadvertance la partition racine.
George Marian
@ George Les deux et celui que vous préférez. Ce que j'essaie de comprendre, c’est pourquoi il est préférable de définir des liens codés en dur lors de l’installation du système, alors que vous pouvez simplement ajouter quelques liens symboliques après cela, faire la même chose et pouvoir être modifié facilement à tout moment?
Evan Plaice
@evan Un bon point. Je n'ai jamais eu beaucoup de chance de jouer avec ce genre de choses après l'installation, j'ai donc toujours préféré le faire "par défaut".
George Marian
1

La partition swap est également utilisée pour l'hibernation. Si vous souhaitez mettre votre ordinateur portable ou votre ordinateur de bureau en veille prolongée, vous avez besoin d'une partition ou d'un fichier d'échange suffisamment volumineux pour contenir le système d'exploitation en cours d'exécution et vos applications ouvertes.

Il est souvent suggéré que la partition de swap ait la même taille que votre mémoire RAM.

jr0cket
la source
1

Vous pouvez créer des partitions séparées lors de l'installation. une /homepartition signifie que chaque fois que vous installez Ubuntu, vos paramètres utilisateur personnels resteront.

/- est la racine.
/var- (expliqué ci-dessus)
/dev- contient des "liens" vers des périphériques enregistrés. c'est-à-dire / dev / Video0 est une carte de capture ...

/bin /sbin - contenir des applications

mieux encore, Wikipedia a une bonne page http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

La chose la plus importante que je trouve est d’avoir une 2e partition (la plus grande) pour vos fichiers et comme je l’ai dit chaque fois que vous réinstallez ou effectuez une mise à niveau. Sélectionnez à nouveau cette partition et assurez-vous de décocher la case Format, puis tout est rentré. Même ton fond d'écran!

MJ
la source
1

Eh bien, swapest utilisé un espace d'échange. C'est comme un fichier de page dans Windows. Cela complète un peu la RAM.

/home est utilisé pour les données utilisateur telles que Mes documents dans Windows,

/usr est où la plupart des programmes ressemblent beaucoup à C: \ Windows, et

/var contient des données modifiées lorsque le système fonctionne normalement.

En ce qui concerne la raison pour laquelle ils sont dans des partitions séparées, je pense que c’est principalement si votre système d’exploitation tombe en panne, vos données ne le sont pas non plus. Mais je ne suis vraiment pas sûr.

Cody Harlow
la source
Diff entre /varvs /etc?
Pacerier
1

Par le passé, il est considéré comme le plus pratique d'avoir /home, swapet d' autres nœuds critiques résident dans différentes partitions, des disques physiques différents, ou même différentes machines physiques. Bien que cela soit pratique (pour le meilleur ou pour le pire) et avec l'avènement des sauvegardes externes ou basées sur le cloud bon marché, tout vit désormais dans une seule et grande partition et vous ne faites que sauvegarder vos éléments personnels ailleurs.

/usr, signifie Unix System Resources

/sbin, Binaires du système

Contrairement aux croyances populaires, /etcne signifie pas et cetera . Au lieu de cela, il représente Extended Tool Chest . Mais contrairement aux croyances populaires, le débat reste ouvert.

Voici quelques informations supplémentaires sur ces dossiers et leur organisation.

Eric Carvalho
la source
0

Swap doit être conservé séparément si vous l'utilisez. Et utilisez 1,5-2,0 x votre taille de bélier pour cela.

Le reste peut être gardé ensemble et n'a pas vraiment d'importance (Linux / Unix n'est pas une fenêtre et possède une hiérarchie de répertoires unique, que votre répertoire / var soit une partition séparée ou non, il a exactement la même apparence). L'objectif principal du partitionnement est d'utiliser différents systèmes de fichiers et de scinder les scénarios possibles "disque plein" (ainsi, par exemple, si / var se remplit avec les journaux d'une application folle, / home stil fonctionne)

En tant que note, je recommande vivement d'utiliser LVM, qui permet de créer autant de partitions amovibles et redimensionnables librement que l'on veut, et même d'ajouter de nouveaux disques durs à la famille. Néanmoins, il faut apprendre une ligne de commande, donc ce n’est pas pour le débutant total.

Mekk
la source