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.


The information in this article is representative of former times and has been archived as of 2023-10-12. It can be used for reference, but is most likely not appropriate for current usage. Generally, archived articles should not be edited.
eudev is no longer available in Gentoo. It's recommended to use udev from sys-apps/systemd-utils instead. The transition should be uneventful, however the corresponding News Item must be read and followed to avoid any issues.
Resources
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
This section is obsolete. See Udev#Optional: Disable_or_override_predictable_network_interface_naming for updated instructions.

Network device names such as eth0 or wlan0 as provided by the kernel are normally changed on system boot (see dmesg) by the /lib/udev/rules.d/80-net-name-slot.rules udev rule.

To keep the classic naming this rule can be overwritten with an equally named empty file in the /etc/udev/rules.d directory:

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.