Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:felixp:brouillon2 [Le 22/10/2013, 23:06]
FelixP [À quoi va me servir l'UUID ?]
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​partitions disque_dur}} 
  
----- 
- 
-====== 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 ==== 
- 
-  * [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt://​gnome-device-manager|gnome-device-manager]]** 
-  * 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. 
-<code bash>​blkid</​code>​ 
-vous renvoie quelque chose comme : 
-<​file>​ 
-/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" ​ 
-</​file>​ 
-<note important>​Il peut être nécessaire de lancer ''​sudo blkid -g''​ puis ''​sudo blkid''​ pour mettre à jour le cache des UUIDs</​note>​ 
-<note important>​Attention : évitez d'​utiliser la commande en tant que simple utilisateur. En effet, un utilisateur non root ne peut pas modifier la table, donc le résultat sera celui de la dernière exécution par root. Si vous avez ajouté ou supprimé des partitions, il faut exécuter la commande avec un sudo pour mettre à jour la table.</​note>​ 
- 
-Ou alors, <code bash>ls -l /​dev/​disk/​by-uuid</​code>​ 
-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. ​ 
-<​file>​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 
-</​file>​ 
- 
-===== À quoi va me servir l'UUID ? ===== 
-Les UUIDs se retrouvent notamment dans deux fichiers de configuration :  
-  * Le fichier de configuration de [[:​grub-pc|GRUB]],​ le chargeur de démarrage (''/​etc/​default/​grub''​) 
-  * Le fichier récapitulant les partitions à monter au démarrage : ''​[[:​mount_fstab|/​etc/​fstab]]''​ 
- 
-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.  
- 
-<note tip>Dans les fichiers de configuration,​ vous trouverez les UUID écrits de la façon suivante : **UUID=0c22e844-4ecb-48d4-a3c3-f083ddb1df3b**. Veillez à la respecter.</​note>​ 
- 
-===== Que dois-je faire ? ===== 
- 
-**En bref, veiller à la cohérence des UUID.** 
- 
-En attendant la mise en place possible dans le futur d'un système automatique,​ il vous faut désormais veiller à ce que les deux fichiers de configuration cités plus haut soient mis à jour lors de la création de nouveaux UUID. 
- 
-**Procédure à suivre:​** ​ 
- 
-  - Relever l'UUID de la ou des partitions modifiées. (voir plus haut) 
-  - [[tutoriel:​comment_editer_un_fichier|Modifier le fichier]] **/​etc/​fstab** (voir [[:​mount_fstab]]) 
-  - S'il s'agit d'une partition bootable*, mettre à jour le fichier **/​boot/​grub/​menu.lst** 
-  * Soit manuellement en éditant le fichier (voir la page sur [[:Grub]] pour en savoir plus). 
-  * Soit automatiquement avec la commande <​code>​sudo update-grub</​code>​ 
- 
-Il y a en effet désormais une ligne dans ''​update-grub''​ qui prescrit d'​écrire l'UUID dans le menu.lst en lieu et place du classique ///​dev/​sdX//​. ​ 
- 
-La liste des partitions contenue dans le menu de Grub ne concerne que les partitions « bootables », c'est à dire celles qui supportent un système d'​exploitation. 
- 
-La partition de boot nécessite une occurrence d'UUID par noyau installé. Le même UUID devra donc être répété plusieurs fois.  
- 
-<​note>​Si vous avez mis à jour de Dapper vers Edgy, le fichier //fstab// sous son ancienne forme a été sauvegardé dans le fichier **/​etc/​fstab.pre-uuid**</​note>​ 
- 
-Dans **/​boot/​grub/​menu.lst**,​ le paragraphe "​DefOptions"​ doit ressembler à ceci: 
-<​file>​ 
-## ## Start Default Options ## 
-## default kernel options 
-## default kernel options for automagic boot options 
-## If you want special options for specific kernels use kopt_x_y_z 
-## where x.y.z is kernel version. Minor versions can be omitted. 
-## e.g. kopt=root=/​dev/​hda1 ro 
-##      kopt_2_6_8=root=/​dev/​hdc1 ro 
-##      kopt_2_6_8_2_686=root=/​dev/​hdc2 ro 
-# kopt=root=UUID=6c1eb35e-ae0c-4e51-ab79-27b78ce97299 ro 
-</​file>​ 
- 
-Remarquez que la ligne (# kopt...) contenant l'​identification de l'UUID n'est commentée (#) qu'une seule fois. C'est **normal**. Si d'​autres lignes "​kopt"​ sont également commentées une seule fois, cela peut induire des erreurs. ​ 
- 
- 
-===== Pour monter une partition après modification de l'UUID ===== 
- 
-**Exemple :** 
- 
-///​dev/​hda1//​ contenait une partition FAT32 et son UUID valait //​3DBA-FCCF//​. 
- 
-Après avoir démonté la partition : 
-  sudo umount /media/hda1 
- 
-Et créé et vérifié le système de fichier : 
-  sudo mkfs.ext2 -T small -cc -L SysRescCD -m 0 -v /dev/hda1 
- 
-<note important>​__Attention__ : Cette commande formate et détruit toutes les données de la partition /dev/hda1 !</​note>​ 
- 
-Je lance la commande suivante pour obtenir son nouvel UUID : 
-  sudo blkid /dev/hda1 
- 
-Ce qui renvoie : 
-<​file>/​dev/​hda1:​ LABEL="​SysRescCD"​ UUID="​f1ca2fca-895f-4066-91c4-8a33197e1284"​ TYPE="​ext2"</​file>​ 
- 
-Je veux que cette partition soit montée dans le répertoire **/​media/​SysRescCD**,​ je le crée donc d'​abord : 
-  sudo mkdir /​media/​SysRescCD 
- 
-Puis j'​[[tutoriel:​comment_editer_un_fichier|édite le fichier]] **/​etc/​fstab** pour ajouter la ligne : 
- 
-<​file>​UUID=f1ca2fca-895f-4066-91c4-8a33197e1284 /​media/​SysRescCD ext2 nouser,​defaults,​errors=remount-ro,​atime,​auto,​rw,​dev,​exec,​suid 0 1</​file>​ 
- 
-J'​enregistre ce fichier, et je tente de monter la partition fraîchement formatée : 
-  sudo mount /​media/​SysRescCD 
- 
-<​file>​ 
-mount: périphérique spécial /​dev/​disk/​by-uuid/​f1ca2fca-895f-4066-91c4-8a33197e1284 n'​existe pas 
-</​file>​ 
- 
-En fait, comme le système nous le dit, le répertoire **/​dev/​disk/​by-uuid/​** qui recense les disques par UUID n'a jamais entendu parler du nouvel UUID. 
- 
-Ce répertoire contient les UUID qui sont des liens vers les fichiers de périphérique (du type /dev/hdaX). 
- 
-La commande suivante : 
-  ls -l /​dev/​disk/​by-uuid/​ | grep hda1 
-renvoie : 
-<​file>​0 lrwxrwxrwx 1 root root 10  mer 09/05/2007 09:57:22 3DBA-FCCF -> ../​../​hda1</​file>​ 
- 
-C'est toujours l'​**ancien** UUID qui référence /dev/hda1 ! 
- 
-La commande pour remettre ce répertoire à jour est : 
-  sudo udevtrigger 
-ou 
-  sudo udevadm trigger 
-sur Intrepid et suivants, cette commande est lancée lors d'un démarrage. 
- 
-Mais le plus simple est de recréer le lien avec les commandes : 
-  cd /​dev/​disk/​by-uuid/​ 
-  sudo ln -s /​dev/​disk/​hda1 f1ca2fca-895f-4066-91c4-8a33197e1284 
- 
-Et finalement monter la partition : 
-  sudo mount /​media/​SysRescCD 
- 
-//PS: Cette partition est destinée à recevoir un SystemRescueCD (système de secours). Comme ça plus besoin du CD. Petit conseil : faîtes-le, en suivant [[http://​www.sysresccd.org/​Sysresccd-manual-fr_Installation_facile_de_SystemRescueCd_sur_le_disque_dur|cette doc]].// 
- 
-===== 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**. 
- 
-  * [[tutoriel:​comment_editer_un_fichier|É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 : 
- 
-<​file>​ 
-RESUME=UUID=<​uuid>​ 
-</​file>​ 
- 
-//en remplaçant <​uuid>​ par la valeur adéquate...//​ 
- 
-  * [[tutoriel:​comment_editer_un_fichier|É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 
-<​code>​sudo update-initramfs -u -k $(uname -r)</​code>​ 
- 
-  * Redémarrer avant de tester l'​hibernation 
- 
-Pour plus d'​informations,​ voir les [[man|pages de manuel]] de : 
-  * mkinitramfs 
-  * initramfs.conf 
-  * initramfs-tools 
-  * update-initramfs 
- 
- 
- 
-===== Différencier deux périphériques USB ===== 
- 
-L'UUID peut vous servir aussi à différencier deux périphériques USB. 
- 
-(source : [[http://​theglu.tuxfamily.org/​wordpress/​2007/​03/​19/​uuid-systeme-tres-partique/​|Planet Ubuntu-fr - The Glu 19/03/07]]) 
- 
-Si vous êtes l'​heureux possesseur d'un DD externe et d'une clé USB, il peut arriver que ces périphériques soient identifiés aléatoirement au montage tantôt comme ///​dev/​sda1//​ tantôt comme ///​dev/​sdb1//​. Ceci peut occasionner quelques problèmes, par exemple dans le cas ou un script (sauvegarde,​ vérification etc..) doit s'​exécuter sur l'un mais pas sur l'​autre. 
- 
-Vous pouvez forcer le système à les monter sur un point de montage précis en les différenciant tout simplement par leur UUID.  
- 
-<​note>​Pour les périphériques possédant un **label** le point de montage par défaut est ///​media/<​label>//</​note>​ 
- 
-==== Périphériques toujours présents au démarrage du système ==== 
-Voici par exemple la procédure pour forcer le **fstab** à monter un périphérique sur ///​media/​sos//​. Ajoutez cette ligne : 
-<​file>​UUID=f0343b8c-1226-4f66-8b41-6a5c02c028dd /media/sos auto user,​uid=1000,​gid=1000,​atime,​auto,​rw,​nodev,​exec,​suid 0 0</​file>​ 
- 
-Ainsi, ce périphérique sera **TOUJOURS** monté sur ///​media/​sos//​ au démarrage. 
- 
-<note important>​Sous Hardy cette méthode ne semble fonctionner qu'en ligne de commande avec [[:​mount_fstab|mount]]. Lorsque l'on passe par [[konqueror]] ou Dolphin et que le périphérique n'est pas encore monté on obtient le message d'​erreur **Autorisations refusées**. C'est pourquoi il vaut mieux l'​utiliser pour les périphériques présents au démarrage.\\ 
-FIXME Il ne faut pas avoir déjà créé le dossier /media/sos (avec peut-être un chown) avant l'​ajout dans fstab ?</​note>​ 
- 
- 
-==== 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 : 
-   <​code>​sudo touch /​etc/​udev/​rules.d/​85-disque_externe.rules</​code>​ 
-<note warning>​Les noms de fichier règle sont soumis à des conventions strictes, en particulier pour le choix du préfixe numérique.\\ Pour plus de précisions se rapporter à la page [[udev#​fichiers_de_regles_et_syntaxes|Udev - Fichiers de règles et syntaxes]]</​note>​ 
- 
-  * Rajouter les lignes suivantes pour associer le nom de node au périphérique 
-   <​file>​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"</​file>​ 
- 
-  * Redémarrage de udev pour prendre la nouvelle règle en compte 
-   <​code>​sudo ​ /​etc/​init.d/​udev restart</​code>​ 
- 
-  * Créer le point de montage s'il n'​existe pas déjà 
-   <​code>​sudo mkdir /​media/​sos</​code>​ 
- 
-  * Rajouter une ligne dans la **fstab** pour associer le nouveau node avec le point de montage 
-   <​file>/​dev/​sos /media/sos auto user,​uid=1000,​gid=1000,​atime,​auto,​rw,​nodev,​exec,​suid 0 0</​file>​ 
- 
-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_fstab|mount]] 
- 
- 
-===== Quelques commandes utiles ===== 
- 
-Aucune des commandes ci-dessous ne vous donnera d'​UUID. Par contre, elles présentent l'​avantage de vous présenter de façon claire vos volumes et vos partitions. 
- 
- 
- 
-==== En mode graphique ==== 
- 
-Depuis le menu **Système -> Administration -> Éditeur de partitions**\\ 
-Si l'​éditeur de partition n'est pas présent dans le menu, installez [[apt://​gparted|gparted ]] (Gnome). 
-<note tip>Pour KDE préférez **qtparted** (**menu KDE -> système**)</​note>​ 
- 
- 
- 
-==== En mode console ==== 
- 
-  cat /etc/fstab 
-  sudo fdisk -l 
- 
-Pour connaître les informations des partitions montées (type de partition et étiquette) utilisez la commande : 
-  mount -l 
- 
- 
-===== 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. 
-<​code>​ 
-~$ sudo tune2fs -U <​l'​UUID desirée>​ /​dev/<​votre partition>​ 
-ou 
-~$ sudo reiserfstune -u <​l'​UUID desirée>​ /​dev/<​votre partition></​code>​ 
- 
-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. 
- 
-<note tip>Vous pouvez générer aléatoirement un uuid à l'aide de la commande [[http://​linux.about.com/​library/​cmd/​blcmdl1_uuidgen.htm|uuidgen]]</​note>​ 
- 
-===== 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. 
- 
-<note help> ** Attribution de Label ** 
-Pour l'​attribution de labels aux différents types de systèmes de fichiers (ext2, ext3, reseirfs, fat, ntfs...), reportez-vous au tutoriel ** 
- ​[[:​tutoriel/​comment_renommer_un_disque|Comment renommer un disque]] ** 
-qui est plus complet que le reste de cette page. 
-</​note>​ 
- 
-<note tip>A partir d'​Ubuntu 8.10 (Intrepid Ibex), l'​éditeur de partitions [[apt://​gparted|Gparted]] permet d'​assigner/​changer les étiquettes des systèmes de fichiers non montés en mode graphique (clic droit sur la partition et menu //​Etiquette//​). </​note>​ 
- 
- 
-==== É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. 
-<note help>Si vous n'avez pas //e2label// il vous faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt://​e2tools|e2tools]]**</​note>​ 
- 
-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 
-<​file>​ 
-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 
- 
-</​file>​ 
- 
- 
-==== É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. 
- 
- 
-==== Vérification et changement en mode graphique ==== 
- 
-Comme pour l'​UUID,​ vous pouvez vérifier les noms des étiquettes en mode graphique via le gestionnaire de périphériques,​ onglet « avancés », sous la clé « **volume.label** ». 
- 
- 
- 
----- 
- 
-//​Contributeurs : [[utilisateurs:​roger64]],​ [[utilisateurs:​Id2ndR]],​ [[utilisateurs:​manatlan]],​ [[utilisateurs:​Hugo2504]],​ [[utilisateurs:​fnx]]//​ 
  • utilisateurs/felixp/brouillon2.1382476000.txt.gz
  • Dernière modification: Le 22/10/2013, 23:06
  • par FelixP