Посмотрите объем по UUID - PullRequest
4 голосов
/ 17 февраля 2010

Я знаю UUID тома - как в Дисковой утилите.

Как получить дополнительную информацию о громкости? Самое главное, я хочу знать его точку монтирования.

Просмотр / etc / fstab не помогает. Это не перечисляет корневой том. По крайней мере, мне нужно выяснить UUID корневого тома, чтобы проверить мой известный UUID по нему.

Ответы [ 2 ]

10 голосов
/ 17 февраля 2010

Вы можете использовать diskutil для поиска диска по его UUID и опцию -plist для получения выходных данных в формате, пригодном для машинного анализа:

% diskutil info /Volumes/RAM\ Disk | grep -F UUID
   Volume UUID:              EA20BE94-5F3C-3C02-901D-A213B5AB6831

% diskutil info -plist EA20BE94-5F3C-3C02-901D-A213B5AB6831
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!--snip-->
    <key>MountPoint</key>
    <string>/Volumes/RAM Disk</string>
    <!--snip-->
</dict>
</plist>

Вы можете использовать NSTask и NSPipe для запуска diskutil из вашей программы и получения вывода.

Добавление: не все тома имеют UUID. Моя камера имеет встроенный том только для чтения в формате MS-DOS, который не имеет UUID в соответствии с Дисковой утилитой и diskutil. Поэтому убедитесь, что ваша программа может обрабатывать пустой вывод из указанного выше конвейера diskutil info … | grep.

0 голосов
/ 17 февраля 2010

Есть несколько способов сделать это. Если вы хотите получить список всех UUID в вашей системе, вы можете посмотреть на / dev / disk / by-uuid /.

В этой папке содержится символическая ссылка, сопоставляющая uuids с местоположениями устройства. В моей системе это отображается следующим образом:

[sean@vladimir ~]$ ls -al /dev/disk/by-uuid/
total 0
drwxr-xr-x 2 root root 300 2010-02-02 22:42 .
drwxr-xr-x 6 root root 120 2010-02-02 22:42 ..
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 02123883-6538-4c74-bc74-362eb2588d2b -> ../../sdc4
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 1ce37cd8-52b0-4442-98b5-3702194644f2 -> ../../dm-5
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 1d718419-8175-446c-a01b-51e895d59467 -> ../../sdc7
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 382a64d7-68fe-45a3-87d3-ae7b7a861067 -> ../../dm-1
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 47ab8e51-4023-4bec-a888-576879fba2dd -> ../../sdc1
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 5b4e6b94-f7c7-40c1-a4ee-ca555efc97df -> ../../dm-4
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 6d1df3de-b408-4942-a2e3-78244a68cece -> ../../dm-0
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 c7f841db-8b38-403e-9bcc-926c18deadfc -> ../../sdc6
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 db3f2c47-e29d-4b33-a462-6230ed2bcea8 -> ../../dm-2
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 e5bd9df3-65f7-4815-839f-8b5fad82bc50 -> ../../sdc5
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 ea28833b-fa7b-465d-992b-c333b288233b -> ../../sda1
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 ebb72c56-8776-4e7d-ace9-fc727239f999 -> ../../sda2
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 fd75f53b-6058-467b-9e0f-0a725e7bc83e -> ../../dm-3

Кроме того, вы можете запустить «blkid / path / to / dev» для каждого из ваших устройств, чтобы найти, какое именно вы ищете. Аналогично, в моей системе это выглядит так:

[sean@vladimir ~]$ blkid /dev/sda1
/dev/sda1: LABEL="restore" UUID="ea28833b-fa7b-465d-992b-c333b288233b" TYPE="ext4" 

Надеюсь, это поможет.

...