У меня есть USB-ключ, который будет использоваться для ежедневного сохранения данных с помощью bash-скрипта. Мне удалось смонтировать его для конкретного пользователя, чтобы иметь возможность писать папки в нем с помощью команды:
mount /dev/sdc1 /media/usb -o rw,uid=sysop,gid=sysop
Скрипт может запускаться и создавать каталоги так, как он хочет, и он идеален. В какой-то момент USB-ключ будет отключен и заменен новым (той же модели). Будет ли новый USB-ключ иметь имя /dev/sdc1
или он будет другим?
Если это другой, как я могу включить монтажную часть в мой сценарий, чтобы сделать это автоматически?
Ответы:
Хотя доступ к нему
/dev/sdXy
опасен, более точная идентификация может быть сделанаUUID
.Поскольку вы упоминаете (в какой-то момент) об изменении USB-флешки, для обеспечения совместимости вы можете идентифицировать ваш USB-флешку по метке. Чтобы сделать это, вы можете:
/dev/disk/by-label/YourLabelHere
.Обратите внимание, что вам нужно установить метку для новой флешки перед запуском скрипта, а также
/dev/disk/by-label
она доступна, только если (как минимум) подключена одна флешка (в противном случае она будет удалена).Подробную информацию о том, как настроить ярлык USB, можно найти здесь: /ubuntu/194510/how-to-edit-label-of-usb-drive.
источник
/dev/disk/by-id/
вместо этого может быть полезно (это то, что я использую для моих файловых систем).Вот как я решаю эту проблему, но в целом, как сказал вам Сато Кацура, вам нужно написать правило udev.
udevadm info --query all /dev/sdc
(или как угодно).Настройте правило udev, вот пример для моего бумажника. Поля
ID_SERIAL_SHORT
иID_FS_UUID
я прочитали информацию на шаге 2:Я установил ВЛАДЕЛЕЦ здесь, чтобы я мог смонтировать его под своей основной учетной записью. Также с моим карманным компьютером у меня нет разделов, но я монтирую простые диски. Если у вас есть разделы изменить:
для раздела номер 1, в строке правил udev.
Правила udev можно найти
/etc/udev/rules.d
, если у вас нормальная система.Теперь вы можете
перезагрузить правила и
следить за тем, что происходит во время шага 5.
Подключи и подключи свое USB-устройство (конечно, после размонтирования перед тем, как подключить его). Монитор должен информировать вас о новом устройстве при его инициализации.
Проверьте,
/dev/
содержит ли правильные символические ссылки. В моем примере я получил это:Теперь вы можете определить постоянные правила с помощью символических ссылок
/dev/pocketbook
и/dev/pocketbook-sd
, или как там у вас, имен в поле SYMLINK файла правил udev.источник
Просто чтобы добавить к ответу @ alextartan.
Я свернул свою собственную систему резервного копирования, которая использует USB-накопители для целей. Мне нужно быть уверенным, что и куда идет. Поскольку UUID не особенно удобны для пользователя, я полагаюсь на метки дисков.
UUID также немного проблематичны, потому что всякий раз, когда вы переформатируете раздел, он получает новый уникальный UUID, поэтому любые сценарии, использующие этот UUID, должны быть изменены. Я могу назначить ту же метку, что и раньше, переформатированному разделу (или даже разделу на новом / замененном диске) и оставить свои сценарии в покое.
Я придумал свое собственное (удобное для человека) соглашение о маркировке и использую gparted для обозначения различных разделов при их создании.
Когда моим сценариям требуется доступ к определенному разделу, я ищу имя устройства по метке.
источник