GNU/Linux >> Belajar Linux >  >> Linux

Linux – Aturan Udev:Bagaimana Mencocokkan Hanya Perangkat Kernel (bukan Partisi) Setelah Perangkat #26?

Beberapa sistem memiliki lebih dari 26 (blok) perangkat (seperti hard disk drive), yang diberi nama kernel sebagai berikut:

/dev/sda
...
/dev/sdz
/dev/sdaa
/dev/sdab
/dev/sdac
...

Sebagian besar contoh aturan udev cukup sederhana, hanya cocok dengan 26 perangkat pertama, seperti misalnya:

ACTION=="add|change", KERNEL=="sd[a-z]|sr[0-9]", SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

Tetapi bagaimana cara mencocokkan setelah perangkat ke-26?
Seseorang tidak dapat menulis sd* karena partisi seperti sda1 tidak boleh dicocokkan.

Saya dapat membayangkan menulis “atau” lainnya (simbol pipa:| ) untuk membuat kecocokan, seperti:

KERNEL=="sd[a-z]|sd[a-z][a-z]|sr[0-9]"

Atau bagi kecocokan menjadi bagian positif dan negatif, seperti:

..., KERNEL=="sd[a-z]*|sr[0-9]", KERNEL!="sd[a-z]*[0-9]", ...

Apakah ada cara yang lebih baik untuk menulis aturan udev yang dapat dibaca, cocok dengan perangkat #27 dan yang lebih baru, tetapi bukan partisi apa pun?

Jawaban yang Diterima:

KERNEL=="sd*[!0-9]|sr*"

Dapat ditemukan di sistem operasi yang disediakan aturan udev sendiri.

Dalam kasus Arch Linux ini, lihat file:

/usr/lib/udev/rules.d/60-persistent-storage.rules

Bagian ATA:

$ grep /usr/lib/udev/rules.d/60-persistent-storage.rules -e \"ATA\"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="ATA", IMPORT{program}="ata_id --export $devnode"

Linux
  1. Linux – Bagaimana Kernel Linux Mengetahui Nomor Mayor dan Minor Perangkat?

  2. Linux – Udev Tidak Mengganti Nama Perangkat Ethernet Usb?

  3. Cara Setup Chroot SFTP di Linux (Izinkan Hanya SFTP, bukan SSH)

  1. Cara Mengatur Aturan UDEV Untuk RAC OCR Dan Perangkat Voting di Partisi

  2. Bagaimana cara membuat kode modul kernel Linux?

  3. Keluaran lsblk Linux

  1. Cara mendapatkan alamat MAC perangkat yang tidak ada dalam jaringan

  2. Bagaimana cara memasang perangkat di Linux?

  3. Udev :mengganti nama antarmuka jaringan saya