10 votes

/dev/disk/by-id sur MacOS ?

Supposons que nous effectuions des opérations sur des disques en utilisant par exemple diskutil . En général, nous utilisons /dev/diskX pour indiquer le lecteur sur lequel nous travaillons, mais le numéro X peut changer la prochaine fois que nous connectons le lecteur à l'ordinateur, nous devons donc regarder et vérifier le numéro X encore et encore. Sous Linux, nous avons /dev/disk/by-uuid . Comment obtenir cela sur MacOS ?

6voto

Douglas Points 10417

Utilisez la commande suivante pour obtenir l'UUID d'un disque :

diskutil info diskX | awk '/Volume UUID:/ {print $5}'

Vous obtiendrez ainsi la Disque / Volume UUID (J'ai omis la partie "Disk" dans la déclaration awk pour des raisons de simplicité).

Une fois que vous l'avez, vous pouvez l'utiliser avec diskutil :

diskutil info XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

J'ai testé cela avec un disque externe WD USB et cela a fonctionné comme prévu.

Mises en garde

  • lecteurs APFS : L'entraînement synthétisé doit être référencé . Exemple : /dev/disk5 est le lecteur physique et /dev/disk6 serait l'entraînement synthétisé.

  • HFS/HFS+ sur GPT : Une partition/tranche doit être référencée. Exemple : /dev/disk5s1 vous donnera la première partition du disque. Vous pouvez également obtenir les UUID des partitions à l'aide de la commande :

    sudo gpt show diskX | awk '/GPT\ part\ -/ {print $3 "--" $7}'

    Vous obtiendrez les UUID des partitions par index :

    1--XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    2--YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY
  • MS-DOS sur GPT : Le lecteur ou la partition peut être référencé. Exemples : /dev/diskX ou /dev/diskXsN

  • MS-DOS sur MBR : Il n'y a pas d'UUID de disque disponible . Toutefois, vous pouvez obtenir le UUID du volume avec la commande :

    diskutil info diskXsN | awk '/Volume\ UUID:/ {print $3}'
  • HFS/HFS+ sur MBR : Identique à MS-DOS sur MBR.

2voto

wassname Points 66

Il n'y a pas de /dev/disk/by-uuid dans MacOS.

MacOS utilise des UUID pour les structures internes d'un disque physique, telles qu'une partition (équivalente à un conteneur APFS ou à une partition HFS+) ou un volume APFS. Le mieux que vous puissiez faire est d'identifier un périphérique physique après la connexion par les structures qu'il contient, plutôt que par tout ce qui est associé au périphérique physique lui-même.

La spécification de l'appareil dans diskutil accepteront un UUID comme argument. Vérifier man diskutil et rechercher DEVICES pour tous les identificateurs de dispositifs acceptés.

Vous pouvez récupérer l'UUID d'un conteneur ou d'un volume particulier en utilisant ex. diskutil info disk5 et en recherchant le Disk / Partition UUID ou Volume UUID .

Malheureusement, je ne pense pas qu'il y ait de changement à faire. diskutil list sortir l'UUID. Cependant, vous pouvez utiliser diskutil apfs list qui produira également les UUID pour les conteneurs et les volumes APFS.

1voto

WGroleau Points 3272
df | grep "/dev/" | awk '{print $NF " = " $1}'

est un moyen de faire correspondre les noms des volumes à leurs identifiants. Le nom du volume ( $NF ) ne changera pas jusqu'à ce qu'un utilisateur ou un script le modifie. A sed ou perl (etc.) peut supprimer l'identifiant de la tranche si nécessaire : s:(/dev/disk\d+)s\d+:\1:

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X