156 votes

Comment puis-je trouver l'UUID d'un système de fichiers?

Je suis en train d'exécuter Ubuntu, et je veux trouver l'UUID d'un système de fichiers particulier (pas une partition). Je sais que je peux utiliser e2label /dev/sda1 pour trouver le label du système de fichiers, mais il ne semble pas y avoir de façon similaire pour trouver l'UUID.

1 votes

Merci pour toutes les réponses, je suis sûr que je les utiliserai toutes dans des circonstances différentes.

2 votes

Notez que le titre utilisé était "Comment trouver l'UUID d'une partition". Cette question n'a de sens que lorsqu'on utilise une table de partition GPT. Voici une réponse à cette question.

0 votes

3voto

Cela semble fonctionner pour moi :

sudo dumpe2fs /dev/sda1 | grep UUID

2voto

Omar Shahine Points 886

En supposant que vous voulez l'UUID pour sda1, vous pourriez essayer quelque chose comme ceci :

for v in /dev/disk/by-uuid/* ; do echo "`readlink $v`: $v" | grep ../sda1 | cut -d\: -f2 | cut -d/ -f5 ; done

Adaptez sda1 en conséquence. Pour obtenir les UUID de toutes les partitions, supprimez les 'greps' et 'cuts', ainsi :

for v in /dev/disk/by-uuid/* ; do echo "`readlink $v`: $v" ; done

Exemple de sortie pour sda1 sur mon bureau :

[mihailim@home ~]$ for v in /dev/disk/by-uuid/* ; do echo "`readlink $v`: $v" | grep ../sdb3 | cut -d\: -f2 | cut -d/ -f5 ; done

dc8c49f1-e2dc-46bc-ba02-013f26c85f70

Veuillez noter que cette solution, bien que plus artificielle que celle utilisant udev->vol_id, ne nécessite pas de privilèges root, fonctionnera sur tout noyau post-2005 environ, et repose sur des outils présents dans toute distribution Linux qui sont par défaut dans le chemin pour tout utilisateur.

0 votes

Cela fonctionnera sur n'importe quel ordinateur exécutant un devfs suffisamment récent.

2voto

asmath Points 191

La manière la plus simple et la meilleure de trouver l'UUID d'un système de fichiers:

blkid /dev/sda1

1 votes

Est-ce que cela ajoute quelque chose à la réponse acceptée ?

1voto

kiri Points 111

Vous pouvez également utiliser ceci pour imprimer tous les UUID :

for disk in /dev/disk/by-uuid/*; do 
    basename "$(readlink "$disk")"
    basename "$disk"
    echo
done

ou cette commande sans doute plus simple, en remplaçant sda1 par le périphérique que vous souhaitez rechercher :

disk=sda1
find /dev/disk/by-uuid -type l -exec sh -c "readlink {} | grep -o $disk && basename {}" \;

une adaptation de la deuxième méthode pour imprimer tous les UUID :

find /dev/disk/by-uuid -type l -exec sh -c 'basename $(readlink {}); basename {}; echo' \;

1voto

Eric Eberhard Points 11
ls -l /dev/disk/by-uuid | grep `lsblk | grep "/" | awk '{print $1}'` | awk '{print $9}'

Le code ci-dessus semble fonctionner sur la plupart des systèmes Linux (tous ceux que j'ai trouvés) depuis de nombreuses années. Il peut avoir des défauts, je ne sais pas. Je préférerais obtenir le numéro de série mais ... ceci est l'UUID du système de fichiers racine.

Si quelqu'un a une méthode pour obtenir le numéro de série sans avoir besoin d'être root (comme le mien l'est) et sans installer des packages "inhabituels" qui diffèrent selon les versions de Unix, je l'apprécierais - on peut toujours apprendre quelque chose. Je suis conscient que je suis en train de mélanger les choses - c'est l'UUID du système de fichiers racine, pas un disque.

Le but, au fait, est de générer un numéro unique par machine qui ne peut pas être modifié (comme un numéro de série de disque et comme les adresses MAC l'étaient autrefois).

Cela est utilisé pour coder un logiciel pour une seule machine. L'adresse MAC était bien jusqu'à ce qu'ils permettent qu'elles soient virtuelles ... certains clients louches ont simplement fixé leur adresse MAC à une constante (sur différents réseaux bien sûr) et ont évité de me payer.

Sur AIX, il y a un seul appel pour obtenir un numéro qui identifie la machine. Il ne se soucie pas des changements matériels ou des mises à jour logicielles donc je n'ai aucune idée de comment ils font ... Si la carte mère change, alors le numéro change, donc je pense qu'ils le cachent là. Et c'est extrêmement rare.

0 votes

Quelque chose semble manquer près de "the is the root file system" .

0 votes

OK, l'OP a quitté le bâtiment - "Vu pour la dernière fois il y a plus de 5 ans"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X