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

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

Spacer
Linux von Johannes Plötner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
Rheinwerk Computing
1282 S., 5., aktualisierte Auflage 2012, geb., mit 2 DVDs
49,90 Euro, ISBN 978-3-8362-1822-1
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 Das Slackware-Paketsystem
Pfeil 14.2.5 Gentoo Portage
Pfeil 14.2.6 BSD-Ports
Pfeil 14.2.7 Softwareinstallation ohne Pakete
Pfeil 14.3 Tätigkeiten automatisieren
Pfeil 14.3.1 Skripte & Co.
Pfeil 14.3.2 Cronjobs
Pfeil 14.3.3 Punktgenau mit »at«
Pfeil 14.4 Logging
Pfeil 14.4.1 Logdateien
Pfeil 14.4.2 syslogd
Pfeil 14.4.3 logrotate
Pfeil 14.4.4 logcheck
Pfeil 14.5 Dateisystemverwaltung
Pfeil 14.5.1 /etc/fstab
Pfeil 14.5.2 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 & Co.
Pfeil 14.6 Kernel kompilieren
Pfeil 14.6.1 Kernel-Quellen besorgen
Pfeil 14.6.2 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 und Co.
Pfeil 14.7.5 modconf
Pfeil 14.8 Magic SysRq
Pfeil 14.8.1 Aktivierung von SysRq
Pfeil 14.8.2 Tastenkombinationen
Pfeil 14.9 Lokalisierung
Pfeil 14.9.1 Tastaturbelegung
Pfeil 14.9.2 Deutsche Sprache
Pfeil 14.9.3 Einstellen der Uhr
Pfeil 14.9.4 Texte von anderen Plattformen
Pfeil 14.10 Zusammenfassung
Pfeil 14.11 Aufgaben

Rheinwerk Computing - Zum Seitenanfang

14.7 Kernelmodule verwaltenZur nächsten Überschrift

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 Module im Verzeichnis /lib/modules/<Kernel-Version> zu finden. Welchen Kernel man gerade gebootet hat, kann man mit dem uname-Tool erfahren:

Listing 14.101 Kernel-Version mit uname ermitteln

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

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


Rheinwerk Computing - Zum Seitenanfang

14.7.1 modprobeZur 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 ihm nur den Namen des Moduls, und es 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 wird 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 den Dateinamen eines Moduls und hinter dem Doppelpunkt eine Liste anderer Module, von denen es abhängt. Die Liste kann auch leer sein, wenn keine Abhängigkeiten bestehen (in diesem Fall endet die Zeile nach dem Doppelpunkt).

Listing 14.102 Auszug einer modules.dep-Datei

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:

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 entladen, von denen das auf der Kommandozeile angegebene Modul abhängt.


Rheinwerk Computing - Zum Seitenanfang

14.7.2 lsmodZur nächsten ÜberschriftZur vorigen Überschrift

Geladene Module anzeigen

Möchten Sie sich alle geladenen Module anzeigen lassen, so hilft Ihnen das Tool lsmod weiter. Seine Ausgabe nennt alle geladenen Module, ihre Größe sowie die von ihnen jeweils abhängigen anderen Module.

Listing 14.103 lsmod

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

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 modules.depAuszug, die genau diese Abhängigkeit enthält). Möchte man mehr Informationen über ein bestimmtes Modul, kann man auf das Tool modinfo zurückgreifen:

Listing 14.104 modinfo

$ 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

Rheinwerk Computing - Zum Seitenanfang

14.7.3 insmod und rmmodZur nächsten ÜberschriftZur vorigen Überschrift

Weniger clever [Fn. 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 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.


Rheinwerk Computing - Zum Seitenanfang

14.7.4 /etc/modules und 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 im Verzeichnis /etc nach Dateien, deren Name den String mod enthält:

Listing 14.105 Durchforsten des /etc-Verzeichnisses

$ 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

modules, modprobe.conf und modprobe.d

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

Listing 14.106 Die /etc/modules

$ 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

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 helfen modprobe.conf bzw. modprobe.d weiter:

Listing 14.107 Das Verzeichnis /etc/modprobe.d

$ 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

Es handelt sich bei all diesen Dateien um typische Textdateien. Im Folgenden sind die darin 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 eine remove-Direktive angelegt haben, wird der dort angegebene Befehl ausgeführt.
  • include Datei
    Ähnlich wie in diversen Programmiersprachen können Sie über den include-Befehl Datei-Inhalte 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.

Rheinwerk Computing - Zum Seitenanfang

14.7.5 modconfZur vorigen Überschrift

Der Weg, den Debian sowie seine Ableger Ubuntu und Co. bei der Konfiguration von Modulen 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. Sie wählen darin die Module aus den entsprechenden Kategorien aus und erkennen dort auch deren Status. Die Bedienung selbst ist intuitiv: Sie erfolgt durch die Cursortasten sowie Enter.

Abbildung

Abbildung 14.6 modconf

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.



Ihr Kommentar

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

>> Zum Feedback-Formular
<< zurück
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux Handbuch






 Linux Handbuch


Zum Katalog: Linux Server






 Linux Server


Zum Katalog: Raspberry Pi






 Raspberry Pi


Zum Katalog: Ubuntu 14.04 LTS






 Ubuntu 14.04 LTS


Zum Katalog: Roboter bauen mit Arduino






 Roboter bauen
 mit Arduino


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2012
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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de