Monter automatiquement un volume au démarrage avec fstab

 

 

Dans beaucoup de cas il est intéressant de pouvoir faire en sorte qu’un volume externe se monte automatiquement à l’allumage de la machine.

Cela peut notamment être utile pour un partage samba ou pour un stockage owncloud par exemple.

 

 

Prérequis :

  • Savoir utiliser la commande fdisk et mount. Si ce n’est pas le cas je vous invite à consulter les man de ces deux commandes.
  • Avoir les droit administrateur bien entendu
  • Avoir installé le paquet ntfs-3g si vous souhaitez monter un volume « windows » de type NTFS. (apt-get install ntfs-3g)

 

 

Présentation

Nous allons par la suite devoir modifier un fichier assez sensible du système. Pour ma part la première fois que je l’ai fais j’ai bien cru que j’avais cassé mon système. J’ai voulu jouer comme débutant et j’ai perdu. Néanmoins avec linux en cherchant un peu on trouve toujours une solution. bref, passons.

Ce qui nous intéresse se passe dans le fichier /etc/fstab : késako ?

Ce fichier en fait s’occupe de monter les volumes repérés par leur chemin ou par leur UUID (identifiant unique) vers l’emplacement de votre choix avec les options que l’on souhaite.

 

1/ contenu

Voici comment il se présente :

 

Il contient 6 champs par ligne :

# **file system**  **mount point**  **type**    **options**   **dump**      **pass**
  • file system :  chemin/de/votre/volume
  • mount point : chemin/emplacement/final
  • type : type_de_systeme_de_fichier (ext4 ntfs etc…)
  • options : voir_tableau_ci_dessous
  • dump : type_de_verifications (0 ou 1)    
  • pass : ordre_de_verification (0 1 2)

 

2/ Options

En rouge les options par défaut.

OPTION DESCRIPTION
defaults Options par défaut ⇒ rw, suid, dev, exec, auto, nouser, async.
rw / ro Lecture et écriture autorisées / Lecture seule.
suid / nosuid Autorise les opérations sur les bits suid et sgid / N’autorise pas.
dev / nodev Interprète les noeuds de type caractères ou blocs / N’interprète pas.
exec /noexec Autorise l’exécution des fichiers binaires / N’autorise pas.
auto / noauto “mounté” automatiquement au démarrage et lors d’un appel mount -a / Ne pourra être monté qu’explicitement.
nouser / user Seul “root” sera autorisé à effectuer le mountage dé-mountage / Tous les utilisateurs aussi.
async / sync Accès en mode asynchrone / synchrone.
owner Seul le propriétaire sera autorisé à “mounter” “démounter”.
noatime Optimisation SSD (NO Access TIME): ne pas mettre à jour l’attribut “atime” et limiter le nombre d’accès disques.
discard Optimisation SSD : Active le mode TRIM : Gestion des effacements/libération par blocs.
sw Pour les partitions de type “swap”.
nofail Ne pas renvoyer les messages d’erreur de “mount”.
comment Utilisé par les programmes de maintenance de fstab.

3/ Dump

prend la valeur 1 pour les partitions visées par une sauvegarde au moyen de l’utilitaire dump ou 0 pour les autres.

4/ Pass

  • 0 si la partition ne doit pas être vérifiée par fsck (NTFS par exemple)
  • 1 pour la partition racine
  • 2 pour les autres partitions UNIX

 

 

 

Préparation

1/ Sauvegarde

  • Nous allons donc commencer par effectuer une sauvegarde de ce fichier.
sudo cp /etc/fstab /etc/fstab_old

2/ Point de montage

  • Puis nous allons créer un point de montage pour notre futur disque.
sudo mkdir /stockage.
sudo mkdir /stockage/nom_de_votre_disque.

3/ UUID

  • Branchons notre disque et vérifions s’il est là.
sudo fdisk -l

On repère son montage (sda ou sdb, voir nvme0n1p pour certains SSD).

  • maintenant trouvons son UUID afin d’éviter les confusions au montage.
ls -l /dev/disk/by-uuid/
  • Si votre volume est déjà monté, démontez le.
sudo umount /dev/votre_volume

 

Permissions

On va donner les permissions à votre utilisateur d’utiliser le volume.

  • Commencez par créer un groupe.
sudo groupadd stockage
  • Puis repérez son identifiant « gid ».
sudo cat /etc/group |grep stockage

Retenir l’id de la commande, x:1004 ou 1005 etc.

  • Puis on ajoute l’utilisateur #votre_user au groupe stockage.
usermod -a -G stockage votre_user

 

Ecriture fstab

1/ Ecriture

  • On ouvre /etc/fstab.
sudo nano /etc/fstab
  • Puis on inscrit la chose suivante.

 

UUID=Votre_UUID  /stockage/nom_de_votre_disque  ntfs-3g  suid,dev,auto,async,gid=votre_gid,umask=007,nofail,permissions    0    0

2/ Petite explication

  • Le « auto » permet de monter le volume automatiquement. Si vous ne souhaitez plus cette fonctionnalité renseignez « noauto ».
  • Le « nofail » permet entre-autre d’éviter le plantage de votre machine au boot si le montage ne s’effectue pas bien. Pour les autres options se référer au tableau.

On ferme fstab et on enregistre

 

Test

Désormais, et avant tout rallumage de votre machine,  vous pouvez tester le montage avec la commande :

sudo mount -a

 

Si tout se passe bien vous pouvez désormais accéder au contenu de votre volume dans le dossier /stockage/votre_volume.

Vous pouvez alors rebooter votre machine et vérifier que le montage s’effectue bien automatiquement.

 

OWNCLOUD

 

Une fois les étapes précédentes réalisées il va falloir donner des permissions à votre montage afin que celui-ci puisse être exploité par owncloud.

  • On ajoute l’utilisateur www-data au groupe stockage.
sudo usermod -a -G stockage www-data

(www-data est l’utilisateur par defaut de Apache, ici on l’ajoute au groupe « stockage »)

  • On donne la propriété du dossier stockage a l’utilisateur et au groupe www-data.
sudo chown -R www-data:www-data /stockage/*

(* pour donner ces droits à tout les dossiers et sous-dossiers)

 

 

2 réflexions sur “Monter automatiquement un volume au démarrage avec fstab

  • mars 1, 2020 à 8:47
    Permalien

    Merci pour cet article instructif que je viens de lire longtemps après sa parution.

    En cas de mise à niveau d’une distribution avec formatage de / on doit reprendre la manip. Avez-vous une stratégie particulière pour l’éviter ou l’alléger. script bash par exemple.

    Répondre
    • avril 16, 2020 à 7:57
      Permalien

      Bonjour. Mes excuses pour le retard…
      Je n’ai jamais eu ce besoin. La manip est assez simple au final et cela fait partie pour moi des petites choses à faire en cas de ré-install du système.
      Après si l’on veut industrialiser un peu, oui un petit script bash ferait l’affaire. Sinon le mieux serais carrément d’avoir une image clean de la partition système, re-déployable à l’infini..

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Show Buttons
Hide Buttons