Samouczek Debian Modprobe

Samouczek Debian Modprobe
Moduły to kawałek kodu, który rozszerza funkcjonalność jądra Linux. Moduł w Linux jest również znany jako moduł jądra Linux. Najlepszą rzeczą w modułach w Linux jest to, że można je dodać lub usunąć w locie. Oznacza to, że możesz dodawać lub usuwać moduły w Linux bez konieczności ponownego uruchomienia komputera.

Istnieją moduły dla sprzętu graficznego (GPU), różnych systemów plików (takie jak Ext4, ZFS, BTRFS), HardWares Network, wyświetlacza, klawiatury i różnych urządzeń wejściowych i wiele innych.

W tym artykule pokażę ci, jak używać modprobe Aby zarządzać modułami jądra w dystrybucji Debian GNU/Linux. Zamierzam użyć debiana 9 odcinka do demonstracji. Ale powinien działać na dowolnej wersji Debian GNU/Linux. Więc zacznijmy.

Direktorę domyślnych modułów:

Wszystkie moduły w Debian są przechowywane /lib/modules/$ (uname -r) informator.

Moduły jądra są przechowywane w jądrze podrzędnym/. Moduły jądra są przechowywane w modułowej hierarchicznej kolejności, jak widać na zrzucie ekranu poniżej.

$ ls/lib/modules/$ (uname -r)/jądro

Wymień wszystkie dostępne moduły jądra:

Możesz wymienić wszystkie moduły jądra w ładnie sformatowanej strukturze drzewa za pomocą następującego polecenia:

$ Tree/lib/modules/$ (uname -r)/jądro

NOTATKA: Polecenie drzewa nie jest domyślnie zainstalowane. Będziesz musiał zainstalować go ręcznie sudo apt instal drzewo

Jak widać, katalogi i moduły jądra są wymienione jako drzewo.

To bardzo długa lista. Możesz również przekazać go pagerowi, takim jak mniej następujące, aby ułatwić nawigację za pośrednictwem listy:

$ Tree/lib/modules/$ (uname -r)/jądro | mniej

Teraz możesz nacisnąć I Klucze strzałek do nawigacji po liście.

Możesz wyszukać moduły w mniejszym pagera. Po prostu naciśnij / i wpisz swoje słowo kluczowe wyszukiwania.

Teraz naciśnij a Twoje wyniki wyszukiwania powinny być wyświetlane, jak widać w zaznaczonej sekcji zrzutu ekranu poniżej.

Możesz także nacisnąć N I P Aby przejść odpowiednio do następnego wyniku lub poprzedniego wyniku.

Aby wyjść z pagera, naciśnij Q.

Wymień wszystkie moduły załadowane jądro:

Możesz wymienić wszystkie moduły jądra, które są używane przez Twój system operacyjny Debiana za pomocą następującego polecenia:

$ lsmod

To długa lista. Na Moduł kolumna (1), możesz zobaczyć nazwę modułu jądra, na Rozmiar kolumna (2), możesz zobaczyć rozmiar modułu jądra w bajtach.

Używane przez Kolumna (3) jest interesująca. Ta kolumna zaczyna się od liczby i opcjonalnie oddzielonej przecinki nazwy modułów.

Liczba określa, ile modułów zależy od tego modułu. Jeśli jest to 0, to oznacza, że ​​żadne inne moduły nie zależą od tego modułu. Na przykład pppdev moduł nie jest używany przez żaden inny moduł. Dzięki czemu możesz bezpiecznie usunąć lub dodać pppdev Moduł jądra w dowolnym momencie.

Jeśli jest to coś innego niż 0, wówczas wiele innych modułów zależy od tego modułu. Na przykład 2 inne moduły zależą od snd_pcm moduł, jak widać w zaznaczonej sekcji zrzutu ekranu poniżej. Więc nie możesz usunąć snd_pcm moduł, chyba że usuniesz moduły zależne od tego modułu. W tym przypadku snd_ac97_codec I Snd_ens1371 Moduły należy usunąć, aby usunąć snd_pcm moduł.

Uzyskanie informacji o określonym module jądra:

Teraz, gdy wiesz, jak wymienić wszystkie dostępne moduły jądra i moduły załadowane. W tej sekcji pokażę Ci, jak uzyskać informacje o dowolnym module jądra.

W Debian możesz użyć Modinfo polecenie, aby uzyskać informacje o dowolnym module.

Na przykład, aby uzyskać informacje o snd_pcm Moduł, który widzieliśmy wcześniej, uruchom następujące polecenie:

$ sudo modinfo snd_pcm

Jak widać, ścieżka pliku modułu, licencja, krótki opis modułu snd_pcm, moduły snd_pcm zależy od i wymieniono inne informacje.

Są to niezbędne fragmenty informacji, które musisz znać, aby pracować z modułami na Deban. Na przykład, jeśli chcesz włączyć snd_pcm moduł, wtedy musisz również umożliwić Snd I snd-timer moduły, zanim to zrobisz. Jak snd_pcm zależy od Snd I snd-timer. W przeciwnym razie nie zadziała.

Ładowanie nowego modułu jądra za pomocą modprobe:

Możesz załadować nowe moduły jądra za pomocą modprobe Komenda. Powiedzmy na przykład, chcesz włączyć Btrfs Moduł jądra systemu plików.

Najpierw sprawdź, jakie moduły Btrfs Moduły jądra zależą od Modinfo następująco:

$ sudo modinfo btrfs

Jak widać, Btrfs Moduł jądra zależy od RAID6_PG I Xor Moduły jądra.

Sprawdźmy, czy są one włączone w następujący sposób:

$ lsmod | Grep Raid6
$ lsmod | GREP XOR

Jak widać, żaden z modułów nie jest ładowany.

Teraz uruchom następujące polecenia, aby załadować RAID6_PQ I Xor Moduły jądra:

$ sudo modprobe raid6_pq
$ sudo modprobe xor

Teraz sprawdźmy, czy moduły jądra zależności są ponownie ładowane:

$ lsmod | Grep Raid6
$ lsmod | GREP XOR

Jak widać, moduły jądra są ładowane.

Teraz możesz załadować Btrfs Moduł jądra z następującym poleceniem:

$ sudo modprobe btrfs

Teraz sprawdźmy, czy Btrfs Moduł jądra jest ładowana następującym poleceniem:

$ lsmod | GREP BTRFS

Jak widać, Btrfs Moduł jądra jest ładowany i zależy od RAID6_PQ i Xor Moduły jądra.

Większość czasu modprobe polecenie rozwiązuje dla Ciebie zależności automatycznie. Ale pokazałem ci, jak to zrobić ręcznie, ponieważ czasami może to zrobić w ten sposób. Najlepiej wiedzieć, jak rozwiązać problem, ponieważ może być kiedyś z nim poradzić.

Usuwanie modułów za pomocą modprobe:

Możesz także usunąć moduły za pomocą modprobe Komenda. Jeśli żadne inne moduły nie zależą od modułu, który chcesz usunąć, proces jest prosty.

Na przykład, aby usunąć Btrfs Moduł, który załadowałem wcześniej, uruchom następujące polecenie:

$ sudo modprobe -r btrfs

Moduł należy usunąć.

Jeśli inne moduły zależą od modułu, który chcesz usunąć, musisz najpierw usunąć te moduły, zanim zdejmujesz żądany moduł.

To w zasadzie wszystko, co musisz wiedzieć o zarządzaniu modułami jądra na Debian. Dziękujemy za przeczytanie tego artykułu.