Il s'agit d'une suite plus ou moins longue de caractères alpha-numériques qui permet d'identifier de façon absolument sûre chaque périphérique de stockage et partition.
Le chiffre de l'UUID est calculé automatiquement au moyen d'un algorithme intégrant notamment certaines données de l'ordinateur hôte, au moment de la création ou du formatage de la partition ou de la table des partitions. 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
.
Les UUIDs se retrouvent notamment dans deux fichiers de configuration :
/etc/default/grub
)/etc/fstab
À chaque formatage d'une partition, un nouvel UUID lui est attribué, il est alors parfois nécessaire de modifier ces fichiers.
Le plus simple est en ligne de commandes, mais il existe aussi des méthodes graphiques.
La commande blkid
liste des UUIDs, les Labels et Types de toutes les partitions montées.
sudo 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. blkid
en tant que simple utilisateur. En effet, cela ne mettra pas à jour la table et le résultat sera celui de la dernière exécution par root. 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
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
.
sudo blkid /dev/sdc1
ce qui renvoie quelque chose comme
/dev/sdc1: UUID="8244710a-5cce-49ad-8b93-a92b5d2e53a0" TYPE="ext4"
/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
L'UUID est aussi nécessaire pour la partition de Swap, et notamment pour l'hibernation.
Si vous voulez utiliser votre partition de Swap pour l'hibernation, il faut faire quelques manipulations.
Veuillez vous rendre à la page sur la swap (activer l'hibernation) pour plus d'infos.
Utilité de ce paragraphe ? Cette méthode utilise udev pour forcer le nom du node correspondant au périphérique USB en fonction de son UUID.
sudo touch /etc/udev/rules.d/85-disque_externe.rules
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"
sudo /etc/init.d/udev restart
sudo mkdir /media/sos
/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
Lors d'un clonage de partition, il peut être nécessaire de changer l'UUID de la nouvelle partition (il est dangereux d'avoir deux UUID identiques)
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.
Si vous n'avez pas besoin d'un UUID spécifique, voici un outil de génération :
uuidgen -r # Pour une génération aléatoire uuidgen -t # Pour une génération basée sur un peu d'aléatoire et surtout la date et l'heure.
On peut définir manuellement un UUID défini manuellement avec l'outil tune2fs
:
sudo tune2fs -U <l'UUID desirée> /dev/<votre partition>
N'oubliez pas de désactiver la Swap avant :
sudo swapoff -a
Si vous n'avez pas besoin d'UUID spécifique, ne mettez simplement pas l'argument -U et un UUID aléatoire sera attribué.
sudo mkswap -U <l'UUID desirée> /dev/<votre partition>
sudo reiserfstune -u <l'UUID desirée> /dev/<votre partition>
On peut aussi attribuer une étiquette (en anglais : label) à chaque partition.
Elles sont pratiques, puisqu'elles permettent au gestionnaire de fichier d'afficher DONNEES_3 au lieu de Système de fichiers 12345678-abcd-1234-abcd-1234567890ab. Pensez-y pour tous vos supports amovibles !
Elles sont plus sûres qu'une appellation comme /dev/sdb6 qui risque fort d'être périmée si votre bios est de ceux qui changent l'ordre des disques sans prévenir, et qui sera certainement périmée le jour où vous supprimerez sdb5.
Mais les étiquettes, n'étant pas uniques, n'offrent pas tout à fait la même fiabilité que les UUID.
Considérez-les comme un outil pratique en plus des UUID, mais ne les utilisez pas dans la configuration système. Ou alors en pleine connaissance de cause :
Les étiquettes sont attribuées manuellement ;
- La partition doit être démontée au préalable.
- Veillez à ne pas donner un nom de plus de 16 caractères, sinon il sera tronqué.
- Pour les partitions en NTFS ou en FAT, il est conseillé de les étiqueter en majuscules car leurs minuscules seront automatiquement affichées en majuscules par linux, comme DONNÉES…, alors que Windows continuera de distinguer majuscules et minuscules, ce qui serait source de confusion.
Les étiquettes des partitions Linux peuvent comporter des minuscules, comme Données…
Voici un tableau qui récapitule les systèmes de fichiers les plus utilisés.
On supposera qu'on travaille sur la partition /dev/sdb1
.
Il est parfois nécessaire d'installer un paquet supplémentaire, ce qui est indiqué dans la dernière colonne.
Système de fichiers | Commande à lancer | Commentaires |
---|---|---|
Ext2,3,4 | sudo e2label /dev/sdb1 NouveauNom | 16 caractères au maximum. Il faut ensuite redémarrer ou rebrancher le disque. |
Fat16,32 | Vérification du nom courant : mlabel -i /dev/sdb1 -s :: Pour chager le label, tapez : sudo mlabel -i /dev/sdb1 ::NouveauNom (Ne pas oublier les 2 deux-points devant le nom) | Il faut d'abord installer mtools . Si vous avez un message du genre : Total number of sectors (6204) not a multiple of sectors per track (62)! Add mtools_skip_check=1 to your .mtoolsrc file to skip this test Effectuez ceci : echo mtools_skip_check=1 >> ~/.mtoolsrc |
Ntfs | sudo ntfslabel /dev/sdb1 NouveauNom | Il faut installer ntfsprogs ou ntfs-3g . 128 caractères maximum. |
Swap | sudo swapoff -v /dev/sdb1 # Pour désactiver la Swap sudo mkswap -L "NouveauNom" /dev/sdb1 sudo /sbin/swapon -a -v # Pour réactiver la Swap | Il faut en effet désactiver la Swap puis la réactiver après renommage. |
ReiserFS | sudo reiserfstune -l 'NouveauNom' /dev/sdb1 | 16 caractères maximum. |
XFS | sudo xfs_admin -L NouveauNom /dev/sdb1 sudo xfs_admin -L -- /dev/sdb1 | Il faut installer le paquet xfsprogs et la partition doit être démontée. ←Pour supprimer le label |
On peut utiliser Gparted, qui sélectionnera automatiquement l'outil à utiliser.
On sélectionne le disque en haut à droite, puis un clic droit sur une partition affiche le menu d'options.
Il faut démonter la partition, puis sélectionner étiquette ou label pour entrer l'étiquette voulue.
Enfin, pour que les modifications soient prises en compte, valider par la coche verte.
Contributeurs : FélixP pour la retouche de décembre 2013. moko138 (nov. 2015)