En Linux il n’existe qu’un seul système de fichier: /
.
Les autres systèmes de fichiers ne seront pas des racines comme dans Windows.
Tous les périphériques matériels, incluant les disques, se retrouvent dans le répertoire /dev
.
Les disques seront présents sous forme de fichier de type bloc.
Il n’est pas possible de les utiliser directement, il faudra:
Créer un ou plusieurs partitions
Formater la partition (création d’un système de fichiers)
Monter la partition (lui donner un chemin d’accès)
Lorsque vous ajoutez un disque dans une machine Linux (disque réel ou virtuel), un nouvel objet apparait dans le répertoire /dev.
Il sera nommé sd[x]
pour les disques SCSI ou hd[x]
pour les disques IDE.
La 3eme lettre sera assignée dans l’ordre. Si “a” est pris alors ce sera “b”, si “b” est pris ce sera “c”.
Attention: un disque ne possède pas de numéro à la fin.
Pour voir tous vos disques, vous pouvez utiliser:
$ ls /dev/sd* $ ls /dev/hd*
Avec VMWare, la règle d’assignation des noms de disques dans les VMs est la suivante:
Un disque sera nommé sd[a-z]
sauf si le pilote utilisé est SCSI.
Un disque sera nommé hd[a-z]
si le pilote utilisé est IDE.
Les partitions sont ensuite numérotées pour chaque disque:
sda1
, sda2
,…
hda1
, hda2
,…
Après l’ajout de disques, ils doivent être partitionnés.
La commande fdisk
permet de manipuler et afficher les partitions.
fdisk -l
permet d’afficher toutes les partitions de tous les disques présents.
$ fdisk -l Disque /dev/sda : 64.4 Go, 64424509440 octets, 125829120 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0x00011277 Périphérique Amorçage Début Fin Blocs Id. Système /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 125829119 61864960 8e Linux LVM Disque /dev/mapper/centos-root : 41.1 Go, 41120956416 octets, 80314368 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Disque /dev/mapper/centos-swap : 2147 Mo, 2147483648 octets, 4194304 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Disque /dev/mapper/centos-home : 20.1 Go, 20073938944 octets, 39206912 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets
On voit les tailles (en blocs), le type, s’il s’agit de la partition d’amorçage.
Il est possible de créer un maximum de 4 partitions principales sur un disque ou alors une partition principale, une partition étendue dans laquelle on peut créer autant de partitions que l’on souhaite.
La création de partition se fait grâce à fdisk
.
Pour créer des partitions, on utilise le disque, pas les partitions (jamais de numéro à la fin):
$ fdisk /dev/sdb
Ensuite plusieurs options sont disponibles mais la création standard se fait avec les commandes suivantes:
n
Nouvelle partition
p
Partition principale
Entrée
Accepter le numéro de partition par défaut (s’il y en a un sinon le spécifier)
Entrée
Numéro du bloc de départ (peut être accepté ou spécifier)
Entrée
Numéro du bloc de fin(peut être accepté ou spécifier)
w
Sauvegarder et quitter (avant ça aucune modification n’a eu lieu)
Une fois les partitions créées, elles apparaissent dans /dev
.
Les partitions de /dev/sda
seront donc:
/dev/sda1
/dev/sda2
…
C’est sur ces partitions que nous pourrons travailler: création de systèmes de fichiers et montage.
Une fois les partitions créées, elles ne sont toujours pas utilisables car il n’y a pas système de fichier dessus.
Il faudra en créer un grâce à la commande mkfs
.
Chaque partition du disque peut avoir un système de fichier différent: FAT, FAT32, EXT2, EXT3, EXT4, BTRFS, XFS… (Linux ne gère pas NTFS).
Deux façons existent de créer un système de fichier:
$ mkfs -t ext4 /dev/sdb1 $ mkfs.ext4 /dev/sdb1
Les deux commandes sont équivalentes.
Maintenant les partitions sont utilisables, il ne reste qu’à leur donner un chemin d’accès pour pouvoir y accéder.
Maintenant que nous avons des partitions utilisables, il faut pouvoir y accéder.
Il faut les placer quelque part, leur donner un chemin d’accès.
Pour ceci nous allons les placer dans un répertoire vide (n’importe où dans l’arborescence).
Si le répertoire n’est pas vide, les données disparaitront jusqu’à ce que vous démontiez le système de fichiers.
Chaque partition doit avoir son propre chemin d’accès.
Vous ne pouvez pas placer plusieurs partitions dans le même répertoire.
Une fois la partition montée dans le répertoire, tout ce que vous écrirez dans le répertoire sera placé dans la partition.
Deux méthodes existent pour monter un système de fichier:
Une méthode manuelle mais non persistante (au prochain redémarrage la partition ne sera plus montée).
Une méthode automatique et permanente.
$ mount$ mount /dev/sdb1 /root/data
Pour valider l’opération:
$ df -h
Maintenant, lorsque vous accédez au répertoire dans lequel est montée la partition, vous écrirez dans la nouvelle partition.
Dans notre exemple, il suffira d’écrire dans le répertoire: /root/data
.
Vous pouvez monter autant de partitions que vous le souhaitez mais dans des répertoires différents.
La commande mount permet de monter un système de fichiers mais ce montage ne sera pas permanent et il aura disparu en cas de redémarrage de la machine.
Pour le rendre permanent, il faudra modifier le fichier /etc/fstab
qui contient les partitions à monter au démarrage.
ATTENTION: une erreur dans le fichier /etc/fstab
empêche le système de démarrer au-delà du niveau d’exécution 1.
Il faudra alors corriger le problème pour pouvoir aller plus loin.
Voici comment modifier le fichier /etc/fstab
, en ajoutant la ligne suivante:
/dev/sdb1 /root/data ext4 defaults 0 0
Ajoutez un disque à votre VM et trouvez le dans /dev
.
Créez deux partitions de taille égale sur ce disque.
Formatez une des partitions en ext4
et l’autre en FAT 32
.
Montez la partition en ext4
dans le répertoire /mnt.
Montez la partition en FAT 32
dans /home/<vous>/disk
.
Rendez ces deux montages permanents.