/etc/fstab, udev et UUID

2008-08-11
Thomas Martin


Le fichier /etc/fstab après une installation standard de Debian utilise directement des noms de partitions sous la forme /dev/sda2 par exemple.

Or, la connexion d'un périphérique (clé USB, baie de disque, etc.), peut potentiellement décaler votre disque principal en /dev/sdb, le périphérique fraîchement connecté utilisant /dev/sda. Ceci rend alors votre système impossible à démarrer correctement.

Une solution est alors d'utiliser le nommage UUID fourni par udev(7). Chaque partition dispose dans /dev/disk/by-uuid d'un lien symbolique pointant vers elle-même :

/dev/disk/by-uuid/1351bbd0-e931-47a0-b528-be33d135d35a -> ../../sda2

Udev fourni par défaut une notation raccourcie permettant de spécifier des entrées dans /etc/fstab de la forme :

UUID=1351bbd0-e931-47a0-b528-be33d135d35a / ext3 ...

Toutefois si vous utilisez Debian Etch et l'option user du fichier fstab, vous allez certainement rencontrer des problèmes au démontage de vos partitions avec un utilisateur non privilégié (#466775).

La solution est alors d'utiliser le chemin complet :

/dev/disk/by-uuid/1351bbd0-e931-47a0-b528-be33d135d35a / ext3 ...

Ce qui après tout est plus UNIX.

Note : Si les périphériques swap n'apparaissent pas dans /dev/disk/by-uuid il faut les reformater. Par exemple pour la partition swap /dev/sda7 :

swapoff /dev/sda7mkswap /dev/sda7blkid /dev/sda 7   # retourne l'UUID