🐧
Unix Shell
  • Unix Shell
  • Introduction
    • Introduction
      • 🎉Installation Party
  • 💻L'invite de commandes
    • L'invite de commandes
      • Ouvrir une invite de commandes
      • L'interprète
      • Mes premières commandes
      • Exercice avec ls
      • Raccourcis bash
  • Fichiers et repertoires
    • 📂Fichiers et répertoires
      • Navigation
      • Fichiers : Exercice
      • Edition des fichiers
      • Fichiers spéciaux
  • Recherches
    • 🔍Recherches
      • find
      • Exercice avec find
  • Droits
    • 🔨Droits et permissions
      • Qui
      • Quoi
      • Préciser les droits
  • Packages / Réseau / internet
    • 🌎Le monde extérieur
      • Installer des packages supplémentaires
      • Télécharger des fichiers
      • SSH : Ouvrir un SHELL à distance
      • SCP : Transférer des fichiers
      • Parenthèse : Cryptographie
  • Gestion de la machine
    • 📈Gestion
      • Disques / partitions
      • Exercice : formater et monter une volume (mastère)
      • Les processus
      • Réseau
  • Configurer Apache
    • 🏅Exercice : configurer votre espace web
  • Pipes et redirections
    • 🌊Pipes et redirections
      • Redirections des fichiers
      • grep et les expressions régulières
      • sed : chercher et remplacer
      • awk
  • Scripts
    • 🤖Scripts
      • Exécuter un script
      • Variables
      • Conditions
      • Boucles
      • Fonctions
      • Exercice : un script CGI pour Apache
  • Git
    • 🤖GIT
      • Commandes
      • Branches
      • Déploiement automatique
  • Docker
    • 🐳Docker
      • Lancer des containers
      • Volumes
      • Docker compose
Propulsé par GitBook
Sur cette page
  • Devices
  • Disques vs partitions
  • Formater un disque ou partition
  • Monter un périphérique
  • Monter les disques/partitions/volumes au démarrage
  1. Gestion de la machine
  2. Gestion

Disques / partitions

PrécédentGestionSuivantExercice : formater et monter une volume (mastère)

Dernière mise à jour il y a 2 ans

Nous avons déjà dit que dans UNIX tous les fichiers et répertoires existent dans une seule arborescence.

Comment on gère donc une multitude de périphériques, comme de disques, des clés USB ?

On monte un périphérique dans l'arborescence où on veut :

Devices

Un périphérique, ou device est listé sous le répertoire /dev. En faite, tout les fichiers qui se trouvent sous /dev sont des interfaces vers les pilotes (ou driver) des périphériques correspondants.

Pour lister les périphériques, on utilise la commande df :

kevin%nguni.fr@unix-shell-students:~$ df
Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur
tmpfs                 767248    1016     766232   1% /run
/dev/vda1           75524576 2037248   73470944   3% /
tmpfs                3836232       0    3836232   0% /dev/shm
tmpfs                   5120       0       5120   0% /run/lock
/dev/vda15            106858    5329     101529   5% /boot/efi
tmpfs                 767244       4     767240   1% /run/user/0
tmpfs                 767244       4     767240   1% /run/user/1001
tmpfs                 767244       4     767240   1% /run/user/1002

Sur mon serveur, il y a 2 périphériques dans /dev. On peut aussi voir :

  • Le point de montage dans l'arborescence

  • Combien de place reste dans chaque partition/disque.

On ne peut pas naviguer à un périphérique /dev avec cd, ni lister leurs contenus avec ls. Essayez !

En revanche, on peut naviguer vers son point de montage. Dans l'exemple dessus on peut faire cd /, mais on ne peut pas faire cd /dev/vda1.

Disques vs partitions

Un disque est un périphérique comme un disque dur ou une clé USB. Sur un disque, on peut créer une ou plusieurs partitions, qui sont des espaces indépendantes.

Comment voir les disques et partitions ? Cela change en fonction de votre parfum d'Unix. Sur Ubuntu, on utilise la commande lsblk (list block devices) :

kevin%nguni.fr@unix-shell-students:~$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0     7:0    0  103M  1 loop /snap/lxd/23541
loop1     7:1    0 63,2M  1 loop /snap/core20/1695
loop2     7:2    0 49,6M  1 loop /snap/snapd/17576
vda     252:0    0 74,5G  0 disk 
├─vda1  252:1    0 74,4G  0 part /
├─vda14 252:14   0    4M  0 part 
└─vda15 252:15   0  106M  0 part /boot/efi

Ici, on voit que le disque vda contient 3 partitions.

Une partition ou un disque n'est pas obligatoirement monté dans la hiérarchie. lsblk nous donne de l'information des périphériques connectés seulement. Il faudrait la monter avant de l'utiliser, et de les voir avec df.

Formater un disque ou partition

Encore une fois, formater un disque ou une partition dépende du parfum Unix que vous utilisez. Dans Ubuntu, on utilise mkfs (make file system).

Par exemple :

# Formater le périphérique à /dev/sda avec le format "ext4" 
mkfs.ext4 /dev/sda

Monter un périphérique

Si vous branchez une clé USB ou disque dur interne (ou, si vous êtes chez un hébergeur cloud, et vous aimeriez attacher une volume externe), on commence par d'abord lister les périphériques (avec lsblk), puis on le monte à l'endroit où on veut :

mount -o defaults [chemin vers l’appareil block] [chemin de montage]

Exemple :

# Monter le périphérique /dev/sda sur le dossier /mnt/data
mount -o defaults /dev/sda /mnt/data

Monter les disques/partitions/volumes au démarrage

Si on redémarre notre machine UNIX après avoir monter un disque, on perdra nos modifications.

Il faudrait sauvegarder notre manipulation dans un fichier spécial, qui est lu au démarrage. Dans notre cas, le fichier se trouve à /etc/fstab :

kevin%nguni.fr@unix-shell-students:~$ cat /etc/fstab 
LABEL=cloudimg-rootfs   /        ext4   discard,errors=remount-ro       0 1
LABEL=UEFI      /boot/efi       vfat    umask=0077      0 1

Pour notre exemple, monter le disque /dev/sda (format ext4) sur /mnt/data automatiquement au démarrage :

nano /etc/fstab
# Ajoutez la ligne au fichier, puis sauvegardez :
# /dev/sda /mnt/data ext4 defaults 0 0

Vous pouvez tester votre modification avec umount et mount:

# Demonter votre volume
umount /mnt/data

# Re-monter le volume, sans préciser /dev/sda : mount va chercher dans fstab automatiquement
mount /mnt/data

Si mount fonctionne correctement, vous pouvez redémarrer votre instance avec :

reboot

Attention, les consignes suivantes ne fonctionneront que sur une machine virtuelle, ou une vraie machine à laquelle vous êtes connectée.

Attention, il vous faut des droits suffisants pour modifier ce fichier !

Consultez man fstab pour en savoir plus du format de ce fichier !

📈
❗
⚠️
📖