web-dev-qa-db-fra.com

Quels points de montage existent sur un système de Linux typique?

J'ai 2 questions.

  1. Pendant l'installation Linux, nous spécifions un espace mémoire pour 2 points de montage - racine et échange. Y a-t-il d'autres points de montage créés sans l'avis des utilisateurs?
  2. Cette déclaration est-elle correcte: "Le montage ne fait pas partie de l'image uniquement lorsqu'il s'agit de différentes partitions. I.e, vous ne pouvez pas monter, dire,/proc sauf si c'est une partition différente"?
32
John

Il y a des idées fausses derrière vos questions.

  1. L'échange n'est pas monté.
  2. Le montage n'est pas limité aux partitions.

Partitions

A partition est une tranche¹ d'espace disque consacré à un but particulier. Voici quelques objectifs communs pour les partitions.

  • A Système de fichiers , I.E. Fichiers organisés sous forme d'arborescence de répertoire et stockés dans un format tel que EXT2, EXT3, FFS, FAT, NTFS, ...
  • Swap Space, I.e. Espace disque utilisé pour Paging (et stockage images hibernation ).
  • Accès direct de l'application. Certaines bases de données stockent leurs données directement sur une partition plutôt que sur un système de fichiers pour gagner une petite performance. (Un système de fichiers est une sorte de base de données quand même.)
  • Un conteneur pour d'autres partitions. Par exemple, A Partition étendue PC ou un disque SLICE contenant des partitions BSD, ou un LVM Volume physique (contenant des volumes finalement logiques qui peuvent eux-mêmes être considérés comme partitions), ...

Systèmes de fichiers

Systèmes de fichiers Informations présentes dans une structure hiérarchique. Voici quelques types courants de systèmes de fichiers:

  • Systèmes de fichiers sauvegardés de disque, tels que EXT2, EXT3, FFS, FAT, NTFS, ...
    • Le support n'a pas besoin d'être directement sur une partition de disque, comme indiqué ci-dessus. Par exemple, cela pourrait être un [~ # ~ # ~] LVM [~ # ~ ~] Volume logique ou a Mont de boucle .
  • Systèmes de fichiers à mémoire de mémoire, tels que Solaris et Linux TMPFS .
  • Systèmes de fichiers qui présentent des informations du noyau, tels que proc et sysfs sur Linux.
  • Systèmes de fichiers réseau, tels que [~ # ~ # ~] nfs [~ # ~] , samba , ...
  • Systèmes de fichiers appuyés par l'application, dont fusible a une grande collection . Les systèmes de fichiers appuyés par l'application peuvent faire à peu près n'importe quoi: rendre un serveur FTP apparaît sous forme de système de fichiers, donnez une autre vue d'un système de fichiers où les noms de fichier sont insensibles de cas ou convertis en un codage différent, affichent des contenus d'archives comme si elles étaient des répertoires, ...

Montage

Unix présente des fichiers dans une seule hiérarchie, généralement appelé "le système de fichiers" (mais dans cette réponse, je n'utiliserai pas le mot "Système de fichiers" dans ce sens pour maintenir la confusion). Les systèmes de fichiers individuels doivent être greffés sur cette hiérarchie afin d'y accéder .³

Vous faites un système de fichiers accessible en le montage. Le montage associe le répertoire racine du système de fichiers que vous montage avec un répertoire existant dans la hiérarchie de fichiers. Un répertoire qui a une telle association est connu sous le nom de point de montage.

  • Par exemple, le système de fichiers racine est monté au moment du démarrage (avant que le noyau ne commence tout processus) sur le / répertoire.
  • Le système de fichiers PRO sur laquelle certaines variantes UNIX telles que Solaris et Linux exposent des informations sur les processus sont montées sur /proc, pour que /proc/42/environ désigne le fichier /42/environ Sur le système de fichiers PRO, qui (sous Linux, au moins) contient une vue en lecture seule de l'environnement du numéro du processus 42.
  • Si vous avez un système de fichiers séparé par ex. pour /home, alors /home/john/myfile.txt désigne le fichier dont le chemin est /john/myfile.txt de la racine du système de fichiers home.

Sous Linux, il est possible que le même système de fichiers soit accessible à travers plusieurs chemins, grâce à Supports de liaison .

Un système de fichiers Linux typique comporte de nombreux systèmes de fichiers montés. (Ceci est un exemple; Différentes distributions, versions et configurations conduiront à différents systèmes de fichiers montés.)

  • /: le système de fichiers racine, monté avant que le noyau charge le premier processus. Le chargeur de démarrage indique au noyau que d'utiliser comme système de fichiers racine (c'est généralement une partition de disque mais pourrait être autre chose comme une exportation NFS).
  • /proc: le proc Filessytem, ​​avec des informations sur le processus et le noyau.
  • /sys: le système de fichiers SYSFS , avec des informations sur les périphériques matériels.
  • /dev: un système de fichiers en mémoire où fichiers de périphérique sont automatiquement créés par dev en fonction du matériel disponible.
  • /dev/pts: un système de fichiers spécial contenant des fichiers de périphérique pour exécuter émulateurs de terminaux .
  • /dev/shm: un système de fichiers en mémoire utilisé à des fins internes par la bibliothèque standard du système.
  • Selon les composants du système que vous avez exécutés, vous pouvez voir d'autres systèmes de fichiers spéciaux tels que binfmt_misc (utilisé par le sous-système de noyau du format de fichier de l'exécution étrangère ), fusectl (utilisé par fusible ), nfsd (utilisé par le Kernel NFS Server), ...
  • Tout système de fichiers mentionné explicitement dans /etc/fstab (et non marqué noauto) est monté dans le cadre du processus de démarrage.
  • Tout système de fichiers monté automatiquement par [~ # ~] hal [~ # ~ ~] (ou fonctionnalité équivalente) après l'insertion d'un dispositif amovible tel qu'une clé USB.
  • Tout système de fichiers monté explicitement avec la commande mount.

¹ Parler de manière informelle ici.
[.____] ² InitiDRD et tels sont au-delà de la portée de cette réponse.
[.____] ³ Ceci est différent de Windows, qui a une hiérarchie séparée pour chaque système de fichiers, par ex. c: ou \\hostname\sharename.

  1. Chaque distribution Linux a son propre arrangement de partition par défaut; Certains d'entre eux utilisent des dizaines de partitions, une seule seule. 3 et 4 sont des arrangements assez courants (/ boot /, échange et///home). Certaines mises en page plus anciennes avaient souvent/var sur une partition séparée et des systèmes extrêmes HND tout dans/var/* et/opt/* sur des partitions séparées! La meilleure généralisation que je puisse faire en réponse à votre question est que rien dans le monde Unix n'est effectué sans l'avis des utilisateurs ni la capacité de le changer!
  2. Vous pouvez monter des choses qui ne sont pas des partitions. Par exemple/Proc n'est généralement pas une partition, c'est un système de fichiers pseudo fourni par le noyau qui vous permet de lire et d'écrire des données sur les processus d'exécution comme s'il s'agissait de fichiers. Vous pouvez également monter des fichiers (comme ISO) comme s'ils étaient des lecteurs utilisant un dispositif de bouclage, lier des dossiers de montage à d'autres endroits et faire diverses autres astuces Ninja.
13
Caleb