.\" -*- coding: UTF-8 -*-
'\" t
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH UDEV 7 "" "systemd 257.6" udev
.ie  \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH NAZWA
udev \- dynamiczne zarządzanie urządzeniami
.SH OPIS
.PP
udev udostępnia oprogramowaniu systemowemu zdarzenia urządzeń, zarządza
uprawnieniami węzłów urządzeń i może tworzyć dodatkowe dowiązania
symboliczne w katalogu /dev/ lub zmieniać nazwy interfejsów
sieciowych\&. Jądro zwykle nadaje nieprzewidywalne nazwy urządzeń w
kolejności ich wykrycia\&. Znaczące dowiązania symboliczne lub nazwy
urządzeń sieciowych zapewniają stały sposób identyfikacji urządzeń na
podstawie ich właściwości lub aktualnej konfiguracji\&.
.PP
Demon udev, \fBsystemd\-udevd.service\fP(8), otrzymuje zdarzenia urządzeń
(uevent) bezpośrednio z jądra, gdy tylko z systemu dodawane lub usuwane jest
urządzenie, albo zmianie ulega jego status\&. Gdy udev otrzyma zdarzenie
urządzenia, dopasowuje swój skonfigurowany zestaw reguł do różnych atrybutów
urządzenia, aby go zidentyfikować\&. Reguły mogą zapewniać dodatkowe
informacje o urządzeniu, służące do przechowania w bazie danych udev lub do
tworzenia znaczących nazw dowiązań symbolicznych\&.
.PP
Wszelkie przetwarzane przez udev informacje o urządzeniach są przechowywane
w bazie danych udev i wysyłane do potencjalnych subskrybentów
zdarzeń\&. Dostęp do wszelkich przechowywanych danych i źródeł zdarzeń
zapewnia biblioteka libudev\&.
.SH "PLIKI REGUŁ"
.PP
Reguły udev są odczytywane z plików położonych w systemowych katalogach
reguł /usr/lib/udev/rules\&.d i /usr/local/lib/udev/rules\&.d, ulotnych
katalogów uruchomieniowych /run/udev/rules\&.d oraz lokalnego katalogu
administracyjnego /etc/udev/rules\&.d\&. Wszystkie pliki reguł są sortowane
i przetwarzane w kolejności leksykograficznej, bez względu na katalog, z
którego pochodzą\&. Jednak pliki o identycznych nazwach zastępują
się\&. Pliki z /etc/ mają najwyższy priorytet, pliki w /run/ mają
pierwszeństwo nad plikami o tej samej nazwie w /usr/\&. Można w ten sposób
przesłonić dostarczane przez system pliki reguł plikiem lokalnym, jeśli
będzie taka potrzeba; dowiązanie symboliczne w /etc/ o tej samej nazwie jak
plik reguł w /usr/lib/, wskazujące na /dev/null, zupełnie wyłączy dany plik
reguł\&. Pliki reguł muszą kończyć się rozszerzeniem \&.rules; inne
rozszerzenia są ignorowane\&.
.PP
Każdy wiersz w pliku reguł zawiera co najmniej jedną parę
klucz\-wartość\&. Wyjątkiem są puste wiersze i wiersze zaczynające się od
znaku \[Bq]#\[rq], które są ignorowane\&. Występują dwa typy kluczy:
dopasowujące i przypisujące\&. Jeśli wszystkie klucze dopasowujące pasują do
swych wartości, reguła jest stosowana, a klucze przypisujące przypisują dane
wartości\&.
.PP
Reguła dopasowująca może zmienić nazwę interfejsu sieciowego, dodać
dowiązanie symboliczne wskazujące na węzeł urządzenia lub uruchomić podany
program, w ramach obsługi zdarzenia\&.
.PP
Reguła składa się z listy jednego lub więcej wyrażeń klucz\-operator\-wartość,
rozdzielonych przecinkiem\&. Każde wyrażenie daje różny efekt, w zależności
od użytego klucza i operatora\&.
.SS Operatory
.PP
"=="
.RS 4
Sprawdza równość (podany klucz ma określoną wartość)\&.
.RE
.PP
"!="
.RS 4
Sprawdza nierówność (podany klucz nie ma określonej wartości lub podany
klucz jest nieobecny)\&.
.RE
.PP
"="
.RS 4
Przypisuje wartość do klucza\&. Klucze reprezentujące listę są resetowane i
przypisywana jest tylko ta pojedyncza wartość\&.
.RE
.PP
"+="
.RS 4
Dodaje wartość do klucza utrzymującego listę wpisów\&.
.RE
.PP
"\-="
.RS 4
Usuwa wartość z klucza utrzymującego listę wpisów\&.
.sp
Dodane w wersji 217\&.
.RE
.PP
":="
.RS 4
Nieodwołanie przypisuje wartość do klucza; późniejsze zmiany będą
niemożliwe\&.
.sp
Dodane w wersji 247\&.
.RE
.SS Wartości
.PP
Wartości są zapisywane jako łańcuchy ograniczone cudzysłowami
("łańcuch")\&. Aby w wartości umieścić cudzysłów (") należy go poprzedzić
odwrotnym ukośnikiem (\e")\&. Wszystkie inne wystąpienia ukośników, po
których następują dowolne znaki, nie stanowią sekwencji specjalnych. Oznacza
to, że "\et\en" jest traktowane jako cztery znaki: odwrotny ukośnik, małe t,
odwrotny ukośnik, małe n\&.
.PP
Łańcuch można poprzedzić małą literą e (e"łańcuch\en"), aby oznaczyć go jako
korzystający z sekwencji języka C, zob. \m[blue]\fBSekwencje specjalne w języku C\fP\m[]\&\s-2\u[1]\d\s+2\&. Na przykład e"łańcuch\en" jest
przetwarzany jako 8 znaków: 7 małych liter i znak nowego wiersza\&. Można w
ten sposób zapisać znaki specjalne tam, gdzie wymaga ich sterownik jądra\&.
.PP
Łańcuch można poprzedzić małą literą i (i"łańcuch"), aby oznaczyć go jako
łańcuch lub wzorzec, który ma być dopasowany bez względu na wielkość
znaków. Na przykład i"foo" dopasuje "foo", "FOO", "FoO" itd\&. Przedrostek
można stosować tylko do reguł sprawdzających równość(\[Bq]==\[rq]) lub
nierówność (\[Bq]!=\[rq]), np. \fIATTR{foo}==i"abcd"\fP\&.
.PP
Proszę zauważyć, że w żadnym wariancie łańcucha, znak \fBNUL\fP nie jest
dozwolony\&.
.SS Klucze
.PP
Do dopasowania właściwości urządzenia można posłużyć się następującymi
kluczami\&. Niektóre dopasują również właściwości urządzenia nadrzędnego w
sysfs, a nie tylko urządzenia, które wygenerowało zdarzenie\&. Jeśli w
pojedynczej regule poda się wiele kluczy, które dopasują urządzenie
nadrzędne, wszystkie te klucze muszą dopasować jedno i to samo urządzenie
nadrzędne\&.
.PP
\fIACTION\fP
.RS 4
Dopasowuje nazwę akcji ze zdarzenia\&.
.RE
.PP
\fIDEVPATH\fP
.RS 4
Dopasowuje ścieżkę (devpath) urządzenia ze zdarzenia\&.
.RE
.PP
\fIKERNEL\fP
.RS 4
Dopasowuje nazwę urządzenia ze zdarzenia\&.
.RE
.PP
\fIKERNELS\fP
.RS 4
Wyszukuje ścieżkę (devpath) w górę, aby dopasować nazwę urządzenia\&.
.RE
.PP
\fINAME\fP
.RS 4
Dopasowuje nazwę interfejsu sieciowego\&. Można go stosować po ustawieniu
klucza NAME w jednej z wcześniejszych reguł\&.
.RE
.PP
\fISYMLINK\fP
.RS 4
Dopasowuje nazwę dowiązania symbolicznego wskazującego na węzeł\&. Można go
stosować po ustawieniu klucza SYMLINK w jednej z wcześniejszych
reguł\&. Może występować wiele dowiązań; wystarczy dopasowanie
jednego\&. Jeśli operatorem jest \[Bq]!=\[rq], token zwraca prawdę tylko,
jeśli żadne dowiązanie nie będzie dopasowane\&.
.RE
.PP
\fISUBSYSTEM\fP
.RS 4
Dopasowuje podsystem urządzenia ze zdarzenia\&.
.RE
.PP
\fISUBSYSTEMS\fP
.RS 4
Wyszukuje ścieżkę (devpath) w górę, aby dopasować nazwę podsystemu
urządzenia\&.
.RE
.PP
\fIDRIVER\fP
.RS 4
Dopasowuje nazwę sterownika urządzenia ze zdarzenia\&. Klucz ten należy
ustawiać tylko w przypadku urządzeń, które są przypisane do sterownika w
momencie wygenerowania zdarzenia\&.
.RE
.PP
\fIDRIVERS\fP
.RS 4
Wyszukuje ścieżkę (devpath) w górę, aby dopasować nazwę sterownika
urządzenia\&.
.RE
.PP
\fIATTR{\fP\fInazwa\-pliku\fP\fI}\fP
.RS 4
Dopasowuje wartość atrybutu sysfs urządzenia ze zdarzenia\&.
.sp
Końcowe odstępy w wartościach atrybutu są ignorowane, chyba że podana
wartość dopasowania sama zawiera końcowe odstępy\&.
.RE
.PP
\fIATTRS{\fP\fInazwa\-pliku\fP\fI}\fP
.RS 4
Wyszukuje ścieżkę (devpath) w górę, aby dopasować wartości atrybutu
sysfs\&. Jeśli poda się wiele dopasowań \fIATTRS\fP, wszystkie z nich muszą być
dopasowane do tego samego urządzenia\&.
.sp
Końcowe odstępy w wartościach atrybutu są ignorowane, chyba że podana
wartość dopasowania sama zawiera końcowe odstępy\&.
.RE
.PP
\fISYSCTL{\fP\fIparametr jądra\fP\fI}\fP
.RS 4
Dopasowuje wartość parametru jądra\&.
.sp
Dodane w wersji 240\&.
.RE
.PP
\fIENV{\fP\fIklucz\fP\fI}\fP
.RS 4
Dopasowuje wobec wartości właściwości urządzenia\&.
.RE
.PP
\fICONST{\fP\fIklucz\fP\fI}\fP
.RS 4
Dopasowuje wobec stałej systemowej\&. Obsługiwane są następujące klucze:
.PP
"arch"
.RS 4
Architektura systemowa\&. Opis \fBConditionArchitecture=\fP w podręczniku
\fBsystemd.unit\fP(5) zawiera możliwe wartości\&.
.sp
Dodane w wersji 244\&.
.RE
.PP
"virt"
.RS 4
Systemowe środowisko wirtualizacji\&. Możliwe wartości opisano w podręczniku
\fBsystemd\-detect\-virt\fP(1)\&.
.sp
Dodane w wersji 244\&.
.RE
.PP
"cvm"
.RS 4
Systemowa technologia zabezpieczonej wirtualizacji (ang. confidential
virtualization technology)\&. Możliwe wartości opisano w podręczniku
\fBsystemd\-detect\-virt\fP(1)\&.
.sp
Dodane w wersji 254\&.
.RE
.sp
Nieznane klucze nie będą dopasowane\&.
.sp
Dodane w wersji 244\&.
.RE
.PP
\fITAG\fP
.RS 4
Dopasowuje wobec jednego ze znaczników urządzenia\&. Można go stosować po
ustawieniu klucza TAG w jednej z wcześniejszych reguł\&. Może występować
wiele znaczników; wystarczy dopasowanie jednego\&. Jeśli operatorem jest
\[Bq]!=\[rq], token zwraca prawdę tylko, jeśli żaden znacznik nie będzie
dopasowany\&.
.RE
.PP
\fITAGS\fP
.RS 4
Wyszukuje ścieżkę (devpath) w górę, aby dopasować urządzenie z odpowiednim
znacznikiem\&. Jeśli operatorem jest \[Bq]!=\[rq], token zwraca prawdę
tylko, jeśli żaden znacznik nie będzie dopasowany\&.
.RE
.PP
\fITEST{\fP\fIósemkowa maska trybu\fP\fI}\fP
.RS 4
Sprawdza istnienie pliku\&. Jeśli to potrzebne, można podać ósemkową maskę
pliku\&.
.RE
.PP
\fIPROGRAM\fP
.RS 4
Wykonuje program, aby określić czy istnieje dopasowanie; klucz jest
prawdziwy, jeśli program powrócił z sukcesem\&. Właściwości urządzenia są
udostępniane wykonywanemu programowi w środowisku\&. Standardowe wyjście
programu jest dostępne w kluczu \fIRESULT\fP\&.
.sp
Można w ten sposób korzystać tylko z bardzo szybko wykonywanych zadań
pierwszego planu\&. Więcej szczegółów w opisie \fIRUN\fP\&.
.sp
Proszę zauważyć, że w jednej regule można podać wiele kluczy \fIPROGRAM\fP, a
\[Bq]=\[rq], \[Bq]:=\[rq] i \[Bq]+=\[rq] mają takie samo znaczenie jak
\[Bq]==\[rq]\&.
.RE
.PP
\fIRESULT\fP
.RS 4
Dopasowuje zwrócony łańcuch ostatniego wywołania \fIPROGRAM\fP\&. Klucz ten
można zastosować w tej samej lub późniejszej regule, po wywołaniu
\fIPROGRAM\fP\&.
.RE
.PP
Większość wzorców obsługuje dopasowanie wzorcami wieloznacznikowymi powłoki
(glob) oraz wzorce alternatywne\&. Obsługiwane są następujące znaki
specjalne:
.PP
"*"
.RS 4
Dopasowuje jeden lub więcej znaków\&.
.RE
.PP
"?"
.RS 4
Dopasowuje dowolny pojedynczy znak\&.
.RE
.PP
"[]"
.RS 4
Dopasowuje dowolny pojedynczy znak podany w nawiasach kwadratowych\&. Na
przykład wzorzec "tty[SR]" dopasuje "ttyS" lub "ttyR"\&. Za pomocą znaku
\[Bq]\-\[rq] obsługiwane są również przedziały\&. Na przykład, aby dopasować
przedział wszystkich cyfr, można użyć wzorca "[0\-9]"\&. Jeśli pierwszym
znakiem za \[Bq][\[rq] będzie \[Bq]!\[rq], to dopasowane zostaną wszystkie
znaki poza tymi, podanymi w nawiasach kwadratowych\&.
.RE
.PP
"|"
.RS 4
Rozdziela wzorce alternatywne\&. Na przykład wzorzec "abc|x*" dopasuje "abc"
lub "x*"\&.
.sp
Dodane w wersji 217\&.
.RE
.PP
Można przypisać następujące wartości kluczy:
.PP
\fINAME\fP
.RS 4
Nazwa do użycia przez interfejs sieciowy\&. W podręczniku \fBsystemd.link\fP(5)
opisano mechanizm wyższego poziomu do ustawiania nazw interfejsów\&. Nazwa
węzła urządzenia nie może być zmienione przez udev, można tworzyć jedynie
dodatkowe dowiązania symboliczne\&.
.RE
.PP
\fISYMLINK\fP
.RS 4
Nazwa dowiązania symbolicznego wskazującego na węzeł\&. Każda pasująca
reguła dodaje tę wartość do listy dowiązań symbolicznych do utworzenia\&.
.sp
Zestaw znaków jakie mogą posłużyć do nazwania dowiązania symbolicznego jest
ograniczony\&. Dozwolone znaki to \[Bq]0\-9A\-Za\-z#+\-\&.:=@_/\[rq], prawidłowe
sekwencje znaku UTF\-8 oraz kodowanie szesnastkowe
\[Bq]\ex00\[rq]\&. Wszystkie pozostałe znaki są zastępowane znakiem
\[Bq]_\[rq]\&.
.sp
Można utworzyć wiele dowiązań symbolicznych, rozdzielając nazwy spacją\&. W
przypadku, gdy wiele urządzeń rości sobie prawo do tej samej nazwy,
dowiązanie zawsze wskazuje na urządzeń o najwyższym link_priority\&. Jeśli
bieżące urządzenie zniknie, dowiązania są rozwiązywane ponownie i urządzenie
z następnym najwyższym link_priority staje się właścicielem
dowiązania\&. Jeśli nie poda się link_priority, kolejność urządzeń (oraz to,
które z nich pozyska dowiązanie) jest niezdefiniowana\&.
.sp
Nazwy dowiązań nigdy nie mogą być w konflikcie z domyślnymi nazwami węzłów
urządzeń jądra, ponieważ to doprowadziłoby to nieprzewidywalnego
zachowania\&.
.RE
.PP
\fIOWNER\fP, \fIGROUP\fP, \fIMODE\fP
.RS 4
Uprawnienia węzła urządzenia\&. Każda podana wartość przesłania wkompilowaną
wartość domyślną\&.
.RE
.PP
\fISECLABEL{\fP\fImoduł\fP\fI}\fP
.RS 4
Stosuje podaną etykietę Linux Security Module do węzła urządzenia\&.
.sp
Dodane w wersji 209\&.
.RE
.PP
\fIATTR{\fP\fIklucz\fP\fI}\fP
.RS 4
Wartość powinna być zapisana do atrybutu sysfs urządzenia ze zdarzenia\&.
.RE
.PP
\fISYSCTL{\fP\fIparametr jądra\fP\fI}\fP
.RS 4
Wartość, jaka powinna być zapisana do parametru jądra\&.
.sp
Dodane w wersji 220\&.
.RE
.PP
\fIENV{\fP\fIklucz\fP\fI}\fP
.RS 4
Ustawia wartość właściwości urządzenia\&. Nazwy właściwości zaczynające się
od \[Bq]\&.\[rq] nie są przechowywane w bazie danych ani nie są eksportowane
do zdarzeń lub narzędzi zewnętrznych (uruchomionych na przykład przez
pasujący klucz \fIPROGRAM\fP)\&.
.RE
.PP
\fITAG\fP
.RS 4
Dodaje znacznik do urządzenia\&. Służy do filtrowania zdarzeń dla
użytkowników korzystających z funkcji monitorowania libudev lub do
wyliczenia grupy urządzeń ze znacznikami\&. Implementacja może działać
wydajnie tylko, jeśli do urządzenia dodano niewiele znaczników\&. Ma to być
używane tylko w kontekście koniecznego filtrowania konkretnego urządzenia, a
nie jako opcja do ogólnego zastosowania\&. Zbyt szerokie stosowanie może
doprowadzić do nieefektywnej obsługi zdarzeń\&.
.RE
.PP
\fIRUN{\fP\fItyp\fP\fI}\fP
.RS 4
Określa program, jaki będzie wykonany po przetworzeniu wszystkich reguł dla
zdarzenia\&. Przy \[Bq]+=\[rq], to przywołanie jest dodawane do listy, a z
\[Bq]=\[rq] lub \[Bq]:=\[rq] zastępuje wcześniejszą zawartość
listy\&. Proszę zauważyć, że opisane niżej typy \[Bq]program\[rq] i
\[Bq]builtin\[rq] dzielą wspólną listę, zatem usunięcie listy za pomocą
\[Bq]:=\[rq] lub \[Bq]=\[rq] wpływa na oba typy\&.
.sp
\fItypem\fP może być:
.PP
"program"
.RS 4
Wykonuje zewnętrzny program określony przypisaną wartością\&. Jeśli nie poda
się ścieżki absolutnej, oczekuje się, że program będzie występował w
/usr/lib/udev; w innym przypadku konieczne jest podanie absolutnej
ścieżki\&.
.sp
Jest to wartość domyślna, jeśli nie poda się \fItypu\fP\&.
.RE
.PP
"builtin"
.RS 4
Jak \fIprogram\fP, lecz korzysta z jednego z wbudowanych programów, zamiast z
zewnętrznego\&.
.sp
Dodane w wersji 199\&.
.RE
.sp
Nazwa programu i kolejne argumenty są rozdzielone spację\&. Aby podać
argumenty zawierające spacje, należy je ująć w pojedyncze cudzysłowy\&.
.sp
Można w ten sposób uruchamiać tylko bardzo szybkie zadania pierwszego
planu\&. Uruchamianie procesu zdarzeń na dłuższy czas może zablokować
wszelkie kolejne zdarzenia dla danego lub zależnego od niego urządzenia\&.
.sp
Proszę zauważyć, że uruchamianie programów, które uzyskują dostęp do sieci
lub montują/odmontowują systemy plików nie jest dozwolone wewnątrz reguł
udev, z powodu domyślnej piaskowicy, która jest wymuszona na
systemd\-udevd\&.service\&.
.sp
Uruchamianie demonów lub innych dłużej działających procesów nie jest
dozwolone; procesy rozgałęzione, niezależnie od tego czy są oddzielone, są
bezwarunkowo zabijane po zakończeniu obsługi zdarzenia\&. Aby aktywować
dłużej działające procesy z poziomu reguł udev, należy zapewnić jednostkę
usługi i wciągnąć ją z urządzenia udev za pomocą właściwości urządzenia
\fISYSTEMD_WANTS\fP\&. Więcej szczegółów w podręczniku \fBsystemd.device\fP(5)\&.
.RE
.PP
\fILABEL\fP
.RS 4
Nazwa etykiety, do której może przeskoczyć \fIGOTO\fP\&.
.RE
.PP
\fIGOTO\fP
.RS 4
Przeskakuje do następnej etykiety \fILABEL\fP z pasującą nazwą\&.
.RE
.PP
\fIIMPORT{\fP\fItyp\fP\fI}\fP
.RS 4
Importuje zbiór zmiennych jako właściwości urządzenia, w zależności od
\fItypu\fP:
.PP
"program"
.RS 4
Wykonuje zewnętrzny program określony jako przypisana wartość i jeśli
powróci on poprawnie, importuje jego wyjście, które musi być w formacie
kluczy środowiska\&. Określenie ścieżki, rozdzielenie polecenia/argumentów i
cytowania działa tak samo jak w \fIRUN\fP\&.
.sp
Dodane w wersji 199\&.
.RE
.PP
"builtin"
.RS 4
Podobnie do \[Bq]program\[rq], lecz korzysta z jednego z wbudowanych
programów, zamiast z zewnętrznego\&.
.sp
Dodane w wersji 199\&.
.RE
.PP
"file"
.RS 4
Importuje plik tekstowy podany jako przypisana wartość, którego zawartość
musi występować w formacie kluczy środowiska\&.
.RE
.PP
"db"
.RS 4
Importuje pojedynczą właściwość określoną jako przypisana wartość z bieżącej
bazy danych urządzeń\&. Działa to tylko, jeśli baza danych została już
wypełniona przez wcześniejsze zdarzenie\&.
.RE
.PP
"cmdline"
.RS 4
Importuje pojedynczą właściwość z wiersza poleceń jądra\&. W przypadku
prostych flag, wartość właściwości jest ustawiana na \[Bq]1\[rq]\&.
.RE
.PP
"parent"
.RS 4
Importuje przechowywane klucze z urządzenia nadrzędnego, odczytując wpis z
bazy danych dla urządzenia nadrzędnego\&. Wartość przypisywana do
\fBIMPORT{parent}\fP służy jako filtr nazw kluczy do zaimportowania (z tym
samym dopasowywaniem wzorcem wieloznacznikowym \- glob, jaki jest używany do
porównań)\&.
.RE
.sp
Można w ten sposób korzystać tylko z bardzo szybko wykonywanych zadań
pierwszego planu\&. Więcej szczegółów w opisie \fBRUN\fP\&.
.sp
Proszę zauważyć, że w jednej regule można podać wiele kluczy \fIIMPORT{}\fP, a
\[Bq]=\[rq], \[Bq]:=\[rq] i \[Bq]+=\[rq] mają takie samo działanie jak
\[Bq]==\[rq]\&. Klucz jest prawdziwy, jeśli import powiedzie się, chyba że
jako operator zastosowane jest \[Bq]!=\[rq], co spowoduje, że klucz będzie
prawdziwy, jeśli import zawiedzie\&.
.RE
.PP
\fIOPTIONS\fP
.RS 4
Opcje reguł i urządzeń:
.PP
\fBlink_priority=\fP\fIwartość\fP
.RS 4
Określa priorytet tworzonych dowiązań symbolicznych\&. Urządzenia z wyższymi
priorytami nadpisują istniejące dowiązania symboliczne innych
urządzeń\&. Wartość domyślna to 0\&.
.RE
.PP
\fBstring_escape=\fP\fInone|replace\fP
.RS 4
Przy wartości \[Bq]replace\[rq], następuje zastąpienie potencjalnie
niebezpiecznych znaków w łańcuchach przypisywanych do \fINAME\fP, \fISYMLINK\fP i
\fIENV{\fP\fIklucz\fP\fI}\fP\&. Przy wartości \[Bq]none\[rq], zastępowanie nie jest
przeprowadzane\&. Gdy wartość nie jest ustawiona, zastępowanie jest
przeprowadzane dla \fINAME\fP, \fISYMLINK\fP, lecz nie dla
\fIENV{\fP\fIkey\fP\fI}\fP\&. Domyślnie wartość nie jest ustawiona\&.
.RE
.PP
\fBstatic_node=\fP
.RS 4
Stosuje uprawnienia określone w tej regule do statycznych węzłów urządzeń o
podanej nazwie\&. Dodatkowo, w przypadku każdego znacznika określonego w tej
regule, tworzy dowiązanie symboliczne w katalogu
/run/udev/static_node\-tags/\fIznacznik\fP wskazujące na statyczny węzeł
urządzenia o podanej nazwie\&. Tworzenie statycznych węzłów urządzeń jest
przeprowadzane przez systemd\-tmpfiles, przed uruchomieniem
systemd\-udevd\&. Węzły statyczne mogą nie posiadać odpowiadającego
urządzenia jądra; służą do wyzwolenia automatycznego ładowania modułów
jądra, gdy uzyskiwany jest do nich dostęp\&.
.RE
.PP
\fBwatch\fP
.RS 4
Obserwuje węzeł urządzenia za pomocą inotify; gdy węzeł jest zamykany po
jego otwarciu do zapisu, tworzony jest uevent zmiany\&.
.RE
.PP
\fBnowatch\fP
.RS 4
Wyłącza obserwowanie węzła urządzenia za pomocą inotify\&.
.RE
.PP
\fBdb_persist\fP
.RS 4
Ustawia flagę (bit lepkości) na wpisie bazy danych urządzenia ze
zdarzenia\&. Właściwości urządzeń są następnie przechowywane w bazie danych
nawet, gdy wywołano \fBudevadm info \-\-cleanup\-db\fP\&. Opcja może być przydatna
w określonych przypadkach (np\&. urządzenia Device Mapper) aby uzyskać
trwały stan urządzenia przy przejściu z initrd\&.
.sp
Dodane w wersji 241\&.
.RE
.PP
\fBlog_level=\fP\fIpoziom\fP
.RS 4
Pobiera nazwę poziomu dziennika taką jak \[Bq]debug\[rq] lub \[Bq]info\[rq]
albo specjalną wartość \[Bq]reset\[rq]\&. Przy podaniu nazwy poziomu
dziennika, maksymalny poziom dziennika jest zmieniany na ten poziom\&. Gdy
ustawi się \[Bq]reset\[rq], to poprzednio podany poziom dziennika jest
odwoływany\&. Domyślnie przyjmuje poziom dziennika od głównego procesu
\fBsystemd\-udevd\fP\&.
.sp
Może być to przydatne przy debugowaniu zdarzeń dla określonych
urządzeń\&. Proszę zauważyć, że dany poziom dziennika jest stosowany w
momencie, gdy przetwarzany jest wiersz zawierający tę regułę\&. Zatem przy
debugowaniu zaleca się podanie go we wcześniejszym miejscu np\&. w pierwszym
wierszu 00\-debug\&.rules\&.
.sp
Przykład debugowania przetwarzania uevent dla interfejsów sieciowych:
.sp
.if  n \{\
.RS 4
.\}
.nf
# /etc/udev/rules\&.d/00\-debug\-net\&.rules
SUBSYSTEM=="net", OPTIONS="log_level=debug"
.fi
.if  n \{\
.RE
.\}
.sp
Dodane w wersji 248\&.
.RE
.RE
.PP
Pola \fIENV\fP, \fIGROUP\fP, \fIMODE\fP, \fINAME\fP, \fIOWNER\fP, \fIPROGRAM\fP, \fIRUN\fP,
\fISECLABEL\fP i \fISYMLINK\fP obsługują proste podstawianie
łańcuchów\&. Podstawiania \fIRUN\fP są przeprowadzane po przetworzeniu
wszystkich reguł, zaraz przed wykonaniem programu, pozwalając na korzystanie
z właściwości urządzenia ustawionych przez wcześniejsze dopasowane
reguły\&. We wszystkich innych polach, podstawiania są przeprowadzane, gdy
przetwarzana jest dana pojedyncza reguła. Dostępne podstawiania to:
.PP
\fB$kernel\fP, \fB%k\fP
.RS 4
Nadana przez jądro nazwa tego urządzenia\&.
.RE
.PP
\fB$number\fP, \fB%n\fP
.RS 4
Nadany przez jądro numer tego urządzenia\&. Na przykład \[Bq]sda3\[rq] ma
numer jądra 3\&.
.RE
.PP
\fB$devpath\fP, \fB%p\fP
.RS 4
Ścieżka (devpath) urządzenia\&.
.RE
.PP
\fB$id\fP, \fB%b\fP
.RS 4
Nazwa urządzenia dopasowanego przy szukaniu w górę ścieżki (devpath) przy
\fBSUBSYSTEMS\fP, \fBKERNELS\fP, \fBDRIVERS\fP i \fBATTRS\fP\&.
.RE
.PP
\fB$driver\fP
.RS 4
Nazwa sterownika dopasowanego przy szukaniu w górę ścieżki (devpath) przy
\fBSUBSYSTEMS\fP, \fBKERNELS\fP, \fBDRIVERS\fP i \fBATTRS\fP\&.
.RE
.PP
\fB$attr{\fP\fIplik\fP\fB}\fP, \fB%s{\fP\fIplik\fP\fB}\fP
.RS 4
Wartość atrybutu sysfs odnalezionego na urządzeniu, dla którego dopasowano
wszystkie klucze reguł\&. Jeśli pasujące urządzenie nie ma takiego atrybutu,
a wcześniejsze testy \fBKERNELS\fP, \fBSUBSYSTEMS\fP, \fBDRIVERS\fP lub \fBATTRS\fP
wybrały urządzenie nadrzędne, to stosowany jest atrybut z tego urządzenia
nadrzędnego\&.
.sp
Jeśli atrybutem jest dowiązanie symboliczne, jako wartość zwracany jest
ostatni element celu dowiązania symbolicznego\&.
.RE
.PP
\fB$env{\fP\fIklucz\fP\fB}\fP, \fB%E{\fP\fIklucz\fP\fB}\fP
.RS 4
Wartość właściwości urządzenia\&.
.RE
.PP
\fB$major\fP, \fB%M\fP
.RS 4
Główny numer urządzenia jądra dla tego urządzenia\&.
.RE
.PP
\fB$minor\fP, \fB%m\fP
.RS 4
Poboczny numer urządzenia jądra dla tego urządzenia\&.
.RE
.PP
\fB$result\fP, \fB%c\fP
.RS 4
Łańcuch zwracany przez program zewnętrzny zażądany za pomocą
\fIPROGRAM\fP\&. Można wybrać pojedynczą część łańcucha, rozdzieloną spacją,
podając numer tej części jako atrybut \[Bq]%c{N}\[rq]\&. Jeśli po liczbie
wystąpi znak \[Bq]+\[rq], to dołączana jest ta część wraz z wszystkimi
kolejnymi częściami łańcucha: "%c{N+}"\&.
.RE
.PP
\fB$parent\fP, \fB%P\fP
.RS 4
Nazwa węzła urządzenia nadrzędnego\&.
.RE
.PP
\fB$name\fP
.RS 4
Bieżąca nazwa urządzenia\&. Jeśli nie została zmieniona regułą, jest to
nazwa nadana przez jądro\&.
.RE
.PP
\fB$links\fP
.RS 4
Rozdzielona spacją lista bieżących dowiązań symbolicznych\&. Wartość jest
ustawiana tylko przy zdarzeniu usunięcia lub gdy wcześniejsza reguła
przypisała wartość\&.
.RE
.PP
\fB$root\fP, \fB%r\fP
.RS 4
Wartość udev_root\&.
.RE
.PP
\fB$sys\fP, \fB%S\fP
.RS 4
Punkt montowania sysfs\&.
.RE
.PP
\fB$devnode\fP, \fB%N\fP
.RS 4
Nazwa węzła urządzenia\&.
.RE
.PP
\fB%%\fP
.RS 4
Sam znak \[Bq]%\[rq]\&.
.RE
.PP
\fB$$\fP
.RS 4
Sam znak \[Bq]$\[rq]\&.
.RE
.SH "ZOBACZ TAKŻE"
.PP
\fBsystemd\-udevd.service\fP(8), \fBudevadm\fP(8), \fBsystemd.link\fP(5)
.SH UWAGI
.IP " 1." 4
Sekwencje specjalne w języku C (w języku angielskim)
.RS 4
\%https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences
.RE
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
