Provided by:
manpages-pl_20060617-1_all 
NAZWA
depmod - obsługa opisu zależności pomiędzy modułami jądra
SKŁADNIA
depmod -[aA] [-enqsvVru] [-C plikkofiguracyjny] [-F symbolejądra]
[-b katalogbazowy] [wymuszona_wersja]
depmod [-enqsvru] [-F symbolejądra] moduł1.o moduł2.o ...
OPCJE
-a Poszukuje modułów we wszystkich katalogach wymienionych w
(opcjonalnym) pliku kofiguracyjnym /etc/modules.conf.
-A Porównuje znaczniki czasowe plików i, jeśli trzeba, działa jak
depmod -a. Ta opcja aktualizuje zależności jedynie, gdy coś się
zmieniło.
-e Pokazuje wszystkie nierozwiązane symbole dla poszczególnych
modułów.
-n Wypisuje plik zależności na standardowe wyjście, zamiast do
drzewa /lib/modules.
-s Wypisuje komunikaty o błędach za pośrednictwem demona syslog,
zamiast na standardową diagnostykę.
-v Wypisuje nazwy poszczególnych modułów podczas ich przetwarzania.
-q Każe depmodowi zamilknąć i nie narzekać na brakujące symbole.
-V Wypisuje numer wersji programu depmod
-r Niektórzy użytkownicy kompilują moduły jako użytkownik inny niż
root, a następnie instalują je jako root. W wyniku tego
właścicielem modułów nie będzie root, nawet jeśli jest on
właścicielem katalogu modułów. Jeśli dopuści się innego
użytkownika niż root jako właściciela modułów, umożliwi się
nieproszonemu gościowi nadpisanie istniejących modułów będących
własnością tego użytkownika i wykorzystanie załadowania go do
uzyskania uprawnień roota.
Domyślnie, modutils odrzucą próbę załadowania modułu nie
należącego do root-a. Podanie -r zniesie błąd i pozwoli root-owi
załadować moduły, które nie są jego własnością.
Używanie -r jest poważnym naruszeniem bezpieczeństwa i nie jest
zalecane.
-u depmod 2.4 nie ustawia kodu powrotu, gdy występują nierozwiązane
symbole. Następna główna wersja modutils (2.5) będzie to robić.
Niektóre dystrybucje wymagają niezerowego kodu powrotu przy
nierozwiązanych symbolach, ale taka zmiana mogłaby spowodować
problemy u użytkowników oczekujących starego zachowania. Jeśli
niezerowy kodu powrotu jest potrzebny w depmod 2.4, należy podać
-u. depmod 2.5 będzie milcząco ignorować flagę -u i będzie
zawsze zwracać niezerowy kodu powrotu przy nierozwiązanych
symbolach.
Następujące opcje są przydatne dla osób zarządzających dystrybucjami:
-b katalogbazowy
Jeśli drzewo katalogów /lib/modules zawierające poddrzewa
modułów zostanie przeniesione gdzie indziej, aby obsługiwać
moduły w innym środowisku, opcja katalogbazowy mówi depmodowi,
gdzie szukać przeniesionego obrazu drzewa /lib/modules.
Odwołania do plików w pliku wynikowym depmoda, modules.dep,
który zostanie utworzony nie będą zawierać ścieżki
katalogbazowy. Oznacza to, że gdy drzewo plików zostanie
przeniesione z powrotem z katalogbazowy/lib/modules do
/lib/modules w ostatecznej dystrybucji, wszystkie odwołania będą
poprawne.
-C plikkofiguracyjny
Każe korzystać z pliku plikkofiguracyjny zamiast
/etc/modules.conf.
Do wybrania innego pliku konfiguracyjnego niż domyślny
/etc/modules.conf (lub /etc/conf.modules (przestarzałe)) można
również wykorzystać zmienną środowiska MODULECONF.
-F symbolejdra
Podczas budowania pliku zależności dla innego jądra niż
aktualnie działąjące ważne jest, aby depmod korzystał z
właściwego zbioru symboli jądraa przy rozwiązywaniu odwołań do
jądra z poszczególnych modułów. Symbole te mogą być kopią albo
kopią pliku System.map z właściwego jądra, albo kopią zawartości
/proc/ksyms. Jeśli jądro używa a wersjonowanych symboli,
najlepiej korzystać z kopii zawartości /proc/ksyms, gdyż plik
ten zawiera wersje symboli jądra. Jednakże, nawet z
wersjonowanymi symbolami, można używać System.map.
OPIS
Programy narzędziowe depmod i modprobe służą do zarządzania
zmodularyzowanym jądrem Linuksa przez zwykłych użytkowników,
administratorów i twórców dystrybucji.
depmod tworzy podobny do "Makefile" plik z zależnościami, oparty na
symbolach, które znajdzie w zbiorze modułów podanych w linii poleceń
lub w katalogach wymienionych w pliku konfiguracyjnym. Plik zależności
może być potem wykorzystany przez modprobe w celu automatycznego
ładowania odpowiednich modułów lub zestawów modułów.
Typowe użycie depmod polega na umieszczeniu linii /sbin/depmod -a
gdzieś w skryptach startowych w /etc/rc.d tak, aby odpowiednie
powiązania modułów były dostępne zaraz po uruchomieniu się systemu.
Należy zauważyć, że parametr -a jest obecnie opcjonalny. Dla
stosowania podczas startu systemu opcja -q może być bardziej właściwa,
gdyż wycisza ona depmoda w kwestii nierozwiązanych symboli.
Istnieje także możliwość utworzenia pliku zależności zaraz po
skompilowaniu nowego jądra. Wydanie polecenia "depmod -a 2.2.99" po
wcześniejszej kompilacji jądra 2.2.99 i jego modułów po raz pierwszy,
używając wciąż jądra 2.2.98, spowoduje utworzenie pliku we właściwym
miejscu. Jednakże w tym przypadku, wygenerowane zależności mogą nie
być poprawne. Zobacz opis opcji -F, -C i -b powyżej aby uzyskać więcej
informacji na temat obsługi tej sytuacji.
Podczas tworzenia związków pomiędzy modułami i symbolami udostępnionymi
przez inne moduły depmod nie bierze pod uwagę stosunku modułu lub
udostępnionych syboli do licencji GPL. To znaczy, depmod nie zgłosi
błędu jeśli moduł na licencji niezgodnej z GPL będzie się odwoływać to
symboli zastrzeżonych dla GPL (EXPORT_SYMBOL_GPL w jądrze). Jednakże,
insmod odmówi rozwiązania symboli zastrzeżonych dla GPL dla modułów
nie-GPL, więc modułu nie uda się załadować.
KONFIGURACJA
Zachowanie się depmod i modprobe może być dostosowane przez
(opcjonalny) plik konfiguracyjny /etc/modules.conf.
Zajrzyj do modprobe(8) i modules.conf(5) po pełny opis.
STRATEGIA
Za każdym razem podczas kompilacji nowego jądra, polecenie make
modules_install stworzy nowy katalog, ale nie zmieni katalogu
domyślnego.
Kiedy otrzyma się moduł nie związany z konkretnym jądrem należy go
umieścić w jednym z katalogów nie zależnych od wersji jądra w
/lib/modules.
Takie jest standardowe zachowanie, które jednakże może być zmienione
poprzez odpowiednie wpisy do /etc/modules.conf.
PLIKI
/etc/modules.conf (alternatywnie, przestarzały /etc/conf.modules)
/lib/modules/*/modules.dep,
/lib/modules/*
ZOBACZ TAKŻE
modules.conf(5), modprobe(8), modinfo(8), lsmod(8), ksyms(8)
AUTOR
Jacques Gelinas (jack@solucorp.qc.ca)
Bjorn Ekwall (bj0rn@blox.se)