Форум русскоязычного сообщества Ubuntu


Автор Тема: Назначить диску постоянное название  (Прочитано 563 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн damix

  • Автор темы
  • Активист
  • *
  • Сообщений: 455
    • Просмотр профиля
Ситуация такая
$ lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL,LABEL
NAME     SIZE TYPE MOUNTPOINT MODEL            LABEL
sda    931,5G disk            WDC WD10EZRZ-22H
└─sda1 931,5G part /mnt/hdd                   
sdc    447,1G disk            KINGSTON SA400S3
├─sdc1    94M part /boot/efi                   
├─sdc2    32G part /                           
├─sdc4 350,7G part /home                       
└─sdc5  63,4G part /opt
$ inxi -SM
System:    Host: ryzen Kernel: 4.20.12-042012-generic x86_64 bits: 64 Desktop: KDE Plasma 5.12.6
           Distro: Ubuntu 18.04.1 LTS
Machine:   Device: desktop Mobo: Micro-Star model: B350 PC MATE (MS-7A34) v: 2.0 serial: N/A
           UEFI: American Megatrends v: A.E0 date: 05/02/2018
Изначально KINGSTON SA400 был /dev/sda, а после того как я его воткнул в другой разъем на материнской плате и подключил WD Blue WD10EZRZ, стало так. Я понимаю, что эти /dev/sdX непостоянны и у меня ничего гвоздями не прибито к sda, но хотелось бы иметь какие-то постоянные имена для дисков, чтобы их удобнее было вручную указывать в командах.
Из этого вопрос. Как назначить диску постоянный файл устройства? Мне неважно, /dev/sda он будет или вообще какой-то третий, даже лучше произвольное имя, скажем, /dev/kingston.

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4169
  • Capture the truth
    • Просмотр профиля
Re: Назначить диску постоянное название
« Ответ #1 : 15 Апрель 2020, 20:18:45 »
Используйте UUID или метку раздела. Очень удобно.
Обращаться можно /dev/disk/by-label/XXX
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 15 Апрель 2020, 20:20:59 от ALiEN175 »
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн damix

  • Автор темы
  • Активист
  • *
  • Сообщений: 455
    • Просмотр профиля
Re: Назначить диску постоянное название
« Ответ #2 : 15 Апрель 2020, 21:03:25 »
ALiEN175, я знаю про симлинки в /dev/disk/by-*, но я хочу создать короткие и понятные симлинки.

Создал файл /etc/udev/rules.d/10-local.rules
KERNEL=="sd*", ENV{ID_SERIAL_SHORT}=="<серийный_номер>", SYMLINK+="kingston%n"
KERNEL=="sd*", ENV{ID_SERIAL_SHORT}=="<серийный_номер>", SYMLINK+="wdblue%n"
но после ребута
$ ls /dev/kingston
ls: невозможно получить доступ к '/dev/kingston': Нет такого файла или каталога
$ ls /dev/wdblue
ls: невозможно получить доступ к '/dev/wdblue': Нет такого файла или каталога
$ systemctl status udev.service
● systemd-udevd.service - udev Kernel Device Manager
   Loaded: loaded (/lib/systemd/system/systemd-udevd.service; static; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-15 23:42:07 +07; 1h 25min ago
     Docs: man:systemd-udevd.service(8)
           man:udev(7)
 Main PID: 444 (systemd-udevd)
   Status: "Processing with 16 children at max"
    Tasks: 1
   CGroup: /system.slice/systemd-udevd.service
           └─444 /lib/systemd/systemd-udevd

апр 15 23:42:07 ryzen systemd[1]: Starting udev Kernel Device Manager...
апр 15 23:42:07 ryzen systemd[1]: Started udev Kernel Device Manager.
апр 15 23:42:09 ryzen systemd-udevd[1105]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
апр 15 23:42:09 ryzen systemd-udevd[1104]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
апр 15 23:42:09 ryzen systemd-udevd[1104]: Could not generate persistent MAC address for virbr0: No such file or directory

Пользователь добавил сообщение 15 Апрель 2020, 21:13:10:
Серийные номера взял из выводов udevadm info --query=property --name=/dev/sdc и udevadm info --query=property --name=/dev/sda Ubuntu 18.04, ядро 4.20.12-042012-generic.
« Последнее редактирование: 15 Апрель 2020, 21:13:10 от damix »

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 3831
    • Просмотр профиля
Re: Назначить диску постоянное название
« Ответ #3 : 16 Апрель 2020, 05:51:12 »
damix, запускаешь Гпартед. Разделу присваиваешь метку тома, например "king450_2".
После этого в файловом менеджере этот раздел увидишь под этой меткой. Монтироваться он будет в /media/user/king450_2
И в каталоге устройств он появится как /dev/disk/by-label/king450_2. В fstab и grub.cfg можно подставить эту метку. Если переразметишь этот диск, снова присвой эту-же метку, конфиги менять не придется.

Оффлайн damix

  • Автор темы
  • Активист
  • *
  • Сообщений: 455
    • Просмотр профиля
Re: Назначить диску постоянное название
« Ответ #4 : 16 Апрель 2020, 12:39:40 »
Монтироваться он будет в /media/user/king450_2
Не надо мне чтоб он туда монтировался.

А как правила udev пофиксить? Почему не работают? Взял отсюда.

Оффлайн damix

  • Автор темы
  • Активист
  • *
  • Сообщений: 455
    • Просмотр профиля
Re: Назначить диску постоянное название
« Ответ #5 : 18 Апрель 2020, 17:05:13 »
А как правила udev пофиксить?
Вот так:
$ cat /etc/udev/rules.d/10-local.rules                                                                                   
KERNEL=="sd*", ATTRS{model}=="KINGSTON SA400S3" SYMLINK+="kingston%n"                                                               
KERNEL=="sd*", ATTRS{model}=="WDC WD10EZRZ-22H" SYMLINK+="wdblue%n"

Вот то что мне надо:
$ ls -l /dev/kingston*                                                                               
lrwxrwxrwx 1 root root 3 апр 18 20:01 /dev/kingston -> sdc                                                                           
lrwxrwxrwx 1 root root 4 апр 18 20:01 /dev/kingston1 -> sdc1                                                                         
lrwxrwxrwx 1 root root 4 апр 18 20:01 /dev/kingston2 -> sdc2                                                                         
lrwxrwxrwx 1 root root 4 апр 18 20:01 /dev/kingston4 -> sdc4                                                                         
lrwxrwxrwx 1 root root 4 апр 18 20:01 /dev/kingston5 -> sdc5
$ ls -l /dev/wdblue*                                                                                 
lrwxrwxrwx 1 root root 3 апр 18 20:01 /dev/wdblue -> sda                                                                             
lrwxrwxrwx 1 root root 4 апр 18 20:01 /dev/wdblue1 -> sda1

Пользователь добавил сообщение 18 Апрель 2020, 17:10:31:
Что прописать в атрибут model узнать так
udevadm info --attribute-walk --name=/dev/sdX | grep -i 'model'
« Последнее редактирование: 18 Апрель 2020, 17:10:31 от damix »

 

Страница сгенерирована за 0.138 секунд. Запросов: 24.