Eudev
This article is archived (obsolete). Contents are surely incorrect for current usage, and are intended for historical reference only. Page archived as of 2023年10月12日.
TLDR: Do not use this article!
Az eudev az udev, a systemd eszközfájl kezelőjének egy fejlesztési elágazása a Linux kernel számára.[1] Ez kezeli az eszköz /dev helyeit, és az összes felhasználói térben végzett műveletet eszközök hozzáadása vagy eltávolítása esetén.
Az eudev célja, hogy jobb kompatibilitást érjen el olyan meglévő szoftverekkel, mint az OpenRC init rendszer, az Upstart init rendszer, régebbi Linux kernelek, különféle eszközkészletek, valamint bármi más, amire szükség van[2] , de amelyeket a udev nem jól támogat.
Az eudev neve hasonló az ebuild, eclass, emerge stb. elnevezésekhez, követve az 'E' előtag konvenciót, amelyet a Gentoo alapítója, Daniel Robbins indított el.
A systemd init rendszert futtató rendszerbeállítások nem használják az eudev-et.
A /dev könyvtár
A legtöbb Linux-felhasználó megérti, hogy a /dev/sda1 csak egy gyors módja annak, hogy a kernel által talált első lemez első partíciójára hivatkozzon. Ez elég könnyű, igaz?
De vegyük figyelembe az üzem közben cserélhető eszközöket, mint az USB, IEEE 1394, üzem közben cserélhető PCI stb. Ezek közül melyik az első eszköz, és meddig az? Mi lesz a többi készülék neve, ha az első eltűnik? Milyen hatással lesz ez a folyamatban lévő tranzakciókra? Nem lenne mókás, ha egy nyomtatási feladat hirtelen átkerülne egy csúcskategóriás lézernyomtatóból egy majdnem halott mátrixnyomtatóba, csak azért, mert valaki úgy döntött, hogy kihúzza a lézernyomtatót (ami véletlenül az első nyomtató volt)?
Lépjen be az eszközkezelőbe. Egy modern eszközkezelőnek:
- Felhasználói térben fut.
- Dinamikusan hoz létre és távolít el eszközfájlokat.
- Konzisztens eszközelnevezést biztosít.
- Felhasználói térben szolgáltat alkalmazásprogramozási felületet (API-t).
Minden alkalommal, amikor változás történik az eszközstruktúrán belül, a kernel egy uevent-et bocsát ki, amelyet az eszközkezelő veszi fel. az eszközkezelő ezután követi az /etc/udev/rules.d, /run/udev/rules.d és /lib/udev/rules.d könyvtárakat. Az uevent-ben található információk alapján megkeresi a kiváltáshoz szükséges szabályt vagy szabályokat, és végrehajtja a szükséges műveleteket. Ezek a műveletek magukban foglalhatják eszközfájlok létrehozását vagy törlését, és bizonyos firmware-fájlok kernelmemóriába való betöltését is kiválthatják.
Telepítés
USE jelölőzászlók
Néhány szoftvercsomag ismeri a udev USE jelölőzászlót, amely lehetővé teszi a virtual/udev integrációt.
Emerge
A world set-be történő regisztráció elkerülése érdekében az oneshot opciót kell használni.
root #emerge --ask --oneshot sys-fs/eudevBeállítás
RC szolgáltatás
Az RC neve udev, nem eudev. A sysinit futási szintbe kell regisztrálni.
root #rc-update add udev sysinit* rc-update: udev already installed in runlevel `sysinit'; skipping
A sys-fs/udev-init-scripts 29-es verziójától kezdve a udev-trigger-t is hozzá kell adni a sysinit futási szinthez.
Opcionális: Klasszikus hálózati interfész elnevezésének a megtartása
Ez a rész el van évülve. Tekintse meg a Udev: Hálózati interfész megjósolható elnevezésének a letiltása vagy felülbírálása című részt a frissített útmutatásért.
A kernel által biztosított hálózati eszköznevek, mint például az eth0 vagy wlan0, az operációs rendszer bootolásakor általában megváltoznak (részletek: dmesg), a /lib/udev/rules.d/80-net-name-slot.rules útvonalon található udev szabály alapján.
A klasszikus elnevezés megőrzéséhez ez a szabály felülírható egy azonos nevű, üres fájllal az /etc/udev/rules.d könyvtárban:
root #touch /etc/udev/rules.d/80-net-name-slot.rules
Alternatívaként adja hozzá a net.ifnames=0 parancsot a kernel parancssorához, módosítsa az alapértelmezett szabályzatot, vagy hozzon létre egy egyéni szabályzatot.
Egy érdekes erőforrás a hálózati elnevezéssel kapcsolatban a I don't like this, how do I disable this a Freedesktop wikiben.
Hibaelhárítás
Az udevadm használata
Indítsa el a udevadm monitor parancsot, és figyelje meg, hogy mi történik:
user $udevadm monitorSzerezze meg az eszközinformációkat a udevadm info parancs segítségével, majd adja meg az eszköz elérési útját:
user $udevadm info -p /devices/pci0000:00/0000:00:1d.7Szerezze meg az eszköz elérési útját a nevének használatával:
user $udevadm info -q path -n input/mouse1/devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3.4/1-3.4:1.0/0003:046D:C404.0006/input/input24/mouse1
Teszteljen egy esemény futtatását a udevadm test parancs használatával, amelyet az esemény teszteléséhez szükséges eszköz elérési útja követ:
user $udevadm test /devices/pci0000:00/0000:00:1d.7Az udevadm parancsok teljes listájának megtekintéséhez:
user $udevadm -hRégebbi kiadások migrálása
udev 171-r10-ról eudev 1.2-r1-re
Tekintse meg ezt a bejegyzést a Gentoo fórumon.
Meghibásodott rendszer váltása udev-ről eudev-re
Tekintse meg ezt a bejegyzést a Gentoo fórumon.
További olvasnivaló a témában
- Udev — systemd eszközkezelője a Linux kernel számára.
- Gentoo eudev Project — The official Gentoo project fork of udev.
- Allow only known usb devices — describes how to protect a GNU/Linux system against rogue USB devices via a white listing policy.
- Google Summer of Code/2016/Ideas/Eudev
Külső források
- Moving from udev (171-r10) to eudev (1.2-r1) on the Gentoo Forums
Hivatkozások
- ↑ Bug 575718 - Request for council decision RE virtual/udev default provider , Gentoo Bugzilla Főoldala, (Utolsó módosítás) 2016. február 27. Lekért: 2016. március 1.
- ↑ Project:Eudev, Gentoo Wiki, (Utolsó módosítás) 2015. november 12. Lekért: 2016. március 11.