Gestion des périphériques
Monter un système de fichiers
- Comme le système de fichiers Linux se concentre dans une seule arborescence de fichiers, l'accès et l'utilisation de systèmes extérieurs (disques, disquettes, cd ..) doit s'effectuer par intégration de ces systèmes de fichiers dans le système fondamental "racine".
Ce mécanisme d'intégration, souple et paramétrable, s'appelle le montage.
- Techniquement, l'opération de montage consiste à mettre en relation :
- un fichier de périphérique situé dans
/dev (qui permet la communication physique avec les données du périphérique)
- avec un noeud d'insertion dans l'arborescence, appelé son
point de montage
- Naturellement le montage fondamental est celui du répertoire racine / du système. Celui-ci se trouve dans une partition automatiquement montée au démarrage. D'éventuelles autres doivent également etre montées au boot pour que l'arborescence standard du système de fichiers soit constuit en mémoire.
- Mais comment, lors du démarrage, le noyau sait quoi il doit monter et à partir de quel périphérique (partition disque en général) ?
En consultant la table de montage /etc/fstab, fichier fondamental décrit plus loin
- Ce processus est fondamental sur les systèmes de la famille UNIX, il conditionne tout accès à une ressource externe, en particulier à des ressources réseau à d'autres disques Linux
Commandes de montage/démontage
- Il est toujours possible de monter "à la main" les systèmes
de fichiers stockés sur les périphériques disques,
cd ... avec la commande interactive mount/umount
-
Syntaxe générale :
mount -t <type > -o options /dev/rep-spécial /mnt/rep-montage
Si cette description est présente dans le fichier /etc/fstab,
la commande peut être simplifiée
mount /dev/rep-spécial
ou mount /mnt/rep-montage
- Les types principaux
ext2 (type par défaut), vfat, FAT16 ou FAT32 de Win95 ou Win98, nfs, système de fichiers distant situé sur un serveur NFS
- Les options
les options par défaut sont:
rw (accès complet), suid (les éventuels permissions SUID et SGID des fichiers seront pris en compte), dev (permettre l'utilsation des fichiers de périphériques, exec (permettre l'exécution de fichiers binaires)
- Exemples
- mount
liste tous les systèmes de fichiers actuellement montés
mount -a
monter tous les systèmes au démarrage, exécute /etc/rc.d/rc.sysinit
-
mount /dev/cdrom monte le système du cd-rom
(si décrit dans fstab)
umount /mnt/floppy démonte le système de
fichiers disquette
mount -t vfat -o uid=5001,gid=5000,umask=022 /dev/hda1 /mnt/disk-c
monter la partition Windows occupant la 1ère partition /dev/hda1 dans le rép. /mnt/disk-c, acev les options : l'utilisateur d'uid 5001, et le groupe de gid 500, seront propriétaires de tous les fichiers, la création d'un fichier s'effectuera avec le umask 022, c'est-à-dire les permissions 755 (rwxr-xr-x).
Les tables de montage : /etc/fstab et /etc/mtab
Le premier processus init (exécuté au démarrage),
après chargement du noyau, se charge de monter les systèmes de
fichiers conformément aux spécifications du fichier /etc/fstabet effectue
leur éventuel montage automatique.
En effet, ce fichier /etc/fstab constitue une véritable "table de
montage". Il fait l'inventaire des divers systèmes de fichiers que
le noyau Linux est susceptible de gérer, précise la façon
de les monter, s'ils doivent l'être au démarrage, ou plus tard à la demande des utilisateurs etc ..
Le fichier /etc/mstab est dynamique et décrit à tout moment l'état des montages des partitions disques et des périphériques.
Structure des tables
Sur chaque ligne on trouve la description du montage d'un système, avec 6 champs :
- nom du fichier "device"
- chemin vers le point de montage (dépend des distributions, souvent un sous-rep de /mnt
- le type de fichiers : ext2 (Linux), swap, msdos, vfat (Win9x), ntfs (NT), iso9660 (Cd-rom), nfs
- liste d'options de montage, séparés par des virgules
- auto/noauto , pour imposer/empêcher un montage automatique au démarrage du système.
- user/nouser, pour autoriser/interdire un user quelconque à effectuer le montage. En cas de nouser cette tâche est réservé à root.
- paramètre pour
dump (commande de sauvegarde)
Une valeur 0 signifie que le système de fichiers ne sera pas sauvegardé lors d'un dump
- paramètre pour la vérification des fichiers
Il indique l'ordre dans lequel fsck devra vérifier les fichiers, 1 en priorité (c'est normalement la partition racine /, 2 sinon, et 0 pour ne pas demander de vérification.
TP1
Directives de fstab à commenter
/dev/fd0 /floppy auto user, noauto
- comment allez-vous monter la disquette ?
/dev/hda1 /mnt/diskc vfat user, auto,rw
- /dev/hda1 est le ..
- /mnt/diskc est le ..
- vfat est ..
/dev/hdb1 /mnt/disk_d vfat user, auto
- Quelle signification cette ligne a-t-elle au lancement du système ?
- Commenter les paramètres auto et user
|
TP2
Montage et démonter ..
- Editer votre /etc/fstab.
- Quelle est la description prévue pour le montage du système de fichier d'une disquette ?
- Comparer avec la table mtab
- Monter ce système et vérifier son accessibilité au point de montage
- Qu'observe t-on dans mtab?
- Sortir du point de montage et démonter. Observer mtab
- Memes question pour le cdrom. Peut-on l'enlever avant de le démonter ?
|
TP3
Commenter la table de montage d'un SE3
# /etc/fstab: Information sur les systèmes de fichiers.
#
# <sys.fichiers> <pt de montage> <type> <options> <dump> <pass>
/dev/hda2 / ext3 errors=remount-ro 0 1
/dev/hda1 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto user,noauto 0 0
/dev/cdrom /cdrom iso9660 ro,user,noauto 0 0
/dev/hda3 /home xfs defaults 0 0
/dev/hda4 /var/se3 xfs defaults 0 0
|
Examen du partitionnement du disque
/etc/fstab ne renseigne pas sur les caractéristiques physiques du partitionnement du ou des disques
Les 4 périphériques IDE sont désignés par leur fichier "device" d'accès :
/dev/hda, /dev/hdb (1er connecteur IDE) /dev/hdc, /dev/hdd (2ème)
TP4
Interroger le 1er disque (comme root) avec fdisk
fdisk /dev/hda
- Command : p pour lister les partitions
- Interprétez complètement les infos obtenues
- Peut-on créer d'autres partitions sur ce disque ?
|
Compléments
Installer une nouvelle partition
Dans certains cas il peut s'avérer indispensable d'étendre le système de fichiers sur un nouveau disque dur, ou une partition récupérée ...
L'objectif consiste à assigner à une sous-arborescence du système de fichiers, cette nouvelle ressource périphérique, par le processus de montage.
Soit une nouvelle partition /dev/hda3, jusqu'ici "libre", à monter sur /home.
- Avec fdisk, lui affecter un système 83 linux
- La formater
mkfs -t ext2 -c -v /dev/hda3
formate en blocs de 1024 en vérifiant les blocs(-c), puis écrit la table des inodes.
- effectuer une copie
cp -pr /home /root
le déplacement de /home, dans /root par exemple. En effet /home est présent actuellement sur hda1, et il va être ensuite physiquement affecté sur hda3
Les rép. personnels sont actuellement dans /root/home
- monter la partition
hda3 en /home
mount /dev/hda3 /home
Expliquer les résultats des commandes :
df
ll /home
- récupérer le contenu de
/home
mv /root/home/* /home
- pour automatiser le montage de
/dev/hda3 lors d'un redémarrage du système,
ajouter dans la table de montage /etc/fstab la ligne :
/dev/hda3 /home ext2 defaults 1 2