CHIP-Spezial: Konfigurationsdateien

 
Auch wenn in allen Linux-Distributionen die gleiche Software und der gleiche Linux-Kernel eingesetzt wird, unterscheiden sich die einzelnen Distributionen teilweise drastisch voneinander. Ein Großteil der Unterschiede betrifft Konfigurationsdateien jeglicher Art.

 

1. Konfigurationsdateien schützen
2. Konfigurationsdateien orten
3. Konfiguration des Netzwerks
4. Nameservice einrichten
5. Zugriffsrechte im Netzwerk
6. Start-/Stop-Skripte
7. Alternativen
8. Regelmäßige Aufgaben
9. Paket-Manager konfigurieren
10. Das Menü-System
11. Emacs - Der Tausendsassa
12. Benutzerprofil
13. Kernel-Module bzw. -Treiber
14. Syslog - Logdateien
15. Resources

Debian GNU/Linux hält sich an die Linux Filesystem Structure (FSSTND) und weitgehend auch an den Filesystem Hierarchy Standard (FHS). In beiden Dokumenten wird unter anderem beschrieben, wo Konfigurationsdateien gespeichert werden sollen. Für diese Dateien sind das Verzeichnis »/etc« sowie Unterverzeichnisse darin vorgesehen.

Unter Debian befinden sich daher alle Konfigurationsdateien auch tatsächlich direkt in »/etc« oder in Unterverzeichnissen dort. Pakete legen dann eigene Unterverzeichnise an, wenn die in ihnen enthaltenen Programme mehrere Konfigurationsdateien benötigen, die auf diese Weise logisch gruppiert werden. Das Verzeichnis »/etc« ist meistens nur wenige Megabytes groß, so daß es komprimiert leicht auf einer Diskette gesichert werden kann.

Konfigurationsdateien unterscheiden sich durch eine Kleinigkeit von anderen Dateien einer Distribution. Sie sind meistens äußerst klein und werden vom Benutzer bzw. Administrator verändert. Im Gegensatz zu ausführbaren Programmen oder Bibliotheken sind sie dazu konzipiert, auf dem Rechnier modifiziert und den lokalen Gegebenheiten angepaßt zu werden.

Aus diesem Grund muß die Distribution mit ihnen anders umgehen als mit herkömmlichen Programmen oder anderen Dateien aus Paketen. Zum einen stellen sie neben den persönlichen Daten teilweise die wichtigsten Dateien auf einem Rechner dar, zum anderen dürfen sie bei einem Upgrade der Software nicht einfach überschrieben werden, da die Einstellungen sonst verloren gingen. Debian GNU/Linux behandelt sie dementsprechend.

[Das Verzeichnis »/etc« im Midnight Commander]

Abb. 1: Das Verzeichnis »/etc« im Midnight Commander

Konfigurationsdateien schützen

In jedem Debian-Paket, das Konfigurationsdateien enthält, sind diese entsprechend gekennzeichnet, so daß der Paketmanager »dpkg« Vorsichtsmaßnahmen treffen kann, wenn diese Pakete aktualisiert werden sollen. Wenn eine neue Version eines solchen Pakets installiert werden soll und die Datei auf dem System ist noch die gleiche wie beim bisher installierten Paket, werden die neuen Dateien installiert. Wenn die Konfigurationsdateien jedoch lokal geändert wurden, wird »dpkg« den Administrator vorher fragen, ob die Dateien ersetzt werden sollen. Wird an dieser Stelle unachtsam »Enter« eingegeben, dann wird die Datei sicherheitshalber nicht übeschrieben. Die neue Datei wird jedoch unter dem Namen »datei.dpkg-new« gespeichert.

Konfigurationsdateien orten

Die wichtigeste Methode, unter einem beliebigen Unix-ähnlichen Betriebssystem (z.B. Linux) herauszufinden, wo die Konfiguration für ein Programm liegt, besteht darin, die Manpage zu lesen (»man programm«) und dort den Abschnitt »FILES« zu suchen (siehe Abbildung). Die dort angegebenen Dateien beeinflussen das Programm, werden beim Aufruf gelesen und verarbeitet oder werden vom Programm geschrieben.

Da Konfigurationsdateien vom Debian-System besonders geschützt sind und daher der Paket-Verwaltung bekannt sein müssen, gibt es noch eine Debian-spezifische Methode. Mit dem Befehl »dpkg -s apache« erhalten Sie neben einer Beschreibung des Paketes auch die registrierten Konfigurations-Dateien. Falls Sie nicht wissen, zu welchem Paket ein Programm gehört, finden Sie dieses mit »dpkg -S programmname« heraus.

Konfiguration des Netzwerks

Die wichtigste Datei für die Einrichtung des Netzwerkes befindet sich in »/etc/network« und heißt »interfaces«. In dieser Datei werden alle Netzwerk-Schnittstellen konfiguriert. (z.B. »eth0«) Im Artikel über die Verbindung ins Internet sehen Sie ein Beispiel. Diese Datei ist bei der Installation relativ groß und enthält viele auskommentierte Beispiele. Eine ausführliche Beschreibung dieser Datei erhalten Sie mit dem Befehl »man interfaces«.

Damit Ihre Änderungen aktiv werden, müssen Sie das betroffene Interface neu initialisieren bzw. aktivieren. Angenommen, Sie haben die bestehende Konfiguration von »eth0« geändert, dann geben Sie als »root« den Befehl »ifdown eth0« ein. Anschließend aktivieren Sie es wieder mit dem Befehl »ifup eth0«. Letzteres ist für ein neu eingerichtetes Interface ausreichend.

Nameservice einrichten

[Nameserver werden in »/etc/resolv.conf« eingetragen]

Abb. 2: Nameserver werden in »/etc/resolv.conf« eingetragen

An der Auflösung von IP-Nummern zu Adressen und umgekehrt sind drei Dateien beteiligt, die das Verhalten beeinflussen: »host.conf«, »hosts« und »resolv.conf«. Diese Dateien liegen direkt im Verzeichnis »/etc«.

In »host.conf« wird beschrieben, in welcher Reihenfolge versucht werden soll, Namen aufzulösen. Die folgenden Einstellungen besagen, daß zuerst die Datei »/etc/hosts« konsultiert und anschließend der Nameserver gefragt werden soll. Ferner wird so eingestellt, daß alle Adressen aus »/etc/hosts« zurückgegeben werden sollen und daß Adressen sortiert werden.

  order hosts,bind
  multi on
  reorder on

In der Datei »/etc/hosts« werden die Zuweisungen von IP-Nummer und Internet-Adresse eingetragen, wenn sie nicht im Nameserver stehen. In einem kleinen lokalen Netzwerk ist dieses überlicherweise der Platz, an dem die Rechnernamen eingetragen werden. Der Inhalt dieser Datei sieht wie folgt aus:

  # For loopbacking.
  127.0.0.1       localhost

  198.186.203.20  www.debian.org

Wenn ein Rechner mehrere Namen besitzt, werden sie hintereinander in die gleiche Zeile geschrieben.

Die dritte Datei, »/etc/resolv.conf« beschreibt, welche Nameserver zu befragen sind, wenn die Informationen nicht aus der statischen »hosts«-Datei gelesen werden können. Die Nameserver werden mit dem Schlüsselwort »nameserver« angegeben. Zusätzlich dazu kann eine Liste von Domains angegeben werden, die der Reihe nach an den Rechnernamen angehängt werden sollen, wenn als Name nur der einfache Rechnername und nicht der Name samt Domain angegeben wird. Diese Domains werden mit dem Schlüsselwort »search« angegeben. Es dürfen bis zu sechs Domains sein. Ein Beispiel dazu sehen Sie in der nebenstehenden Abbildung.

Zugriffsrechte im Netzwerk

Wer einen Linux-Rechner in einem Netzwerk betreibt, ermöglicht es meistens anderen, auf den Rechner zuzugreifen. Dieses darf natürlich nicht vollkommen wahrlos geschehen, da sonst die im System gespeicherten Daten vollkommen ungeschützt wären. Insbesondere die Dienste, die Informationen über das System oder Benutzer ausgeben oder über die sich jemand aus dem Netzwerk einloggen darf, müssen geschützt werden.

Für die Programme, die über den "Torwächter" »inetd« gestartet werden, gibt es meistens einen sehr einfachen Mechanismus, den Zugriff zu beschränken. Die meisten dieser Programme werden über das Programm »tcpd« gestartet. Das ist ein zweiter Torwächter, der jedoch nicht nur Verbindungen weiterreicht, sondern auch in zwei Tabellen nachschaut, ob die Verbindung überhaupt zustandekommen darf. Wenn das nicht der Fall ist, wird sie gleich wieder beendet.

In der Datei »/etc/inetd.conf« beschreibt jede Zeile einen TCP-Port, auf dem eine Verbindung angenommen werden soll. Ist in dieser Zeile das Programm »tcpd« genannt, so läßt sich der Zugriff auf diesen Dienst mit Hilfe von »hosts.allow« und »hosts.deny« beschränken.

Damit dieser Mechanismus funktioniert, muß der Dienst per Voreinstellung für alle zugelassen oder für alle verschlossen werden. Wenn der Dienst in »hosts.allow« für alle freigegeben wird, bestimmen die Einträge in »hosts.deny« für welche Rechner er verschlossen bleibt. Diese Logik funktioniert auch in umgekehrter Richtung: Wenn der Dienst in »hosts.deny« für alle abgeblockt wird, bestimmen die Einträge in »hosts.allow« für welche Rechner er zugelassen wird.

Wenn zum Beispiel der Telnet-Dienst nur für bestimmte Rechner zugelassen werden soll (weil z.B. Paßwörter unverschlüsselt übertragen werden), wird der Dienst zuerst in der Datei »/etc/hosts.deny« für alle Rechner gesperrt:

  in.telnetd: ALL

Um den Dienst nun für alle Rechner aus dem lokalen Subnetz freizugeben, müssen die Rechnernamen oder IP-Adressen in der Datei »/etc/hosts.allow« eingetragen werden. Wenn das Subnetz 192.168.1.0 ist, würde der Eintrag z.B. wie folgt aussehen:

  in.telnetd: 192.168.1.

oder

  in.telnetd: 192.168.1.0/255.255.255.0

Wie man leicht sieht, bezeichnet das Wort vor dem Doppelpunkt den Namen des Programms, das für den Dienst gestartet wird. In diesem Fall betrifft die Einstellung »/usr/sbin/in.telnetd«. Das Verzeichnis, in dem das Programm liegt, muß für die Zugriffskontrolle nicht angegeben werden. Dieser Mechanismus ist ausführlich in hosts_access(5) beschrieben, angezeigt wird die Seite mit »man 5 hosts_access«.

Start-/Stop-Skripte

Beim Start eines Linux-Systems werden vielfältige Aufgaben durchgeführt. Nachdem ein Teil der Festplatte gelesen wurde (z.B. einige Konfigurationen), werden die Festplatten überprüft und anschließend ins System integriert (mit »mount«) und die im Hintergrund arbeitenden Programme (sogenannte Daemons) werden gestartet. Wenn der Rechner heruntergefahren wird, werden diese Programme wieder beendet und die Festplatten geordnet aus dem System entfernt.

Die generelle Konfiguration für das laufende System ist in der Datei »/etc/inittab« gespeichert. Das Programm »init« ist das erste Programm, das auf einem Linux-System direkt nach dem Kernel gestartet wird. Aus diesem Grund hat es übrigens immer die Prozeßnummer 1. Die Datei »/etc/inittab« findet sich auf allen Linux-Systemen wieder, der Ort für die von »init« aufgerufenen Start-/Stop-Skripte ist jedoch unterschiedlich.

Auf einem Debian-System liegen diese Skripte in »/etc/init.d«. Sie dürfen von Hand aufgerufen werden, z.B. wenn die Konfiguration eines Programms geändert wurde oder wenn ein Dienst zeitweise abgeschaltet werden soll. Diese Skripte müssen mit einem einzigen Parameter aufgerufen werden: »start«, »stop«, »restart«, »reload« oder »force-reload«. Mit »start« und »stop« werden sie gestartet bzw. angehalten. Mit »restart« wird der Dienst beendet und anschließend neu gestartet. Die Option »reload« bewirkt ein erneutes Einlesen der Konfigurationsdateien, sofern dieses von den betroffenen Programmen unterstützt wird, »force-reload« ist daher entweder ein Alias für »reload« oder für »restart« und bewirkt, daß die Konfigurationsdateien auf jeden Fall neu eingelesen werden.

[Konfiguration des Boot-Prozesses]

Abb. 3: Konfiguration des Boot-Prozesses

Normalerweise jedoch werden sie automatisch beim Hoch- oder Herunterfahren des Rechners aufgerufen. Welche Skripte für welchen Runlevel (Systemzustand, 0 bis 6) aufgerufen werden sollen, wird normalerweise durch System-V-artige symbolische Links in den Verzeichnissen »/etc/rc0.d« bis »/etc/rc6.d« sowie »/etc/rcS.d« festgelegt. Die Einträge dort sind symbolische Links auf die Skripte in »/etc/init.d«. Verwaltet werden die Einträge mit dem Programm »update-rc.d«.

Eine besondere Bedeutung bekommt dabei dem Verzeichnis »/etc/rcS.d« zu. Es enthält Verweise auf die Skripte, die bei jedem Rechnerstart ausgeführt werden, noch bevor Hintergrundprogramme gestartet werden. In diesen Skripten werden die Festplatten überprüft, das Netzwerk gestartet etc. Für diese Skripte steht eine globale Konfigurationsdatei zur Verfügung, in der Einstellungen für diese Skripte vorgenommen werden. In »/etc/default/rcS« wird z.B. eingetragen, welche Zeit die Uhr im Rechner repräsentiert: lokale Zeit oder Greenwich MeanTime (GMT bzw. UTC).

[Runlevel werden mit »file-rc« bequem editiert]

Abb. 4: Runlevel werden mit »file-rc« bequem editiert

Alternativ zum System-V-kompatiblen Boot-Mechanismus mit »rc?.d«-Verzeichnissen stellt Debian mit »/etc/runlevel.conf« eine einzige Konfigurationsdatei für den Bootvorgang zur Verfügung. Da sie mit einem Editor und nicht mit sechs ähnlichen »ln«- oder »mv«-Aufrufen bearbeitet wird, bietet sie somit eine komfortablere Schnittstelle für den Anwender. Diese Methode steht jedoch nur dann zur Verfügung, wenn das Paket »file-rc« installiert ist. Bei der Installation und Deinstallation wird die Konfiguration jeweils in das entsprechende Format konvertiert.

Alternativen

[Mechanismus der Programm-Alternativen]

Abb. 5: Mechanismus der Programm-Alternativen

Eine weitere Besonderheit von Debian GNU/Linux ist die Möglichkeit, Alternativen für Programme im besonderen und normale Dateien im allgemeinen festzulegen. Aus diesem Grund gibt es auf einem Debian-System keine Programme namens »vi« oder »emacs« wie auf anderen Linux-Systemen. Nichtsdestotrotz kann man diese Befehle eingeben und erhält einen »vi«- oder Emacs-kompatiblen Editor.

Schaut man sich die Situation unbedarft an, mutet es merkwürdig an. »/usr/bin/vi« ist ein symbolischer Link auf »/etc/alternatives/vi«, was wiederum ein Link zu »/usr/bin/nvi« oder »/usr/bin/vim« ist. Man mag sich fragen, worin der Sinn liegt, doch dieser eröffnet sich schnell, wenn man in die Überlegung einbezieht, daß es mehrere vi-kompatible Editoren gibt: »elvis«, »vim«, »nvi«, »vile« oder »jvim-canna«.

Bei der Installation dieser Programme wird dem System mitgeteilt, daß ein Programm vorliegt, das die Funktionalität von »/usr/bin/vi« bietet und es in dessen Alternativen aufgenommen werden soll. Verwaltet wird dieser Mechanismus über die symbolischen Links in »/etc/alternatives«.

Die Konfiguration dieser Technik erfolgt mit dem Programm »update-alternatives«. Rufen Sie z.B. als »root« den Befehl

  update-alternatives --display vi

auf, so erhalten Sie eine (zugegeben nicht besonder leserliche) Aufzählung, welche Pakete das Programm mit welcher Priorität anbieten sowie welche Alternative zur Zeit aktiv ist. Möchten Sie die Einstellung ändern, z.B. weil »vim« komfortabler als »elvis« ist, dann verwenden Sei den folgenden Aufruf:

  update-alternatives --config vi

[Alternativen mit »update-alternatives«]

Abb. 6: Alternativen mit »update-alternatives«

Wenn mehrere Alternativen für »vi« installiert sind, werden Sie anschließend gebeten, eine Wahl zu treffen. Falls Sie das Programm unverändert verlassen möchten, drücken Sie einfach [Strg-C].

Regelmäßige Aufgaben

Ein großer Unterschied zwischen einfachen Arbeitsplatzrechnern und einer Unix-Workstation besteht darin, daß ein Unix-System auf Stabilität und geringen Wartungsaufwand getrimmt ist. Unix-Rechner werden normalerweise auch nicht am Morgen ein- und am Abend ausgeschaltet, sondern laufen durch. Als Folge davon laufen auf einem Unix-System viele regelmäßige Aufgaben ab. Teilweise werden Programme stündlich aufgerufen, nachts, wenn normalerweise niemand die Rechenleistung benötigt, werden regelmäßige Arbeiten erledigt, ebenfalls am Monatsanfang.

[Aufbau von allgemeinen Crontab wie »/etc/crontab«]

Abb. 7: Aufbau von allgemeinen Crontab wie »/etc/crontab«

Gesteuert werden solche Aufgaben durch das Programm »cron« sowie verschiedene »crontab«-Dateien. Auf einem Debian-System gibt es verschiedene Orte, an denen Crontabs liegen. Zum einen darf jeder Benutzer mit dem Befehl »crontab« eine eigene Datei mit regelmäßigen Aufgaben anlegen, zum anderen gibt es eine systemweite Datei »/etc/crontab«. Die nebenstehende Grafik gibt einen Überblick über den Aufbau, wobei der Benutzername nur in der systemweiten Datei »/etc/crontab« notwendig ist. Der Aufbau einer »crontab«-Dateie wird in der Handbuchseite crontab(5) detailiert beschrieben, die mit »man 5 crontab« angezeigt wird.

Auf einem Debian-System kommen noch weitere Dateien hinzu. Da verschiedene Pakete eigene Crontab-Einträge benötigten, jedoch laut Debian-Policy keine Konfigurationsdateien anderer Pakete verändern dürfen, mußte ein Mechanismus gefunden werden. Aus diesem Grund unterstützen die Cron-Pakete unter Debian zusätzlich das Verzeichnis »/etc/cron.d«. Alle Dateien in diesem sind Crontabs und haben das gleiche Format wie »/etc/crontab«. Pakete wie »postfix«, »postgresql« und »mrtg« legen dort z.B. ihre Crontab-Einträge ab.

Darüberhinaus gibt es auf vielen Linux-Systemen spezielle Verzeichnisse, in denen Programme abgelegt werden, die täglich, wöchentlich, monatlich und teilweise sogar stündlich ausgeführt werden sollen. Für diese Programme muß keine eigene Crontab mehr angelegt werden, sie werden automatisch durch spezielle Aufrufe von »run-parts« in »/etc/crontab« ausgeführt.

»/etc/cron.daily« - enthält die Programme, die täglich früh morgens ausgeführt werden sollen. Dazu gehört vor allem das Rotieren von Log-Dateien, damit sie nicht beliebig groß werden und nicht die Festplatte wahrlos füllen. Darunter befinden sich jedoch auch Programme, die interne Datenbanken überprüfen (»suidmanager«) oder aufbauen (»find« und »dwww«).

»/etc/cron.weekly« - enthält die Programme, die einmal pro Woche ausgeführt werden sollen. Oftmals betreffen sie Logdateien, die nicht so stark wachsen, daß sie täglich verschoben bzw. gelöscht werden müssen. Diese Programme werden am Sonntag früh morgens ausgeführt.

»/etc/cron.monthly« - In diesem Verzeichnis sind die Programme abgelegt, die nur einmal pro Monat am Monatsanfang aufgerufen werden sollen.

Paket-Manager konfigurieren

Auf einem Debian-System wird heutzutage hauptsächlich »apt-get« verwendet, um neue Pakete zu installieren oder zu aktualisieren. Bitte lesen Sie dazu auch den Artikel "Paket-Management bei Debian GNU/Linux". Dieses Programm erwartet die Konfigurationsdateien in »/etc/apt«. Die wichtigste davon ist »sources.list«, die Verweise auf Paket-Archive enthält, von denen Pakete installiert werden sollen. Die zweite Datei konfiguriert das restliche Verhalten von »apt-get« und heißt »apt.conf«.

[Handbuchseite apache(8) mit Verweis auf Dateien]

Abb. 8: Handbuchseite apache(8) mit Verweis auf Dateien

Die verschiedenen Einstellungen werden in der Online-Handbuchseite zu »apt.conf« beschrieben (anzuzeigen mit »man apt.conf«). Wer auf die Distribution umsteigen möchte, die sich zur Zeit noch in der Entwicklung befindet, der wird möglicherweise Fehlermeldungen sehen, die besagen, daß ein Paket unerlaubterweise versucht, Dateien eines anderen Paketes zu überschreiben. Bei Umstellungen von Paketen passiert das teilweise, ist jedoch meistens nicht kritisch. Tritt so etwas öfter auf, kann z.B. folgendes zur Datei »apt.conf« hinzugefügt werden:

  DPkg::Options {"--force-overwrite";}

Das Menü-System

Eine weitere Besonderheit von Debian stellt das Menü-System dar. Mit diesem ist es möglich, daß Programme automatisch in die Menüstruktur jedes Window-Manages eingetragen werden - inklusive der Menüs von KDE und Gnome. Die Pakete müssen dazu lediglich eine Datei in »/usr/lib/menu« anlegen und das Programm »update-menus« aufrufen. Von dieser Möglichkeit wird bei vielen Paketen Gebrauch gemacht, die grafische Oberflächen zur Verfügung stellen.

Sollen zusätzliche Einträge gemacht werden, so reicht es im Prinzip aus, eine Datei aus »/usr/lib/menu« nach »/etc/menu« zu kopieren, den Inhalt entsprechend anzupassen und anschließend »update-menus« aufzurufen. Sie sollten allerdings »?package(local.irgendwas)« schreiben, da dieser Eintrag sonst nur dann in den Menüs installiert würde, wenn das Paket »irgendwas« installiert ist.

Dieser Mechanismus funktioniert darüberhinaus zusätzlich auf einer pro-Benutzer-Basis. In diesem Fall legen Sie die neuen Menü-Dateien in dem Verzeichnis »~/.menu« ab, das Sie vorher mit »mkdir ~/.menu« angelegt haben. »update-menus« wird in diesem Fall als normaler Benutzer aufgerufen.

Emacs - Der Tausendsassa

[Start-Bildschirm von Emacs mit Hinweisen]

Abb. 9: Start-Bildschirm von Emacs mit Hinweisen

Emacs ist mehr als nur ein Editor. Wer das Programm »emacs« zum ersten mal aufruft, wird gleich auf ein Tutorial verwiesen, das dem Benutzer die Grundfunktionen des Programms an Beispielen erläutert. Anschließend kann man mit dem Editor arbeiten und weiß sich bei den wichtigsten Fragen zu helfen. Die Stärke jedoch liegt in der leichten Erweiterbarkeit und Programmierbarkeit dieses Editors.

Mit EmacsLISP steht eine sehr mächtige Sprache zur Verfügung, mit der zusätzliche Funktionen zur Verfügung gestellt werden können oder mit der lokalen Anpassungen vorgenommen werden. Wer eine Weile mit Emacs gearbeitet hat, wird feststellen, daß viele zusätzliche Module die Arbeit ungemein erleichtern können. Sie werden mit Hilfe von verschiedenen Dateien konfiguriert. Neben »~/.emacs« liest Emacs beim Programmstart verschiedene Dateien ein, mit denen das Verhalten gesteuert wird bzw. mit denen die einzelnen Module initialisiert werden.

[Konfiguration von Emacs in »/etc/emacs«]

Abb. 10: Konfiguration von Emacs in »/etc/emacs«

Dazu gibt es zum einen das allgemeine Verzeichnis »/etc/emacs« bzw. »/etc/emacs/site-start.d«, in dem EmacsLISP-Programme installiert werden, die für alle installierten Emacs-Version gültig sind (es gibt immerhin »emacs19«, »emacs20« und »xemacs21«). Zum anderen gibt es analog dazu für jede installierte Emacs-Version ein eigenes Verzeichnis, z.B. »/etc/emacs20«), in dem solche Initialisierungen gespeichert werden, die nur für eine Emacs-Version gültig sind.

Benutzerprofil

Wenn sich ein Benutzer einloggt, unter X11 oder auf der Textkonsole, werden verschiedene Dateien gelesen, falls sie vorhanden sind. In diesen wird das Profil für den Benutzer vorbereitet. Dort wird z.B. festgelegt, in welcher Sprache Fehlermeldungen ausgegeben werden sollen, in welchen Verzeichnissen nach Programmen gesucht werden soll, ob Umlaute eingegeben werden dürfen etc.

In einer Shell (auf der Textkonsole oder in einem X-Terminal) können normalerweise keine Umlaute ein- oder ausgegeben werden. Debian ist eine internationale Distribution, die allgemein gehalten ist, daher wird keine Sprache (außer der englischen) bevorzugt. In Deutschland muß daher an der Ein- und Ausgabe von Zeichen gedreht werden, wenn Umlaute verwendet werden sollen. In anderen Ländern muß das ebenfalls gemacht werden, jedoch werden dort andere Zeichensätze verwendet, weshalb es nicht voreingestellt ist.

Für die Eingabe von Zeichen in der unter Linux üblichen Shell »bash« ist die Readline-Bibliothek zuständig. Diese wird mit den Dateien »/etc/initrc« und »~/.initrc« konfiguriert. In einer dieser Dateien sollten folgende Zeilen stehen:

  set meta-flag on
  set convert-meta off
  set input-meta on
  set output-meta on

[Beschreibung von Locale-Variablen in locales(7)]

Abb. 11: Beschreibung von Locale-Variablen in locales(7)

Für die Einstellung der Sprache von Texten und Zeichensätzen sind eine Reihe weiterer Umgebungsvariablen zuständig. Diese sind detailiert in der Handbuchseite locale(7) beschrieben, die mit »man 7 locale« angezeigt wird. Es können detailierte Einstellungen vorgenommen werden (z.B. nur »LC_CTYPE«) oder es wird umgeschaltet (z.B. mit »LANG«).

Wer nur den europäischen Zeichensatz für die Ausgabe von Texten verwenden (z.B. bei Mails auf einer Textkonsole), jedoch englische Fehlermeldungen behalten möchte, der setzt die folgenden Variablen:

  LC_CTYPE=en_US.ISO-8859-1
  LC_MESSAGES=en_US
  export LC_CTYPE LC_MESSAGES

Komplett umgestellt auf deutsche Sprache wird hingegen mit der Einstellung

  export LANG=de_DE

Diese Einstellungen können in verschiedenen Dateien vorgenommen werden. Wenn sie systemweit für alle Benutzer gelten sollen, werden sie in »/etc/profile« eingetragen. Wenn sie nur für einzelne Benutzer gelten sollen, werden sie in »~/.bash_profile« und »~/.bashrc« eingetragen.

Zu beachten ist hier folgendes:

Trotz dieser Einstellungen benötigen einige Programme zusätzliche Hinweise. Dem Programm »less« muß z.B. zusätzlich mitgeteilt werden, welcher Zeichensatz für die Ausgabe verwendet werden soll. Das geschieht mit der folgenden Zeile, die in eine der obigen Dateien aufgenommen werden muß.

  export LESSCHARSET=latin1

Kernel-Module bzw. -Treiber

Kernel-Module werden wie unter Linux üblich im Verzeichnis »/lib/modules/kernelversion« (also z.B. »/lib/modules/2.2.17«) gespeichert. Neue Module werden am besten mit dem Programm »modconf« installiert, das während der Installation bereits verwendet wird. Das Programm trägt die Namen der Module, die beim Systemstart automatisch geladen werden sollen in die Datei »/etc/modules« ein.

Die Konfiguration der Module wird in Dateien im Verzeichnis »/etc/modutils« eingetragen. Meistens beschränkt sie sich auf die Angabe von Interrupt (IRQ) und E-/A-Basisadresse (iobase). Üblicherweise wird für jedes Modul eine eigene Datei angelegt. Anschließend muß »update-modules« aufgerufen werden, damit die Konfiguration übernommen wird. Normalerweise muß man sich um diese Dateien jedoch nicht selbst kümmern, sondern kann es getrost »modconf« überlassen.

Syslog - Logdateien

Eine weitere Besonderheit auf einem Debian-System findet sich in der Einstellung vom Syslog wieder. Debian hat eine detailierte und für die meisten Fälle sinnvolle Aufteilung von System-Log-Nachrichten in Dateien. Das auf Debian basierende Corel Linux hat bewiesen, daß man die Nachrichten in der Tat noch erheblich feiner aufteilen kann, jedoch hat man auch schnell gesehen, daß dieses nicht sinnvoll ist und eher zur allgemeinen Verwirrung beiträgt.

[»/etc/syslog.conf« ist sinnvoll konfiguriert]

Abb. 12: »/etc/syslog.conf« ist sinnvoll konfiguriert

Derartige Nachrichten werden von vielen Daemons oder vom Kernel erzeugt und vom Programm »syslogd« empfangen. Der »syslogd« liest beim Programmstart die Datei »/etc/syslog.conf« ein und teilt die Nachrichten anhand der angegebenen Regeln in Dateien u.ä. auf. Unter anderem werden Nachrichten vom Mail-System in »/var/log/mail« gespeichert, allgemeine Nachrichten in »/var/log/messages«, Nachrichten von Hintergrundprogrammen in »/var/log/daemon« und Authentifizierungs-Meldungen in »/var/log/auth«.

Martin Schulze

Resources

Quelle: CHIP Linux Spezial 7/2001