Eudev

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Eudev and the translation is 100% complete.


Archived article

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日.
Az eudev már nem érhető el Gentoo operációs rendszerben. Ajánlott helyette a sys-apps/systemd-utils szoftvercsomagból származó udev használata. Az átállásnak problémamentesnek kell lennie, azonban az ezzel kapcsolatos Hírelemeket el kell olvasni és követni kell azokat annak érdekében, hogy elkerülhetőek legyenek az esetleges problémák.

TLDR: Do not use this article!


Not to be confused with udev.

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.

Cannot load package information. Is the atom sys-fs/eudev correct?

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/eudev

Beá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

Warning
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 monitor

Szerezze 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.7

Szerezze 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.7

Az udevadm parancsok teljes listájának megtekintéséhez:

user $udevadm -h

Ré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

Külső források

Hivatkozások

  1. 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.
  2. Project:Eudev, Gentoo Wiki, (Utolsó módosítás) 2015. november 12. Lekért: 2016. március 11.