Как мне написать скрипт для идентификации и управления конкретным диском в терминале? - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь написать короткий скрипт, который может автоматически размонтировать и перемонтировать раздел, не зная, где в данный момент смонтирован диск.

Следующая команда вроде работает для меня:

sudo umount /dev/sdX
sudo mount -t ntfs /dev/sdX /mnt/rec

Проблема в том, что я использую Linux live, и не могу установить его на свой жесткий диск. Поэтому при каждой перезагрузке компьютера / dev / sdX иногда монтируется как / dev / sdb или / dev / sdd. Поэтому я не могу просто запустить скрипт для автоматического монтирования диска там, где мне нужно, без использования

sudo fdisk -l

Чтобы проверить, какие диски установлены в данный момент.

У меня вопрос: есть ли способ идентифицировать диск, который не зависит от того, где он установлен в данный момент?

1 Ответ

0 голосов
/ 01 июля 2018

Да!

Эта проблема была досадной до 2005 года или около того, но теперь она может получать доступ к устройствам на основе независимых от устройства идентификаторов благодаря udev.

Проверьте /dev/disk/ для всех различных способов, которыми ваши разделы автоматически классифицируются независимо от их /dev/sd* имени:

$ find /dev/disk/
/dev/disk/by-uuid
/dev/disk/by-uuid/d7a395e4-e6fd-49bc-bbd9-af9c6a43211d
/dev/disk/by-partuuid
/dev/disk/by-partuuid/4434a42f-01
/dev/disk/by-path
/dev/disk/by-path/acpi-VMBUS:01-scsi-0:0:0:0-part1
/dev/disk/by-path/acpi-VMBUS:01-scsi-0:0:0:0
/dev/disk/by-path/pci-0000:00:07.1-ata-2
/dev/disk/by-id
/dev/disk/by-id/wwn-0x600224805c60e27d40a2d50b3961022c-part1
/dev/disk/by-id/scsi-3600224805c60e27d40a2d50b3961022c-part1
/dev/disk/by-id/wwn-0x600224805c60e27d40a2d50b3961022c
/dev/disk/by-id/scsi-3600224805c60e27d40a2d50b3961022c
/dev/disk/by-id/ata-Virtual_CD

Это все полностью прозрачные символические ссылки на свои устройства поддержки, так что вы можете легко увидеть, что они соответствуют:

$ ls -l /dev/disk/by-uuid/d7a395e4-e6fd-49bc-bbd9-af9c6a43211d
lrwxrwxrwx 1 root root 10 May 28 10:38 /dev/disk/by-uuid/d7a395[..]  -> ../../sda1

Записи by-uuid, как правило, являются лучшим выбором, но partuuid и label также могут быть полезны для менее файловых систем Linux-y.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...