Suchstrategien Übersichtstabelle Dateien im /etc/ -Verzeichnis Dateien im HOME-Verzeichnis Anmerkungen

Kleine Übersicht über die wichtigsten
Konfigurationsdateien von Linux

Es gibt im Wesentlichen zwei Orte, an denen Linux (und andere Unixe) ihre Konfigurationsdateien verwalten.

  1. Im Verzeichnis /etc/ und Unterverzeichnissen davon:
    Hier liegen "allgemeine" Konfigurationsdateien.
  2. Im eigene Homeverzeichnis:
    Hier liegen benutzerspezifische Konfigurationdateien, z.B. die eigene Netscape- oder KDE-Konfiguration. Diese Dateien beginnen alle mit einem '.' . Der vorangestellte Punkte bewirkt das sie normalerweise im Inhaltsverzeichnis nicht mit angezeigt werden; es sind also gewissermassen versteckte Dateien. Mit dem Shellkommando ls -a werden aber auch diese Dateien angezeigt.

Im folgenden möchte ich die wichtigste Konfigurationsdateien kurzbeschreiben. Da ich jedoch nicht auf alle Dateien eigengehen kann und auch nicht immer alles in aller Ausführlichkeit darstellen kann, zunächst eine kleine Einführung, wie man aus dem System selbst die benötigten Informationen ziehen kann.

Wie finde ich mehr über einzelne Konfigurationsdateien heraus

Für die meisten der Konfigurationsdateien existiert eine Online-Hilfe. Das Hilfesystem, was dabei verwendet wird, stammt noch aus der vor-GUI-Zeit und ist daher Text/Shell-basiert. Es besteht aus sogenannten man-pages (Maunal-pages), die mit dem Shell-Befehl

> man dateiname

abgerufen werden. Beispielsweise liefert

> man passwd

die Beschreibung zur der Datei /etc/passwd (Beim Abfragen der man-pages wird der Pfad der Datei weggelassen.). Wenn man sich in den Stil dieser - in der Regel englischsprachigen - man-pages eingelesen hat, liefern sie eine Menge nützlicher Informationen. Da alle man-pages ähnlich aufgebaut sind, findet man mit etwas Übung bereits beim überfliegen der man-page, die gewünschte Information.

Wenn man aber nun ein bestimmtes Problem (z.B. man kann sich von außen mit telnet nicht einloggen) lösen muss und nicht weiss welche Datei dafür zuständigt ist, gibt es zwei Strategien diese herauszufinden.

  1. Mit dem Shellkommando man -k kann man Im Kopf der man-pages nach Stichwörtern suchen, z.B. also:

    > man -k telnet

    Dieser Befehl liefert z.B. folgendes Ergebnis:

    issue.net (5)        - identification file for telnet sessions
    telnet (1)           - user interface to the TELNET protocol
    telnetd (8)          - DARPA telnet protocol server
    

    Es wurden also drei man-pages mit dem Stichwort telnet gefunden. Die Ziffern in den runden Klammern geben an zu welche Sektion der man-pages die angegebene Seite gehört. Nur in Sektion 5 befinden sich Beschreibungen von Konfigurationsdateien. Es käme also nur die Datei issue.net in Frage. Leider löst diese nicht unser Telnet-Problem.

    Nun ist telnet ein Internetdienst. Man könnte also auch mal mit

    > man -k internet

    suchen. Und siehe da, man findet die vermutlichen Übeltäter inet.conf und services.

  2. Man wechselt in einer Shell in das Verzeichnis /etc/ (mit cd /etc). Dort durchsucht man mit grep alle Konfigurationsdateien nach einem Stichwort, von dem man annimmt, das es in der gesuchten Konfigurationsdatei auftaucht. In dem Telnet-beispiel ginge das so:

    > grep -l telnet * 2> /dev/null

    Dieser Befehl durchsucht alle Dateien (*) des aktuellen Verzeichnisses nach der Zeichenkette telnet und gibt nur die Namen dieser Dateien an (dazu die -l-Option). Damit alle Fehlermeldungen (z.B. die dass ein Verzeichnis nicht durchsucht werden kann, wie eine Datei) verworfen werden leiten wir mit 2> /dev/null die Fehlermeldungen ins Nirwana um[1].

Als dritte Möglichkeit kann man natürlich auch diese Seiten durchsuchen ;-).

Übersicht über die wichtigsten Konfigurationsdateien

Nun also eine kleine (unvollständige) Liste der Konfigurationsdateien. Falls ihr eine wichtige vermisst, mailt mir, damit ich sie hier aufnehmen kann.

Ich werde auch nicht in aller Ausführlichkeit auf alle Dateien eingehen können, sondern nur das wichtigste anreißen können. Ausführliche Informationen entnehmt doch bitte den man-pages (wie oben beschrieben).

Zunächst eine kleine Übersicht der hier erklärten Dateien (Vorläufig sind noch nicht alle beschrieben.Dies wird im Laufe der Zeit nachgeholt.):

Konfigurationsdateien im /etc/ -Verzeichnis
Bootprozesses  :     /etc/inittab    /etc/rc.d/     
Benutzerverwaltung  :     /etc/passwd     /etc/shadow     /etc/group  
Dateisystemstruktur  :     /etc/fstab     /etc/mtab     /etc/exports 
Netzwerk  :     /etc/sysconfig/network    /etc/sysconfig/network-scripts    /etc/inetd.conf 
       /etc/services    /etc/hosts    /etc/resolv.conf 
      /etc/conf.routes    /etc/nsswitch.conf    /etc/httpd/ 
      /etc/ssh/       
AppleTalk bzw. netatalk-Konfiguration   :     /etc/atalk/atalkd.conf    /etc/atalk/AppleVolumes.default    /etc/atalk/papd.conf 
     /etc/atalk/AppleVolumes.system    /etc/atalk/afpd.conf 
grafische Oberfläche  :     /etc/fb.modes    /etc/X11/    /etc/X11/XF86config 
      /etc/X11/X    /etc/X11/xdm    
Shellkonfiguration  :     /etc/shells    /etc/profile und
  /etc/bashrc 
  /etc/csh.cshrc und
  /etc/csh.login 
weitere Konfigurationsdateien  :     /etc/crontab    /etc/cron.allow; und
  /etc/cron.allow; 
  /etc/cron.allow; und
  /etc/cron.allow; 
      /etc/printcap    /etc/sysconfig/keyboard    
Die gloable KDE-Konfiguration  in /usr/share oder /opt/kde/share
Konfigurationsdateien im Heimatverzeichnis
     .kderc und.kde/   .Xdefaults & .Xresources    .xmodmap 
     .bashrc und .profile    .cshrc  und .login   AppleVolumes 
     .netscape/    .emacs .pinerc .gimp    .rhosts 

Konfigurationsdateien im /etc/ -Verzeichnis

  1. Konfiguration des Bootprozesses

  2.  
    zum Anfang | Zur Übersicht
  3. Benutzerverwaltung


  4.  
    zum Anfang | Zur Übersicht
  5. Dateisystemstruktur


  6.  
    zum Anfang | Zur Übersicht
  7. Netzwerk


  8.  
    zum Anfang | Zur Übersicht
  9. AppleTalk bzw. netatalk-Konfiguration


  10.  
    zum Anfang | Zur Übersicht
  11. grafische Oberfläche


  12.  
    zum Anfang | Zur Übersicht
  13. Shellkonfiguration


  14. Weitere Konfigurationsdateien


  15.  
    zum Anfang | Zur Übersicht
  16. Die KDE-Konfiguration


  17. KDE verfügt über einen ganzen Satz von Konfigurationsdateien, sowohl Anwenderspezifische als auch globale. Häufig werden globale Einstellungen übernommen, wenn keine Anwenderspezifischen vorhanden sind. Leider ist der Ort, an diese Dateien liegen nicht festgelegt. Ausgehend von einem Wurzelverzeichnis folgt jedoch ein einheitlicher Dateibaum. Bei LinuxPPC R4 war dieses Wurzelverzeichnis /opt/kde/share, bei LinuxPPC 1999 ist es nun /usr/share. Bei anderen Distribution mag es noch andere Pfade dazu geben. Darunter ordnen sich dann sieben Verzeichnis an. (Im Falle von LinuxPPC 199 und /usr/share findet man noch weitere Verzeichnisse die jedoch nichts oder nur wenig mit KDE zu tun haben):

    1. config/:

      Hier finden sich Konfigurationsdateien, die zum einen zu Applikationen gehören, die nur auf Systemniveau laufen (z.B. zum kdm) oder Standardkonfigurationen, die ggfs. von Anwendereinstellungen überschrieben werden können.

    2. apps/:

      Weitere Dateien einzelner Applikationen, wie z.B. applikationsinterne Icons, Sounds, etc. Für jede Applikation existiert ein Unterverzeichnis.

    3. applnk/:

      Die Dateien in diesem Unterverzeichnis bilden zum einen das globale KDE-Menü. Für jeden Menüeintrag existiert eine Datei, für jedes Untermenü ein Unterverzeichnis. Darüberhinaus werden hier Verknüpfungen zwischen den einzelnen Programmen und den Datei-, bzw. MIME-Typen(s.u.) hergestellt.

    4. mimelnk/: Die Dateien hier stellen Verknüpfungen zwischen Dateiendungen und MIME-Typen her, wobei jedem MIME-Typ mehrere Dateiendungen zugeordnet sein dürfen und diese nicht auf 3 Zeichen beschränkt sind (Beispiel: Dem MIME-Typ 'image/jpeg' sind jpegjpgund JPGzugeordnet.)
      Ein MIME-Typ entsprichtalso in etwa demTYPE unter MacOS. Im Gegensatz zu den MacOS-Typen werden die MIME-Typen auch im Web verwendet.

    5. icons/, sounds/ und wallpapers/ Hier finden sich alle möglichen Icons, Sounds und Wallpapers (Bildschirmhintergründe), die allgemein zur Verfügung stehen.

    Zu allen diesen Dateien existieren anwenderspezifischen Pendants, die sie ggfs. ergänzen oder für denjeweiligen Anwender ersetzen.

 
zum Anfang | Zur Übersicht

Konfigurationsdateien im HOME-Verzeichnis


 
zum Anfang | Zur Übersicht

Anmerkungen

  1. Bei Benutzung der TC-Shell muss der letzte Teil des Kommandos angepasst werden. Er funktioniert nur mit der Linux-Standard-Shell, der bash.
  2. Linux und andere Unixe können in verschiedenen runleveln gestartet werden. Je nach runlevel werden unterschiedlich viele Dienste aktiviert. Welcher runlevel beim Booten aktiviert wird findet man in der Datei /etc/inittab. Im Prinzip kann jedes Linux/UNIX die Runlevel unterschiedlich belegen. Bei LinuxPPC findet man folgende Belegung:
    0 Shutdown, Anhalten des Systems
    1 Singleusermode, wird mitunter zur Systemadministration bei ernsten Problemen benötigt.
    2 Multiusermode, mit Netzwerk aber ohne NFS (Networking file system, entspricht dem Filesharing von MacOS)
    3 Multiusermode, mit Netzwerk und NFS
    5 Multiusermode, mit Netzwerk und NFS und X-Oberfläche
    6 Reboot, Neustart des Rechners.
    Runlevel 4 ist nicht belegt. Man erkennt hier das auch das Abschalten oder Neustarten einen speziellen runlevel darstellen. Diesen sollte man auf keinen Fall als Startlevel in der /etc/inittab eintragen.
    Mit dem Kommando telinit Runlevel-Nummer kann root jederzeit den runlevel wechseln. Dabei werden im wesentlich aber nur die entsprechenden Skripte in /etc/rc.d abgearbeitet.
  3. Ein Deamon ist ein spezieller Hintergrundprozess, der einen bestimmten Dienst verwaltet und auf Aktionen von "außen" - sei es vom User oder übers Netz oder von einem Interrupt - wartet.
  4. Genaugenommen reicht es dem inetd das Signal SIGHUP zu schicken. Das geht entweder mit kill -HUP 'pid' oder indem man das init-Skript /etc/rc.d/init.d/inet mit dem Parameter restart oder reload statt start bzw. stop startet. Aber Achtung: Die Namen der init-Skripte können von Linux-Distribution zu Linux-Distribution variieren.
  5. Das die Grafikkarten auf dem Mac keinen Textmodus kennen, werden diese über den Framebufferdevice realisiert.
  6. Dazu sollte man aber des Editors vi mächtig sein, oder die Environmentvariable EDITOR auf seinen Lieblingeditor gesetzt haben.
  7. Unter Linux/UNIX werden Felder in Dateien und auf der Kommandozeile typischerweise durch sog. whitespaces getrennt. Whitespaces sind eine beliebige Folge von Leerzeichen und Tabulatoren. Mitunter zählen auch Zeilenenden zu den Whitespaces.

Rüdiger Goetz
Last modified: Tue Jun 3 08:18:18 CEST 2003