Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
5 Der Kernel
6 Die Grundlagen aus Anwendersicht
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP
20 DNS-Server
21 Secure Shell
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in die Sicherheit
33 Netzwerksicherheit überwachen
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Die Buch-DVDs
F Glossar
G Literatur
Stichwort

Download:
- ZIP, ca. 15,7 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Pl&ouml;tner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
geb., mit 2 DVDs
1302 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1704-0
Pfeil 14 Grundlegende Verwaltungsaufgaben
  Pfeil 14.1 Rechteverwaltung
    Pfeil 14.1.1 chmod
    Pfeil 14.1.2 chown
    Pfeil 14.1.3 Erweiterte Rechte
    Pfeil 14.1.4 umask
    Pfeil 14.1.5 Access Control Lists
  Pfeil 14.2 Softwareinstallation
    Pfeil 14.2.1 Paketverwaltung und Ports
    Pfeil 14.2.2 APT – Advanced Packaging Tool
    Pfeil 14.2.3 Pakete in Handarbeit: dpkg und rpm
    Pfeil 14.2.4 .tgz Packages unter Slackware
    Pfeil 14.2.5 Das Gentoo Portage System
    Pfeil 14.2.6 BSD-Ports
    Pfeil 14.2.7 Softwareinstallation ohne Pakete
  Pfeil 14.3 Tätigkeiten automatisieren
    Pfeil 14.3.1 Skripts
    Pfeil 14.3.2 Cronjobs
    Pfeil 14.3.3 Punktgenau mit »at«
  Pfeil 14.4 Logging
    Pfeil 14.4.1 Die Logdateien
    Pfeil 14.4.2 Der syslogd
    Pfeil 14.4.3 logrotate
    Pfeil 14.4.4 logcheck
  Pfeil 14.5 Dateisystemverwaltung
    Pfeil 14.5.1 Die /etc/fstab
    Pfeil 14.5.2 Das Tool »mount«
    Pfeil 14.5.3 Platz beschränken: Quotas
    Pfeil 14.5.4 du und df
    Pfeil 14.5.5 SoftRAID und LVM
    Pfeil 14.5.6 Backups, Archive
  Pfeil 14.6 Kernel kompilieren
    Pfeil 14.6.1 Die Kernel-Quellen besorgen
    Pfeil 14.6.2 Die Konfiguration
    Pfeil 14.6.3 Den Kernel übersetzen
    Pfeil 14.6.4 Den Bootloader anpassen
    Pfeil 14.6.5 BSD-Kernel kompilieren
  Pfeil 14.7 Kernelmodule verwalten
    Pfeil 14.7.1 modprobe
    Pfeil 14.7.2 lsmod
    Pfeil 14.7.3 insmod und rmmod
    Pfeil 14.7.4 /etc/modules
    Pfeil 14.7.5 modconf
  Pfeil 14.8 Linux' SysRq
    Pfeil 14.8.1 Aktivierung von SysRq
    Pfeil 14.8.2 Tastenkombinationen
  Pfeil 14.9 Lokalisierung
    Pfeil 14.9.1 Die Tastaturbelegung
    Pfeil 14.9.2 Die deutsche Sprache
    Pfeil 14.9.3 Das Einstellen der Uhr
    Pfeil 14.9.4 Texte von anderen Plattformen
  Pfeil 14.10 Zusammenfassung
  Pfeil 14.11 Aufgaben


Galileo Computing - Zum Seitenanfang

14.7 Kernelmodule verwalten  Zur nächsten ÜberschriftZur vorigen Überschrift

Abbildung Tux

Wir wollen uns nun der Frage widmen, wie man unter Linux Kernel-Module und damit Treiber für bestimmte Hardware laden und wieder loswerden kann. Notwendig dafür ist der entsprechende Support im Kernel. Ist dieser vorhanden, so sind die jeweils verfügbaren Kernel-Module im Verzeichnis /lib/modules/<Kernel-Version> zu finden. Welchen Kernel man gerade gebootet hat, kann man mit dem uname-Tool erfahren:

# uname -a
Linux steffenmobile 2.6.31-20-generic #58-Ubuntu SMP Fri Mar
12 05:23:09 UTC 2010 i686 GNU/Linux

Listing 14.103  Kernel-Version mit uname ermitteln

Das Verzeichnis /lib/modules/2.6.31-20-generic enthält also die zum verwendeten Kernel gehörigen Kernelmodule.


Galileo Computing - Zum Seitenanfang

14.7.1 modprobe  Zur nächsten ÜberschriftZur vorigen Überschrift

Möchte man ein Modul zur Laufzeit in den Kernel laden, so ist in der Regel modprobe das Tool der Wahl. Man übergibt dem Tool nur den Namen des Moduls, und modprobe lädt die entsprechende Moduldatei samt eventuell vorhandener Abhängigkeiten.

Automatische Abhängigkeiten

Um diese Abhängigkeiten auflösen zu können, greift modprobe auf die modules.dep-Datei im entsprechenden Verzeichnis unter /lib/modules/<Kernel-Version> zu. Diese Datei wird nun in der Regel während des Bootens von depmod erstellt. Dazu durchsucht depmod das gesamte Verzeichnis und löst alle Referenzen und damit alle Abhängigkeiten der Module untereinander auf.

Sehen Sie sich die entsprechende modules.dep-Datei auf Ihrem Rechner ruhig einmal an. Das folgende Listing enthält einen Auszug aus der entsprechenden Datei eines unserer Notebooks. Sie sehen in jeder Zeile ein Modul und hinter dem Doppelpunkt eine Liste von Modulen, von denen das jeweilige Modul abhängt. Diese Liste kann auch leer sein, wenn keine Abhängigkeiten bestehen (in diesem Fall endet nach dem Doppelpunkt die Zeile).

kernel/drivers/staging/cpc-usb/cpc-usb.ko:
kernel/drivers/staging/pata_rdc/pata_rdc.ko:
kernel/drivers/staging/udlfb/udlfb.ko:
kernel/drivers/platform/x86/asus-laptop.ko: kernel/drivers/
leds/led-class.ko
kernel/drivers/platform/x86/eeepc-laptop.ko:
kernel/drivers/platform/x86/msi-laptop.ko:
kernel/drivers/platform/x86/compal-laptop.ko:
kernel/drivers/platform/x86/dell-laptop.ko: kernel/drivers/
firmware/dcdbas.ko
kernel/drivers/platform/x86/dell-wmi.ko:
kernel/drivers/platform/x86/acer-wmi.ko: kernel/drivers/
leds/led-class.ko
kernel/drivers/platform/x86/acerhdf.ko:
kernel/drivers/platform/x86/hp-wmi.ko:
kernel/drivers/platform/x86/tc1100-wmi.ko:
kernel/drivers/platform/x86/sony-laptop.ko:

Listing 14.104  Auszug einer modules.dep-Datei

Mit dem Parameter -r kann man Module auch wieder aus dem Kernel entfernen. Dabei versucht modprobe, rekursiv ebenfalls alle nicht weiter benötigten Module zu löschen, von denen das auf der Kommandozeile angegebene Modul abhängt.


Galileo Computing - Zum Seitenanfang

14.7.2 lsmod  Zur nächsten ÜberschriftZur vorigen Überschrift

Geladene Module anzeigen

Möchten Sie sich alle geladenen Module anzeigen lassen, so hilft Ihnen das Tool lsmod weiter. Die Ausgabe des Tools umfasst alle geladenen Module, ihre Größe sowie die von diesem Modul jeweils abhängigen Module.

# lsmod
Module                  Size  Used by
...
dell_laptop             8128  0
dcdbas                  7292  1 dell_laptop

Listing 14.105  lsmod

In diesem Beispiel sehen Sie, dass der Treiber für Dell-Laptops dell_laptop das Kernelmodul dcdbas benötigt (vergleichen Sie dazu den obigen Auszug aus der Datei modules.dep in Listing 14.104, die genau diese Abhängigkeit enthält). Möchte man mehr Informationen über ein bestimmtes Modul, kann man auf das Tool modinfo zurückgreifen:

$ modinfo dcdbas
filename:       /lib/modules/2.6.31-20-generic/kernel/drivers/
firmware/dcdbas.ko
alias:          dmi:*:[bs]vnD[Ee][Ll][Ll]*:*
license:        GPL
author:         Dell Inc.
version:        5.6.0-3.2
description:    Dell Systems Management Base Driver (version
5.6.0-3.2)
srcversion:     69CF3C336BF107F5812D0B9
depends:
vermagic:       2.6.31-20-generic SMP mod_unload modversions
586
$ modinfo dell_laptop
filename:       /lib/modules/2.6.31-20-generic/kernel/drivers/
platform/x86/dell-laptop.ko
alias:          dmi:*svnDellInc.:*:ct8:*
license:        GPL
description:    Dell laptop driver
author:         Matthew Garrett <mjg@redhat.com>
srcversion:     9739006FA71D2495175583A
depends:        dcdbas

Listing 14.106  modinfo


Galileo Computing - Zum Seitenanfang

14.7.3 insmod und rmmod  Zur nächsten ÜberschriftZur vorigen Überschrift

Weniger clever [Das sagt sogar die Manpage: »Most users will want to use modprobe(8) instead, which is cleverer.«] als modprobe sind die Tools insmod und rmmod. Beiden Tools ist gemeinsam, dass sie keine Abhängigkeiten zwischen unterschiedlichen Modulen berücksichtigen können. Bei insmod ist es sogar notwendig, den genauen Dateinamen statt des kürzeren Modulnamens anzugeben.

Wir wollten diese beiden Tools nur einmal erwähnt haben; näher ausführen werden wir ihre Benutzung nicht. Nutzen Sie lieber modprobe, das die Aufrufe von insmod beziehungsweise rmmod vor Ihnen als Benutzer versteckt.


Galileo Computing - Zum Seitenanfang

14.7.4 /etc/modules & Co.  Zur nächsten ÜberschriftZur vorigen Überschrift

Nun bleiben natürlich noch ein paar Fragen offen, beispielsweise wann und wie man Module schon zur Bootzeit laden kann. Dies wird auf den verschiedenen Distributionen leider recht unterschiedlich gelöst, nutzen Sie daher im Zweifelsfall lieber die distributionseigenen Tools.

Wenn Sie jedoch per Hand etwas editieren möchten oder müssen, schauen Sie einfach mal im /etc-Verzeichnis nach Dateien, deren Name den String mod beinhaltet:

$ ls -l /etc | grep mod
drwxr-xr-x  2 root root 4096 2010-02-03 12:54 modprobe.d
-rw-r--r--  1 root root  202 2010-01-29 21:30 modules

Listing 14.107  Durchforsten des /etc-Verzeichnisses

modules, modprobe.conf und modprobe.d

Auf diesem System gibt es also die Datei modules und das Verzeichnis modprobe.d (manchmal wird statt dieses Verzeichnisses auch eine Datei namens modprobe.conf verwendet). Bei näherem Betrachten der Kommentare am Anfang der Dateien erschließt sich auch gleich deren Zweck:

$ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel
# modules that are to be loaded at boot time, one
# per line. Comments begin with a "#", and
# everything on the line after them are ignored.
lp
rtc

Listing 14.108  Die /etc/modules

Hier kann man leicht sehen, dass einfach nur die beim Booten zu ladenden Modulnamen angegeben werden müssen.

Natürlich haben Module auch untereinander Abhängigkeiten, die manchmal aufgrund von Namenskonflikten nicht aufgelöst werden können, oder Sie möchten nach bzw. vor dem Laden bestimmter Module Skripte oder andere Aktionen ausführen. In diesem Fall hilft die modprobe.conf bzw. das Verzeichnis modprobe.d weiter:

$ ls /etc/modprobe.d
alsa-base.conf
blacklist-ath_pci.conf
blacklist.conf
blacklist-firewire.conf
blacklist-framebuffer.conf
blacklist-modem.conf
blacklist-oss.conf
blacklist-watchdog.conf
dkms.conf
libpisock9.conf
nvidia-kernel-nkc.conf

Listing 14.109  Das Verzeichnis /etc/modprobe.d

Es handelt sich bei all diesen Dateien um typische Textdateien. Im Folgenden sind die dafür möglichen Befehle beschrieben:

  • alias Name1 Name2
    Der Befehl alias definiert einen Ersatznamen Name1 für das Modul, das über Name2 angegeben wurde. Mit alias lassen sich etwa Kurznamen für sehr lange Modulnamen definieren: alias Kurz LaaaaaangerNaaaaame.
  • options Modul Optionen
    Beim Laden eines Moduls (etwa via modprobe) können Parameter übergeben werden, die Sie über den options-Befehl festlegen.
  • install Ladebefehl
    Dieser Befehl ermöglicht es Ihnen, einen bestimmten Shellbefehl beim Laden des Kernelmoduls über modprobe ausführen zu lassen, anstatt das Modul auf dem Standardweg automatisch zu laden.
  • remove Befehl
    Wenn Sie mit modprobe -r ein Modul aus dem Kernel entfernen und Sie für dieses Modul einen remove-Befehl angelegt haben, wird der dort angegebene Befehl ausgeführt.
  • include Datei
    Ähnlich wie in diversen Programmiersprachen können Sie über den include-Befehl Dateiinhalte und sogar ganze Verzeichnisinhalte in Ihre Konfigurationsdatei einbinden.
  • blacklist Modul
    Um zu verhindern, dass ein Modul automatisch geladen wird, können Sie den Befehl blacklist verwenden.

Galileo Computing - Zum Seitenanfang

14.7.5 modconf  topZur vorigen Überschrift

Der Weg, den Debian sowie seine Ableger Ubuntu und Co. bei der Konfiguration der Module gehen, ist etwas anders. Dort müssen Sie die Dateien wie /etc/modules nicht unbedingt direkt editieren, sondern können stattdessen das Tool modconf benutzen. Wählen Sie die Module aus den entsprechenden Kategorien aus und erkennen dort auch deren Status. Die Bedienung selbst ist dabei intuitiv: Sie erfolgt durch die Cursortasten sowie Enter.

Das Tool macht letztendlich natürlich auch nichts anderes, als die eben genannten Dateien zu editieren. Aber durch die Oberfläche finden Sie passende Module schneller, und zudem werden Tippfehler vermieden.

Abbildung 14.6  modconf



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Linux, Ausgabe 2011






Linux, Ausgabe 2011
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux-Server






 Linux-Server


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: openSUSE 11.2






 openSUSE 11.2


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de