Ceci est une ancienne révision du document !
UUID et label
Qu'est-ce que l'UUID ?
UUID : Universal Unique IDentifier (identifiant universel unique)
Il s'agit d'une suite plus ou moins longue chaîne de caractères alpha-numériques qui permet d'identifier de façon absolument sûre toute partition ou tout type de périphérique de stockage ("device") physique ou virtuel pouvant être raccordé au système de fichiers.
L'utilisation de l'UUID est généralisée. La plupart des systèmes de fichiers que vous rencontrerez reconnaissent les UUID.
Le chiffre de l'UUID est calculé automatiquement au moyen d'un algorithme intégrant notamment certaines données de l'ordinateur hôte. Ce mode de calcul ne présente aucun risque de sécurité crédible.
Un UUID est de la forme : 1124d9e8-6266-4bcf-8035-37a02ba75c69
.
Comment connaître l'UUID ?
Le plus simple est en ligne de commandes, mais il existe aussi des méthodes graphiques.
Graphiquement
- rendez-vous dans le menu Applications → Outils système → Device Manager.
- sélectionnez sur la partie gauche le périphérique qui vous intéresse et dans la partie droite, vous verrez l'UUID à droite de "Volume UUID"
En ligne de commande
La commande blkid
liste des UUIDs, les Labels et Types de toutes les partitions montées.
blkid
vous renvoie quelque chose comme :
/dev/sda1: UUID="8bf33340-e94c-4c4c-981d-35e73f8bc65c" TYPE="ext4" /dev/sda2: UUID="ac56a704-260b-45f5-85ac-e1b451bb79bc" TYPE="swap" /dev/sda3: LABEL="Home" UUID="8244710a-5cce-49ad-8b93-a92b5d2e53a0" TYPE="ext4" /dev/sda4: UUID="DCF041AFF0419126" TYPE="ntfs"
sudo blkid -g
puis sudo blkid
pour mettre à jour le cache des UUIDs
Ou alors,
ls -l /dev/disk/by-uuid
vous permet de connaître les droits d'accès, le propriétaire, la date et l'heure de création et, enfin, l'UUID.
total 0 lrwxrwxrwx 1 root root 10 oct. 22 18:05 2c313d40-6bdc-4e42-917a-b04f88764aac -> ../../sdb1 lrwxrwxrwx 1 root root 10 oct. 22 18:05 8244710a-5cce-49ad-8b93-a92b5d2e53a0 -> ../../sda3 lrwxrwxrwx 1 root root 10 oct. 22 18:05 8bf33340-e94c-4c4c-981d-35e73f8bc65c -> ../../sda1 lrwxrwxrwx 1 root root 10 oct. 22 18:05 ac56a704-260b-45f5-85ac-e1b451bb79bc -> ../../sda2 lrwxrwxrwx 1 root root 10 oct. 22 18:05 DCF041AFF0419126 -> ../../sda4
À quoi va me servir l'UUID ?
Les UUIDs se retrouvent notamment dans deux fichiers de configuration :
- Le fichier de configuration de GRUB, le chargeur de démarrage (
/etc/default/grub
) - Le fichier récapitulant les partitions à monter au démarrage :
/etc/fstab
- Il peut permettre de différencier deux périphériques USB.
Au fil du temps, il est possible, voire probable, que l'organisation de votre système de fichiers change : sans parler des périphériques de stockage, vous allez créer des partitions, modifier leur taille ou leur système de fichiers. À chacune de ces modifications, les partitions modifiées ou créées seront gratifiées automatiquement d'un nouvel UUID.
Que dois-je faire ?
En bref, veiller à la cohérence des UUID : il vous faut veiller à ce que les deux fichiers de configuration soient mis à jour lors de la création de nouveaux UUIDs.
Procédure à suivre:
- Relever l'UUID de la ou des partitions modifiées. (voir plus haut)
- Modifier le fichier /etc/fstab (voir mount_fstab)
- Si il s'agit d'une partition système, mettez à jour GRUB par la commande :
sudo update-grub
Mettre à jour ''/etc/fstab''
Supposons que vous avez modifié (par formatage par exemple) l'UUID de la partition /dev/sdc1
qui était, par /etc/fstab
, montée dans /media/stockage
.
- Lancez la commande suivante pour obtenir son nouvel UUID :
sudo blkid /dev/sdc1
ce qui renvoie quelque chose comme
/dev/sdc1: UUID="8244710a-5cce-49ad-8b93-a92b5d2e53a0" TYPE="ext4"
- Éditez avec les droits administrateurs le fichier
/etc/fstab
pour modifier la ligne :UUID=f1ca2fca-895f-4066-91c4-8a33197e1284 /media/stockage ext4 defaults 0 1
(
defaults
peut être accompagné d'autres options)
afin d'obtenir :UUID=8244710a-5cce-49ad-8b93-a92b5d2e53a0 /media/stockage ext4 defaults 0 1
En fait, le répertoire /dev/disk/by-uuid/ qui recense les disques par UUID n'est mis à jour que pendant le démarrage.
On peut le mettre à jour manuellement (si vous ne voulez pas redémarrer tout de suite) par :
sudo udevadm trigger
Et finalement monter la partition :
sudo mount /media/stockage
UUID, swap et hibernation
Lors de l'upgrade de Dapper vers Edgy, certains ont pu avoir un problème de swap lors de la mise en hibernation.
Dans ce cas, appliquez la technique suivante :
- Déterminez votre partition swap.
sudo fdisk -l
- Régénérez votre partition swap.
sudo swapoff -a sudo mkswap </dev/partition_swap> sudo swapon -a
(bien sûr, remplacez </dev/partition_swap> par votre partition)
Gardez l'UUID de sortie de cette commande.
- Éditez le fichier de configuration /etc/initramfs-tools/conf.d/resume et corrigez l'UUID en le remplaçant par celui que vous venez d'obtenir :
RESUME=UUID=<uuid>
en remplaçant <uuid> par la valeur adéquate…
- Éditez le fichier de configuration /etc/fstab et corrigez l'UUID et si besoin le /dev/partition_swap à la ligne concernant la partition swap.
- Mettez à jour initramfs
sudo update-initramfs -u -k $(uname -r)
- Redémarrer avant de tester l'hibernation
Pour plus d'informations, voir les pages de manuel de :
- mkinitramfs
- initramfs.conf
- initramfs-tools
- update-initramfs
Périphériques branchés à chaud
Cette méthode utilise udev pour forcer le nom du node correspondant au périphérique USB en fonction de son UUID.
- Création d'une règle udev pour associer le périphérique avec le nom de node choisi :
sudo touch /etc/udev/rules.d/85-disque_externe.rules
Pour plus de précisions se rapporter à la page Udev - Fichiers de règles et syntaxes
- Rajouter les lignes suivantes pour associer le nom de node au périphérique
SUBSYSTEM!="block", GOTO="hotname_end" IMPORT{program}="vol_id --export $tempnode" ENV{ID_FS_USAGE}=="filesystem", ENV{ID_FS_UUID}=="f0343b8c-1226-4f66-8b41-6a5c02c028dd", SYMLINK+="sos" LABEL="hotname_end"
- Redémarrage de udev pour prendre la nouvelle règle en compte
sudo /etc/init.d/udev restart
- Créer le point de montage s'il n'existe pas déjà
sudo mkdir /media/sos
- Rajouter une ligne dans la fstab pour associer le nouveau node avec le point de montage
/dev/sos /media/sos auto user,uid=1000,gid=1000,atime,auto,rw,nodev,exec,suid 0 0
Ainsi, ce périphérique sera TOUJOURS monté sur /media/sos après l'avoir branché à chaud, que vous utilisiez konqueror, Dolphin ou la commande mount
Modifier manuellement l'UUID d'un système de fichiers
Il se peut que vous ayez besoin de forcer le changement de l'UUID d'un système de fichiers. C'est le cas, par exemple, lorsque vous faites une copie à l'identique (ou image) d'un système de fichiers à l'intérieur d'un même disque dur ou de tout périphérique raccordé à l'ordinateur. La copie à l'identique ne modifie pas l'UUID d'un système de fichiers dupliqué ; deux systèmes de fichiers au même UUID peut causer certaines difficultés à votre système Ubuntu.
Pour modifier manuellement un UUID, utilisez les outils en ligne de commande tune2fs
, utilitaire de configuration pour systèmes de fichiers de type ext2, ext3 et ext4, ou reiserfstune
, utilitaire de configuration pour systèmes de fichiers ReiserFS.
~$ sudo tune2fs -U <l'UUID desirée> /dev/<votre partition> ou ~$ sudo reiserfstune -u <l'UUID desirée> /dev/<votre partition>
Rappelez-vous que l'UUID doit être un identifiant unique et qu'il ne peut contenir que des caractères alphanumériques ([a-z], [A-Z], [0-9]) et des tirets, et doit débuter par un caractère alphanumérique.
Labels et Étiquettes, c'est mieux non ?
Les étiquettes (ou Label) sont un mode de désignation convivial qui convient plus particulièrement à une utilisation locale. Les étiquettes ne remplacent absolument pas les UUID car elles n'offrent ni leur unicité ni leur sécurité. Considérez-les comme un aide-mémoire et donc plutôt comme une valeur ajoutée qui vous permettra d'identifier une partition montée rapidement.
Les étiquettes font partie des attributs distinctifs des partitions et autres périphériques de stockage. Elles doivent être attribuées manuellement. Veillez à ne pas donner à votre étiquette un nom de plus de 16 caractères, sinon votre entrée sera tronquée.
Étiquetage des partions ext4
Les étiquettes des partitions ext2,ext3 ou ext4 de votre disque dur peuvent être ajoutées à l'aide du programme e2label inclus dans la distribution. N'oubliez pas de démonter la partition à renommer avant d'exécuter cette commande.
Par exemple :
sudo e2label /dev/sda5 vmplayer-roger
Vérifiez :
sudo e2label /dev/sda5
Ou, pour des informations plus détaillées :
sudo vol_id /dev/sda5
ID_FS_USAGE=filesystem ID_FS_TYPE=ext3 ID_FS_VERSION=1.0 ID_FS_UUID=53c87c41-24b8-401d-b765-06955cc93f74 ID_FS_LABEL=vmplayer-roger ID_FS_LABEL_SAFE=vmplayer-roger
Étiquetage des partitions ReiserFS
Donner un label à une partition ReiserFS :
sudo reiserfstune -l sys_root /dev/hda2 sudo /etc/init.d/dbus restart
N'oubliez pas de démonter la partition à renommer avant d'exécuter cette commande.