Fernsehdoktor und Kernprobleme
Dr. Linux
Modulare Probleme
Ich bekomme immer die Fehlermeldung
modprobe: Couldn't find module char-major-108
Leider weiß ich nicht, wie ich die Fehlerbehebung angehen soll, denn mir ist nicht bekannt, was char-major-Ziffer überhaupt bedeuten soll. Gibt es irgendwo eine Übersicht darüber?
Dr. Linux: So eine Meldung tritt u. a. gern nach einem System-Crash oder nach einem fehlerhaften Update beim Booten und bei Programmaufrufen auf. Die angegebene besagt, dass das Kernel-Modul für PPP (Point to Point Protocol) nicht gefunden und deshalb nicht geladen wurde.
Die Dokumentation hierzu befindet sich in der Datei /usr/src/linux/Documentation/devices.txt und gehört zur Kernel-Dokumentation. Diese ist auf Ihrem System nur vorhanden, wenn Sie die Sourcen des Kernels auf Ihrem System installiert haben. Da diese sehr umfangreich sind, werden sie bei einer Standard-Installation meist nicht automatisch im System abgelegt.
Die Kernel-Sourcen für Ihr aktuelles System befinden sich bei den bekannten Distributionen auf dem Installationsmedium. Von dort können sie je nach System mit YaST (SuSE), gnorpm, rpm oder apt-get (Debian) nachinstalliert werden. Im Internet finden Sie als tar.gz oder tar.bz2 gepackte Kernel-Archive u. a. unter http://www.kernel.org/.
Wer sich keine Sorgen um Onlinezeiten machen muss, kann die neueste Version der Dokumentation auch auf der Web-Seite http://www.kernel.org/pub/linux/docs/device-list/devices.txt nachlesen. Per FTP lässt sie sich auch separat ( ftp://ftp.kernel.org/pub/linux/docs/device-list/) herunterladen.
Die Datei devices.txt führt auf, welches Gerät sich hinter einer bestimmten Nummer versteckt. Das Dokument ist englischsprachig, aber dank seiner Listenform sehr übersichtlich.
Hinter der Nummer in der ersten Spalte ist der Typ aufgeführt: char steht für Character-Devices und block für die Block-Devices.
Listing 2
Ins Deutsche übersetzter Auszug aus der Datei
devices.txt[…]
108 char Geräteunabhängige PPP-Schnittstelle
0 = /dev/ppp Geräteunabhängige PPP-Schnittstelle
block Compaq Next Generation Drive Array, fünfter Controller
0 = /dev/cciss/c4d0 Erstes logisches Laufwerk, ganze Diskette
16 = /dev/cciss/c4d1 Zweites logisches Laufwerk, ganze Diskette[…]
240 =/dev/cciss/c4d15 16tes logisches Laufwerk, ganze Diskette
Die Partitionen werden wie Mylex DAC960 behandelt
(siehe Major-Nummer 48), wenn man von der Obergrenze von 15
möglichen Partitionen absieht.[…]
Geduld ist mein zweiter Vorname
Es kommt gelegentlich vor, dass ich mich bei der Passwort-Eingabe vertippe. Dann dauert es viel zu lange, bis ein neuer Login-Prompt erscheint. Kann diese Wartezeit verkürzt werden?
Dr. Linux: Bei Systemen, die ein hohes Maß an Sicherheit bieten wollen, kann der Timeout bis zum nächsten Login-Prompt schon sehr lang sein. Die Zeit, die ein Bösewicht benötigt, um verschiedene Passworte auszuprobieren, steigt damit erheblich an.
Wie hoch das Sicherheitsbedürfnis für einen bestimmten Rechner ist, bestimmt der Superuser. In der Datei /etc/login.defs schreibt die Zeile
FAIL_DELAY Ziffer
fest, wieviele Sekunden die Pause zwischen zwei Login-Versuchen lang sein soll.
Allerdings hilft auch der längste Timeout nichts gegen Benutzer, die ein Passwort verwenden, das einfach zu erraten ist bzw. auf einem Zettelchen am Monitor klebt…
Glossar
Shared Libraries zu Deutsch gemeinsam genutzte Bibliotheken enthalten Standardfunktionen, die von vielen Programmen benutzt werden, z. B. für die Bildschirmausgabe. Sie werden einmal geladen, wenn ein Binärprogramm sie benötigt, und können dann auch von anderen Programmen benutzt werden.
auskommentieren
In Skripten und vielen Konfigurationsdateien besteht die Möglichkeit, Zeilen vom einlesenden Programm ignorieren zu lassen, indem das Zeichen # an den Anfang einer Zeile gesetzt wird. Damit können Sie Erklärungen in eine Datei einzufügen, ohne dass ihre Funktion beeinträchtigt wird. Diese Zusatzinformationen bleiben weiterhin für den Menschen sichtbar, werden bei der "maschinellen" Auswertung der Datei aber ignoriert.
Modul
Ein Treiber, der erst bei Bedarf in einen (modularisierten) Kernel geladen wird. Der Vorteil eines solchen Kernels im Gegensatz zum monolithischen Kernel, der alle Treiber fest eingebunden hat, ist, dass nur benötigte Treiber zur Laufzeit geladen werden und im nicht gebrauchten Zustand keinen Speicherplatz belegen.
Sourcen
Oft auch Quellcode, Quelltext oder kurz Quellen genannt. Der Text, den ein Programmierer (in einer Programmiersprache wie z. B. C++) geschrieben hat. Erst durch Compiler genannte "Übersetzungsprogramme" wird aus diesem von Menschen lesbaren Text ein binäres Programm bzw. eine von der Maschine ausführbare Datei.
Character-Devices
Ein Character-Device, auch zeichenorientiertes Gerät genannt, wird sequentiell (der Reihe nach) gelesen und geschrieben, d. h., die Ein- und Ausgaben erfolgen byteweise. Eine serielle Schnittstelle ist z. B. ein zeichenorientiertes Gerät.
Byte
Speicher ist in Speicherzellen unterteilt, die entweder den Wert 0 oder 1 enthalten. Eine solche Speicherzelle bzw. die in ihr gespeicherte Information heißt Bit. Mehrere Bits können in Einheiten wie Byte, Wort oder Langwort zusammengefasst werden: Ein Byte beispielsweise entspricht acht Bit.
Block-Devices
Auf ein solches blockorientiertes Gerät werden Daten blockweise geschrieben bzw. auch so von dort gelesen, wobei das Gerät bestimmt, wie groß diese Blöcke sind. Festplatten oder Diskettenlaufwerke sind typische Beispiele für blockorientierte Geräte. Sie können wahlweise auf diese Geräte zugreifen, indem Sie sie mit dem mount-Befehl in den Dateibaum ein- und sie später mit umount wieder aushängen.



