web-dev-qa-db-fra.com

Systèmes de fichiers VS Partitions VS Répertoires

Je suis nouveau à Linux, alors pardonnez-moi pour la confusion possible que vous puissiez rencontrer dans cette question.

De ce que je comprends, le système de fichiers spécifie la manière dont une partition stocke/gère le fichier, avec des normes telles que EXT2, EXT3, REISERFS, XFS, etc. De temps en temps, je vois que les gens semblent se référer à chaque "directory" comme

    /boot filesystem
    /usr/bin filesystem
    /root filesystem
    /bin filesystem

Pourquoi ferions-nous-nous référence à ceux-ci comme filesystems?

Si chacun d'entre eux est une partition, cela me confonde parce que pour autant que je sache, /usr et /usr/bin a tendance à être dans la même partition, mais j'ai vu que les gens se réfèrent à la fois /usr filesystem et /usr/bin filesystem.

Si filesystem ici est équivalent à la fenêtre directory, ce n'est pas clair pour moi comme apparemment le système de fichiers est quelque chose de plus que des annuaires. De plus, autant que je sache, Linux n'a pas directory concept; Tous sont des fichiers.

31
Kenny

Comme je l'ai écrit dans https://superuser.com/a/293160/38062 :

Le problème ici est le mot "système de fichiers". Dans les mondes POSIX/UNIX/Linux, il est utilisé pour signifier plusieurs choses différentes.

  1. Le "système de fichiers" est parfois l'ensemble du système de fichiers, enraciné à / et comme présenté aux applications Softwares par le noyau du système d'exploitation. Avec ce sens, les gens parlent de systèmes d'exploitation POSIX ayant un "arborescence unique FileSystem", par exemple.
  2. Un "système de fichiers" est parfois un (ou plus) Slice (s) d'un (ou plusieurs) DASD (S) - une ou plusieurs collections de secteurs de disques contigus formatés comme un Volume avec un format donné - comme délimitée par un système de partitionnement du disque. Avec ce sens, les gens parlent de, disent: "Formater mon /usr Système de fichiers "". /usr "Voici le point de vue (attendu) du volume ou (dans certains schémas de partitionnement) son étiquette d'identification.
  3. Un "système de fichiers" est parfois un arbre abstrait de fichiers et de répertoires, présentés par un pilote de système de fichiers (c'est-à-dire la couche VFS) au reste du système. Avec ce sens, les gens parlent de, disent: "Montage du fichier Proc FilesSystem sur /proc "ou" à l'aide d'un système de fichiers TMPFS pour /tmp ".

Vous voyez le sens n ° 1 quand vous voyez "/usr/bin Système de fichiers ". C'est un arbre de système de fichiers enraciné dans le répertoire /usr/bin. Oui, Linux beaucoup Le fait Avoir le concept de répertoires.

Signification N ° 2 et Signification N ° 3 sont ce que vous êtes mal la lisant comme. Les gens sont pas parler de /usr/bin En tant que jeu de données sur disque, délimité par le tranchant/partitionnement du disque. Ils parlent pas non plus de /usr/bin En tant que type particulier de pilote de système de fichiers, ou un format de volume de disque particulier.

En plus de lecture

  • Ramesh Bangia (2010). "système de fichiers". Dictionnaire des technologies de l'information. Lasmi Publications, Ltd. ISBN 9789380298153. P. 224.
  • Système de fichiers . "Définitions de base". Les spécifications de base du groupe ouvert. Numéro 7 IEEE 1003.1. Le groupe ouvert. 2013.
  • Binh Nguyen (2004-08-16). "système de fichiers". le dictionnaire Linux . Version 0.16. p. 616.
15
JdeBP

Un disque est divisé en une ou plusieurs partitions . Pour les fenêtres, il n'y en a généralement qu'un, peut-être avec une partition de récupération se cachant quelque part. Une partition est une zone logiquement contiguë du disque, par ex. "Secteurs 1 à 10 000 000".

Sur une partition peut être construit un système de fichiers. Pour les fenêtres, ceci est NTFS ou FAT; Pour Linux, c'est l'une des versions ext ou diverses autres options.

Dans un système de fichiers sont des fichiers et des répertoires. Linux a des répertoires, je n'ai aucune idée de la façon dont vous avez eu l'idée qu'elle ne l'a pas fait.

Comment un système d'exploitation présente-t-il plusieurs partitions sur plusieurs disques à l'utilisateur? Sous Windows, cela se fait avec Lettres d'entraînement : C:, D: etc. sur Linux, il n'y a pas de lettres d'entraînement et tout est fait avec Points de montage : Dans un répertoire particulier, accès à un système de fichiers différent. (+) Souvent, si vous insérez un CD ou un bâton USB, il apparaîtra quelque part sous /media ou /mnt.

/usr et /usr/bin sera généralement sur le même système de fichiers mais ne doit pas être obligé d'être. Les gens peuvent signifier "le système de fichiers qui contient le /usr/bin répertoire "quand ils utilisent ce phrasé.

(+) Vous pouvez aussi faire cela avec les points de jonction NTFS aussi, mais les gens font rarement. Jusqu'à ce qu'ils manquent de lettres d'entraînement.

6
pjc50

Il est possible de conserver un système entier Linux sur une partition, avec tous les sous-répertoires étant sur un système de fichiers.

Il est également possible de la diffuser sur plusieurs partitions, avec certains sous-groupes de répertoires étant sur différents systèmes de fichiers. Par exemple, il est courant de mettre /home, /tmp, /usr, et /var sur des systèmes de fichiers séparés. Pour répondre à l'une de vos questions, parfois /usr/bin sera également sur son propre système de fichiers.

Il y a des avantages à ce programme. Par exemple, si /var remplit de nombreux courriels, le reste du système n'est pas affecté. De même, si un système de fichiers est corrompu en raison d'un crash ou de quelque chose, d'autres systèmes de fichiers sont toujours bons et il est plus facile de récupérer le système.

Lorsque le système démarre, seul seul le système de fichiers racine est disponible. Les programmes conservés sont exécutés pendant le processus de démarrage. L'un de ces programmes, mount, est exécuté plusieurs fois, en utilisant des données à partir du fichier /etc/fstab, la table de système de fichiers. Prendre un exemple: à l'origine, /home est juste un répertoire ordinaire dans le système de fichiers racine. Ensuite, nous exécutons cette commande en tant que root:

mount /dev/sda7 /home

Cela indique au système que le système de fichiers sur la partition /dev/sda7 devrait être monté sur le répertoire /home. Alors maintenant, tout dans ce système de fichiers est considéré comme étant sous /home.

Vous pouvez voir ce qui est actuellement monté en courant df.

4
Tom Zych

Nous nous référons parfois à ceux tels que filesystems, car parfois ces répertoires sont des points de montage. Voilà pour la seule question que vous avez posée ...

filesystem peut faire référence à deux choses différentes ... ou en fait deux aspects très différents de la même chose:

  1. La structure logique utilisée pour organiser des données sur un support de stockage.
  2. La méthodologie utilisée par le système d'exploitation pour offrir des processus uniformisement accès à des données.

Le concept de fichiers et de répertoires est une métaphore. Pour un ordinateur, il n'y a que des données et que tous les supports ne sont que des périphériques pouvant contenir des données. Certains périphériques permettent des données de lecture et d'écriture (E.G. HDD), d'autres périphériques n'autorisent que les données de lecture (par exemple CD-ROM) et il existe même des périphériques qui autorisent uniquement des données d'écriture (E.G. imprimante). Nous utilisons la métaphore de fichiers et de répertoires pour structurer des données, de sorte que nous puissions accéder à de petits morceaux de données, plutôt que tout en même temps.

Les systèmes de fichiers que nous mettons sur le support de stockage, par exemple. EXT4, XFS, la graisse fait la partie structurante. Nous les utilisons pour mettre des étiquettes sur des morceaux de données (fichiers) et pour avoir une liste structurée cohérente de toutes les étiquettes (répertoires). La liste structurée est en fait un arbre. L'aspect le plus important est qu'un arbre a exactement un début, sa racine. Maintenir cette structure et veiller à ce que les données soient et restent accessibles, c'est pourquoi il n'y a pas qu'une seule saveur du système de fichiers.

L'autre aspect des systèmes de fichiers est que c'est le travail du système d'exploitation de rendre les données stockées sur des périphériques de stockage accessibles à tous les programmes. Ceci est accompli par deux choses:

  1. Le système d'exploitation offre une interface (programmation) précisément pour accéder à des fichiers et des répertoires. Pour les programmes/processus, peu importe si le système de fichiers sur le périphérique de stockage est ext2, XFS, FAT ou autre. PROGAMS/Processus Accédez à des fichiers et répertoires de manière uniforme.

  2. Le système d'exploitation organise tout le support de stockage, c'est-à-dire leurs systèmes de fichiers, dans ne Structure superordinate. Les programmes d'accès des fichiers et des répertoires à travers cette structure superordonnée et n'ont pas besoin d'interagir avec les périphériques de stockage directement. De cette façon, les programmes ne doivent pas se soucier de l'appareil que réside les données. Cette structure superordonnée est souvent appelée "système de fichiers virtuels" du noyau.

L'ajout du système de fichiers d'un périphérique de stockage au système de fichiers virtuel est appelé "montage" d'un système de fichiers. Lorsque votre linux démarre, le noyau crée le système de fichiers virtuel (VFS). Juste après la création, il est vide et consiste uniquement à son point d'entrée, a.k.a. sa racine, transcrite /. Ensuite, le noyau monte un système de fichiers à la racine du VFS. Ceci est un ramdisk ou immédiatement un système de fichiers sur une partition sur un disque dur. Comme il est ajouté à la racine de la VFS, cette partition est souvent appelée système de fichiers racine.

Maintenant, voici la partie où les lignes floues et nous voyons que les systèmes de fichiers sur les périphériques de stockage et les VFS du noyau sont en réalité deux aspects de la même tâche d'exploitation: avec le montage d'un système de fichiers racine, le VFS contient de nombreux fichiers et répertoires, tous. existent sur la partition racine. Cependant, chaque répertoire peut devenir un "point de montage". Un point de montage est où le VFS met le point d'entrée à un système de fichiers sur un périphérique de stockage. Cela signifie que chaque fois que nous montons un système de fichiers sur un répertoire, nous disons à la VFS qu'au lieu d'accéder aux données stockées dans ce répertoire, nous préférerions accéder aux données sur un autre périphérique de stockage. Les points de montage sont généralement des répertoires vides, de sorte que nous ne rendons pas les données inaccessibles en montrant d'autres systèmes de fichiers sur le dessus.

Lorsque vous installez votre système d'exploitation, il vous appartient si vous souhaitez mettre toutes les données sur un système de fichiers qui devient alors votre système de fichiers racine ou vous souhaitez diviser vos données entre plusieurs systèmes de fichiers. Ce dernier nécessite votre système d'exploitation pour monter tous les systèmes de fichiers individuels, pour rendre toutes les données accessibles. La façon dont vous divisez les choses est une question de savoir comment vous concevez votre système. C'est pourquoi parfois, les répertoires que vous connaissez de votre installation sont appelés systèmes de fichiers.

Pour les ordinateurs, nous avons généralement à la maison, la scission de votre installation dans plusieurs systèmes de fichiers n'est plus nécessaire. Il y a toujours de bonnes raisons de le faire, mais cela est hors de portée de cette publication.

Pour maintenir le reste de cette courte publication: les partitions sont un autre moyen de structuration de données sur les périphériques de stockage. Avec les partitions, on sort d'un espace de stockage contigu à partir d'un dispositif de stockage physique et les offre que des périphériques de stockage individuels au système d'exploitation (sur lequel peut mettre des systèmes de fichiers pour monter dans le VFS). Une raison de faire cela peut être que l'un n'a qu'un disque dur, mais veut employer de nombreux systèmes de fichiers différents. La partition sur laquelle la vie du système de fichiers racine est souvent appelée partition racine.

3
Bananguin

Vous faites un peu de confusion. Filesystem Indique un mécanisme par lequel les fichiers sont situés et organisés sur un périphérique de stockage ou sur une mémoire de masse, comme un disque dur ou un CD-ROM et, dans certains cas, également sur la RAM.

Même Windows utilise des systèmes de fichiers tels que NTFS ou, plus tôt, FAT.

Votre exemple montre une pratique courante pour les systèmes Linux et UNIX, de disposer de leur propre système composé de différents systèmes de fichiers montés sur des répertoires nommés point de montage. Cela permet, en cas de problème, de limiter les dommages à un ou plusieurs mais non à tous les systèmes de fichiers.

Donc, FS== n'est pas équivalent au répertoire, et également sous Linux, il existe des répertoires, qui sont un type particulier de fichier

1
LilloX