คำถามติดแท็ก udev

0
Udev ไม่ได้เรียกใช้สคริปต์แบบอินไลน์
ดังนั้นฉันกำลังพยายามที่จะได้รับ udev ทำบางสิ่ง (เริ่ม airmon-ng) หลังจากฉันเชื่อมต่อการ์ดเครือข่ายไร้สาย USB เฉพาะ แต่ฉันมีปัญหาในการทำให้สคริปต์แบบอินไลน์ทำงาน สามารถทำซ้ำปัญหาได้โดยใช้ตัวอย่างง่ายๆดังต่อไปนี้: สร้างสคริปต์ปฏิบัติการต่อไปนี้ /test.sh: #!/bin/sh echo hello > /tmp/test.txt สร้างไฟล์ต่อไปนี้ /etc/udev/rules.d/85-auto-monitor.rules: # This works: ACTION=="move", KERNEL=="wlx8416f91a5ed3", RUN+="/test.sh" # This does not work: # ACTION=="move", KERNEL=="wlx8416f91a5ed3", RUN+="sh -c 'echo hello > /tmp/test.txt'" ใช้คำสั่งต่อไปนี้เพื่อรีโหลด .rules ไฟล์: sudo udevadm control --reload ฉันไม่เข้าใจว่าทำไมสคริปต์ภายนอกทำงานได้ แต่ไม่ใช่สคริปต์แบบอินไลน์ สคริปต์แบบอินไลน์ทำงานได้ถ้าฉันเรียกใช้ในเทอร์มินัลของฉัน
1 linux  ubuntu  udev 

1
Debian: ข้อมูล udevadm ไม่ส่งคืน ID_FS_TYPE สำหรับสื่อดีวีดี
บน Debian Jessie (openmediavault) คำสั่งต่อไปนี้: udevadm info -q env -n /dev/sr0 ไม่ส่งคืนID_FS_TYPEภาพยนตร์ดีวีดี แพคเกจlibdvdcss2และlibdvdread4มีการติดตั้ง อัปเดต: โพสต์นี้เกี่ยวข้องกับ: ไม่สามารถอ่านดีวีดีที่ได้รับการป้องกันบนระบบเชลล์ / หัวขาด

2
/ dev พาร์ติชันหายไป mdadm จึงเสีย วิธีการรับ Linux เพื่อดูพาร์ติชัน?
อัพเกรดกล่อง Linux และเปลี่ยนไดรฟ์ราก มีอาเรย์ RAID-5 ของไดรฟ์ SATA สามตัวที่ฉันย้ายไป (ไม่ใช่รูท) ติดตั้งระบบปฏิบัติการใหม่ แต่เป็น CentOS 6.4 ก่อนและหลัง # mdadm --assemble /dev/md1 /dev/sdc1 /dev/sdd1 /dev/sde1 mdadm: cannot open device /dev/sdc1: No such file or directory mdadm: /dev/sdc1 has no superblock - assembly aborted และเพียงพอแล้วไม่มี / dev / sdc1 ไม่มีพาร์ติชัน: # fdisk -l /dev/sdc Disk …
1 linux  centos  raid  mdadm  udev 

1
ฉันจะกำหนดกำหนดเวลาเป็น I / O scheduler สำหรับอุปกรณ์ USB Flash โดยใช้กฎ udev ได้อย่างไร [ซ้ำ]
ซ้ำกันได้: กฎ Udev ไม่ทำงาน ฉันได้ตั้งค่า CFQ เป็นตัวกำหนดตารางเวลา I / O เริ่มต้น ฉันมักจะได้รับประสิทธิภาพที่ไม่ดีเมื่อฉันเขียนข้อมูลลงในอุปกรณ์แฟลช สิ่งนี้จะได้รับการแก้ไขหากฉันใช้กำหนดเวลาเป็นตัวกำหนดตารางเวลา I / O สำหรับอุปกรณ์ USB Flash ฉันไม่สามารถเปลี่ยนเครื่องมือกำหนดตารางเวลาด้วยตนเองได้ใช่ไหม ฉันคิดว่าการเขียนกฎ udev เป็นความคิดที่ดี ใครช่วยเขียนกฎให้ฉันหน่อยได้ไหม? ฉันต้องการ: เมื่อฉันเสียบอุปกรณ์ USB ให้ตรวจสอบประเภทของอุปกรณ์ หากเป็นฮาร์ดดิสก์ USB แบบพกพาไม่ต้องทำอะไรเลย (ฉันคิดว่าถ้าอุปกรณ์มีพาร์ติชั่นมากกว่าหนึ่งพาร์ติชั่นจะเป็นฮาร์ดดิสก์แบบพกพาเสมอ หากเป็นอุปกรณ์ USB Flash ให้ตั้งเวลาตามที่กำหนดไว้

1
ฉันจะเปลี่ยนชื่อของอินเทอร์เฟซเครือข่ายที่แสดงใน“ ip addr show” ได้อย่างไร
ด้านล่างคือผลลัพธ์บางส่วนของ ip addr show 10: ge4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN link/ether 02:00:00:00:00:06 brd ff:ff:ff:ff:ff:ff 11: ge44: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN link/ether 02:00:00:00:00:32 brd ff:ff:ff:ff:ff:ff 12: ge45: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN link/ether 02:00:00:00:00:33 brd ff:ff:ff:ff:ff:ff ผลลัพธ์ของ /sys/class/net ดังต่อไปนี้ /sys/class/net> ll total 0 …

1
udev - เปลี่ยนกิจกรรมจาก udev_device_get_action
ฉันกำลังตรวจสอบเหตุการณ์ของอุปกรณ์ทั้งหมดที่เชื่อมต่อกับโฮสต์ ลินุกซ์มีภูต udev ซึ่งฟังทุกเหตุการณ์เฉพาะอุปกรณ์เช่นออนไลน์ออฟไลน์เพิ่มลบและการเปลี่ยนแปลง ฉันใช้ฟังก์ชั่นที่จัดทำโดย linux udev_device_get_actionซึ่งใช้เพื่อรับเหตุการณ์ / การกระทำบนอุปกรณ์นั้น ในเครื่องของฉันฉันได้รับเหตุการณ์การเปลี่ยนแปลงที่ส่งคืนจากฟังก์ชันนี้อย่างต่อเนื่องในตัวแปรของรหัสของฉัน [มันจะส่งกลับตัวชี้ตัวละคร] ฉันตรวจสอบโค้ด linux สำหรับฟังก์ชั่นudev_device_get_actionมันแค่คืนค่าการดำเนินการจากโครงสร้างอุปกรณ์ udev UDEV_EXPORT const char *udev_device_get_action(struct udev_device *udev_device) { if (udev_device == NULL) return NULL; return udev_device->action; } ดังนั้นฉันจะรู้ได้อย่างไรว่าเหตุการณ์การเปลี่ยนแปลงเหล่านั้นมาจากไหน?

1
สคริปต์เพื่อไม่อนุญาตให้ติดตั้ง idVendor บางตัว
ฉันพยายามเขียนสคริปต์เพื่อไม่อนุญาตให้ติดตั้งไดรฟ์ usb thumb drive บางยี่ห้อเช่นซิลิคอนกำลังที่ฉันคิดว่าจะต้องใช้tail -f /var/log/messagesและgrepเพื่อidVendorการบล็อกมันเมื่อตรวจพบจะช่วยฉันได้ไหม ฉันใช้ centos 7 btw

1
วิธีการเพิ่มอุปกรณ์ที่ udev เพิ่มด้วยตนเองแล้วนำออกหลังจากเสียบเข้ากับพอร์ต USB แล้ว?
ฉันกำลังพยายามติดตั้ง smart watch ราคาถูกของฉันด้วยชิปเซ็ต MTK6260A กับพีซีของฉันเพื่ออ่านเนื้อหาของเฟิร์มแวร์ อย่างไรก็ตามในขณะที่ dmesg แสดงให้ฉันเห็นว่าอุปกรณ์ตรวจพบและสร้างอย่างถูกต้อง: [107204.279493] sd 12:0:0:0: [sdf] Test WP failed, assume Write Enabled [107204.280474] sd 12:0:0:0: [sdf] Asking for cache data failed [107204.280486] sd 12:0:0:0: [sdf] Assuming drive cache: write through [107204.281588] sd 12:0:0:0: [sdf] Attached SCSI removable disk udev สร้างแล้วลบมัน (จากจอภาพ udevadm): KERNEL[107206.407012] …
linux  usb  udev 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.