Bagaimana cara memeriksa apakah aturan udev dipecat?


11

Saya mencoba memperkenalkan diri dengan udev, di bawah Ubuntu 13.10.

Inilah aturan 95.usbbackup.rules sederhana pertama saya:

ACTION=="add", SUBSYSTEMS="usb", RUN+="/usr/local/bin/my_backup.sh"

dan di sini adalah skrip (yang telah chmodded + x) my_backup.sh:

#!/bin/bash
touch /tmp/test

Tidak ada yang terjadi ketika saya mencolokkan drive eksternal. Bagaimana saya bisa mengecek (log, perintah, apa saja) jika aturan dipecat?

Terima kasih banyak


1
Saya pikir maksud Anda SUBSYSTEMS=="usb". Yaitu. dua kali lipat == yang menguji kesetaraan daripada tunggal = yang memberikan nilai pada kunci.
Lqueryvg

Jawaban:


5

Saya cukup yakin ini harus berhasil. Apakah Anda memuat ulang aturan udev setelah mengedit aturan?

udevadm control --reload-rules && udevadm trigger sebagai root.


Saya membuat aturan yang lebih sempit: KERNEL == "sdb", yang berfungsi. Apakah udev hanya memperlakukan aturan yang mengidentifikasi beberapa perangkat keras secara unik?
pouzzler

Tidak, coba KERNEL!="sdz*" dan Anda harus mendapatkan semuanya (kecuali sdz [1-9])
Redsandro

Ini tidak benar-benar menjawab pertanyaan. Bagaimana Anda tahu kalau aturannya dipicu?
DanielSank

Anda tahu karena skrip dijalankan. Anda dapat membuatnya menulis ke file log. Juga udevadm monitor
Redsandro

4

Anda dapat memberikan perintah sebagai root seperti ini:

monitor udevadm

Ini akan menunjukkan kapan aturan telah dipecat.


4
udevadm monitor hanya menunjukkan acara udev, tetapi tidak jika aturan yang sesuai dipecat. Namun, Anda bisa mencari acara yang seharusnya memicu aturan, tetapi kemudian Anda tidak tahu apakah aturan Anda berfungsi.
F.Raab

2

Saya menjalankan kernel 3.0.35, tetapi berikut ini berfungsi untuk saya.

Untuk mendapatkan jalur untuk perangkat Anda dapat melakukan sesuatu seperti ini:

udevadm info --name /dev/sda1 --query all

Anda akan mendapatkan informasi lebih banyak dari yang Anda butuhkan tetapi Anda tertarik pada DEVPATH. Kemudian untuk melihat aturan udev apa yang dijalankan Anda menjalankan ini:

udevadm test DEVPATH

Saya tidak berpikir ini benar-benar menjalankan aturan, dokumentasi mengatakan ini 'mensimulasikan' acara untuk perangkat yang diberikan. Untuk mendapatkan informasi lebih lanjut, lihat halaman manual ini: https://www.freedesktop.org/software/systemd/man/udevadm.html

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.