Hinter den Kulissen

Aus EasyLinux 02/2007

Hinter den Kulissen

Do it yourself

Wer einen Desktop-PC besitzt, möchte an ihm ungestört arbeiten, statt sich mit der Administration herumzuschlagen. Dass dies nicht immer funktioniert, wissen nicht nur Linux-Nutzer, und so kommt man früher oder später nicht umhin, sich mit den Untiefen des Systems auseinanderzusetzen.

Entwickler aller Betriebssysteme und Anwendungen sehen eine ihrer wichtigsten Aufgaben darin, den Nutzern die Konfiguration so weit wie möglich abzunehmen. Wenn ein Programm plötzlich nicht mehr funktioniert, liegt es meist an fehlerhaften Einstellungen. Im Idealfall führen dann die richtigen Schalter eines grafischen Dialogs zur Lösung des Problems. Kommt man einmal über die Optionen in den grafischen Werkzeugen nicht weiter, hilft es zu wissen, wo die entscheidenden Schrauben sitzen.

Systemweite Vorgaben

Einstellungsdateien, die für alle Benutzer gelten, liegen unter Linux im Verzeichnis /etc. Diese Vorgabe bestimmt der Filesystem Hierarchy Standard (FHS)[1]. Er definiert auch den Inhalt von Konfigurationsdateien: Sie dürfen nicht ausführbar sein und dienen der Steuerung von Programmen.

Bei Konfigurationsdateien handelt es sich um einfache Textdateien, die Sie mit einem Texteditor wie KWrite öffnen und auch ändern können. In ihnen sind für die Optionen des betreffenden Programms bestimmte Werte hinterlegt. Welche Optionen das sind und wie die Konfigurationsdatei aufgebaut ist, unterscheidet sich von Anwendung zu Anwendung. Manche Programme lesen ihre Einstellungen aus Dateien, in denen jede Zeile eine Option gefolgt von einem Wert enthält, andere Einstellungsdateien sind in mehrere Abschnitte untergliedert, wie Sie es vielleicht von .ini-Dateien unter Windows kennen. Abbildung 1 zeigt die Datei /etc/updatedb.conf, welche die Indizierung der im Dateisystem gefunden Einträge steuert. Die meisten Distributionen durchsuchen mit updatedb die Inhalte des Dateisystems und hinterlegen sie in einer Datenbank. Mit dem Kommando locate[2] gefolgt von einem Dateinamen fragen Sie diese ab und erfahren so schneller als mit find[3], wo sich die gesuchte Datei befindet.

Abbildung 1: Die meisten Programme speichern ihre Konfiguration in einfachen Textdateien, welche die Optionen enthalten, mit denen die Anwendungen laufen.

Abbildung 1: Die meisten Programme speichern ihre Konfiguration in einfachen Textdateien, welche die Optionen enthalten, mit denen die Anwendungen laufen.

Die meisten auf einem System installierten Programmpakete legen eine oder mehrere Dateien im Verzeichnis /etc an. Das gilt sowohl für den X-Server, der die grafische Oberfläche bereitstellt, als auch für Anwendungsprogramme wie xpdf[4] und den Texteditor vim. Benötigt ein Programm mehrere Konfigurationsdateien, sammelt es diese gewöhnlich in einem eigenen Unterverzeichnis. So befinden sich die Einstellungsdateien des X-Servers im Ordner /etc/X11/.

Individuelle Einstellungen

Die unter /etc gespeicherten Konfigurationsdateien bestimmen die Standardeinstellungen, die einen Benutzer beim ersten Start der zugehörigen Anwendung erwarten. In der Folge haben Sie gewöhnlich die Möglichkeit, die Programmeinstellungen zu verändern. Damit das Progrann diese beim nächsten Start wieder vorfindet, muss es die neuen Vorgaben speichern. Die Konfigurationsdatei unter /etc kommt dafür nicht in Frage, denn in dem systemweiten Einstellungsverzeichnis darf nur der Administrator Dateien verändern. Das ist auch sinnvoll, denn bei einem Mehrbenutzersystem wie Linux kämen sich die Anwender mit den von ihnen bevorzugten Einstellungen ins Gehege.

Aus diesem Grund und um ungültige Einträge zu verhindern, hat ein normaler Benutzer nicht die zum Anpassen von /etc-Dateien nötigen Rechte. Nimmt ein Benutzer über die grafische Oberfläche eines Programms Änderungen an der Konfiguration vor, speichern die Anwendungen diese Einstellungen im Home-Verzeichnis des Benutzers.

Darin liegen Konfigurationsdateien oder -verzeichnisse gewöhnlich mit demselben Namen wie unter /etc, allerdings ergänzt durch einen führenden Punkt. Dateimanager wie Konqueror und Nautilus zeigen diese so genannten Punktdateien standardmäßig nicht an. Um zu sehen, wie viele Konfigurationsdateien sich schon in Ihrem Home-Verzeichnis angesammelt haben, können Sie diese im Konqueror über Ansicht / Versteckte Dateien anzeigen ein- und auch wieder ausblenden.

Das Verzeichnis /etc/firefox enthält unter Ubuntu beispielsweise die systemweite Konfiguration des Firefox-Browsers. Ändert ein Benutzer die Einstellungen über das Menü, landen die neuen Vorgaben im Unterverzeichnis .firefox/ seines Home-Verzeichnisses. Der KDE-Desktop, dessen Einstellungen Sie im Kontrollzentrum anpassen, speichert die Konfiguration der Benutzer im Ordner .kde unterhalb des Home-Verzeichnisses.

Abbildung 2: Gewöhnlich passen Benutzer ihre persönliche Konfiguration mit grafischen Programmen wie KControl an.

Abbildung 2: Gewöhnlich passen Benutzer ihre persönliche Konfiguration mit grafischen Programmen wie KControl an.

Startet ein Benutzer ein Programm, sucht es zunächst in dessen Home-Verzeichnis nach der Konfiguration. Wird es dort nicht fündig, weicht es auf die Standardeinstellungen von /etc aus, die individuelle Konfiguration hat gewöhnlich Vorrang. Die meisten Anwendungen verfügen darüber hinaus über eine fest einprogrammierte Standardkonfiguration, die sie verwenden, wenn es weder unter /etc noch im Home-Verzeichnis des startenden Benutzers eine Einstellungsdatei gibt.

Eine individuelle Konfiguration im Home-Verzeichnis gibt es nur bei Programmen, die normale Benutzer selbst aufrufen dürfen. Systemdienste oder der X-Server beispielsweise, die das System bereits beim Hochfahren startet, konfiguriert ausschließlich der Benutzer root.

KDE

Eine komplexe Desktop-Umgebung wie KDE besteht aus vielen Komponenten, deren Konfigurationen sich gegenseitig beeinflussen. So wirkt sich die Änderung des KDE-Themes auf alle KDE-Anwendungen aus, ohne dass Sie deren Fensterdekoration und Farbschema einzeln neu einstellen müssen. Diese Struktur spiegelt auch der Aufbau der KDE-Konfiguration wider. Die persönlichen Anpassungen der Benutzer befinden sich im Ordner .kde im Home-Verzeichnis.

Das KDE-Konfigurationsverzeichnis enthält nicht nur einzelne Dateien, sondern eine vorgegebene Verzeichnisstruktur. So gibt es unter .kde unter anderem den Ordner Autostart: Hier abgelegte Skripte und Programmverknüpfungen startet KDE automatisch. share enthält sowohl die Konfigurationsdateien der Programme (im Unterordner config) als auch Daten wie selbst heruntergeladene Hintergrundbilder und Themes, und einige Anwendungen speichern dort Benutzerdaten. So finden Sie beispielsweise unter .kde/share/apps/kabc die Kontaktdateien des KDE-Adressbuchs.

Auch hier gilt, dass der Anwender mit diesen Dateien im Idealfall keinen direkten Kontakt hat, sondern sie im KDE-Kontrollzentrum oder direkt über die Einstellungsdialoge der jeweiligen Anwendung verändert. Für erfahrene Benutzer spricht allerdings nichts dagegen, in einer Konfigurationsdatei per Texteditor einzelne Werte direkt zu manipulieren. Außerdem ist es häufig sinnvoll, vor der Änderung wichtiger Einstellungen Sicherheitskopien der entsprechenden Dateien anzulegen, um die bestehende Konfiguration danach wiederherstellen zu können.

Notbremse

Fehlerhafte Konfigurationsdateien können dazu führen, dass ein Programm nicht mehr startet, wodurch es unmöglich wird, die Einstellungen auf dem vorgesehenen Weg über den grafischen Dialog wieder auf gültige Werte zurückzusetzen. Das kann beispielsweise nach Updates passieren, wenn sich Aufbau oder Inhalt der Konfiguration in einer neuen Programmversion geändert haben und die Entwickler übersehen haben, dass die Anwendung trotzdem noch auf alte Einstellungsdateien stoßen kann. Fehlerhafte Programme geben Benutzern gar die Möglichkeit, sie so zu konfigurieren, dass sie anschließend nicht mehr starten.

In diesem Fall ist es möglich, die entsprechende Konfigurationsdatei zu löschen oder an einen anderen Platz zu verschieben, um zur Standardkonfiguration zurückzukehren. Allerdings sollte man diese Möglichkeit nur im Notfall nutzen, denn sämtliche persönliche Einstellungen gehen dadurch verloren. Das kann beim Mailprogramm beispielsweise dazu führen, dass Sie alle Konten neu anlegen müssen.

Ein leider recht häufiger Fall, in dem derart radikale Maßnahmen das einzige Mittel bleiben, sind Aktualisierungen des kompletten Systems oder zumindest der Desktop-Oberfläche. In der Vergangenheit verweigerte KDE häufig den Start, wenn es auf alte Konfigurationsdateien stieß, mit denen es nicht umgehen konnte; insbesondere bei Updates, die eine oder mehrere KDE-Versionen übersprungen haben. Solche Schwierigkeiten behebt oft das Umbenennen von .kde/ im Home-Verzeichnis – es sei aber nochmals darauf hingewiesen, dass damit auch sämtliche persönlichen Einstellungen verloren gehen. Neuere KDE-Versionen speichern unterhalb von .kde auch die Mails des Benutzers, so dass Sie dieses Verzeichnis auf keinen Fall einfach löschen sollten, selbst wenn KDE nach einem Update nicht mehr startet. Nach dem Umbenennen des Ordners hat KMail zwar erst einmal keinen Zugriff mehr auf die gespeicherten Nachrichten, es ist aber zumindest möglich, den Ordner .kde_umbenannt/share/apps/kmail/mail nachträglich wieder nach .kde/share/apps/kmail/mail zu kopieren oder die Mails über Datei / Nachricht importieren wieder einzulesen. Dafür gilt es, im Importdialog die Option Importieren von E-Mails und Ordnerlisten aus KMail zu wählen und im folgenden Dialog den Speicherordner mit den alten Mails zu markieren. Versteckte Dateien zeigen Sie in diesem Dateiauswahldialog mit [F8] an.

Alternative Ansätze

Das Prinzip, die Konfiguration von Programmen in möglichst kleine und überschaubare Dateien aufzuteilen, kommt vor allem Systemadministratoren entgegen, die mit einem Texteditor direkt an den Dateien arbeiten. Desktop-Benutzern fällt der Umgang damit dagegen schwer, für sie ist es einfacher, Programme und Systemeinstellungen an einem zentralen Ort, wie beispielsweise dem KDE-Kontrollzentrum festzulegen.

Deshalb gibt es verschiedene Ansätze, die Vorteile beider Paradigmen zu vereinen. Für KDE bildet das Kontrollzentrum einen Anlaufpunkt, Einstellungen zentral und grafisch zu ändern. Allerdings wächst mit der Zahl der Features auch die Komplexität, und so wirkt das Programm für Einsteiger oft unübersichtlich.

Die Gnome-Oberfläche setzt dagegen auf eine Vielzahl grafischer Programme, die sich jeweils auf einen Aspekt der System- und Oberflächenkonfiguration spezialisieren. Um die Werkzeuge übersichtlich zu halten, nehmen ihre Dialoge nur die wichtigsten Funktionen auf. Die dabei unter den Tisch fallenden Optionen soll das GConf-System auffangen: Seinen Mittelpunkt bildet der GConf-Editor (Abbildung 3), der ähnlich wie das KDE-Kontrollzentrum die Gnome-Komponenten zentral konfiguriert und den Benutzer alle Optionen bearbeiten lässt.

Abbildung 3: Der GConf-Editor zeigt alle Optionen des Gnome-Desktops und seiner Anwendungen an.

Abbildung 3: Der GConf-Editor zeigt alle Optionen des Gnome-Desktops und seiner Anwendungen an.

Den Speicherort und den Aufbau von Konfigurationsdateien zu kennen, hilft auch unerfahrenen Nutzern dabei, sich Einblick in die Funktionsweise des Systems zu verschaffen. Weiß man erst, wo sich die Einstellungen einer problematischen Anwendung verbergen, führt das vorsichtige Bearbeiten oder Umbenennen aus mancher Klemme heraus. Bei den meisten textbasierten Programmen, die keinen grafischen Einstellungsdialog mitbringen, finden Sie in der Manpage Hinweise, welche Werte Sie in die Konfigurationsdatei eintragen dürfen.

Glossar

Filesystem Hierarchy Standard (FHS)

(deutsch: Standard für die Hierarchie des Dateisystems) Der FHS legt fest, welche Verzeichnisse ein Betriebssystem haben muss und darf, und weist darin den Dateien abhängig von ihren Typen Plätze zu.

X-Server

Er koordiniert Ein- und Ausgabegeräte wie Maus, Tastatur, Grafikkarte und Bildschirm, um eine grundlegende grafische Funktionalität bereitzustellen, auf deren Basis beispielsweise die KDE-Oberfläche ihre Desktop-Umgebung aufbaut.

Home-Verzeichnis

Jeder Benutzer eines Mehrbenutzersystems wie Linux verfügt mit einem Ordner unterhalb des Verzeichnisses /home über seinen persönlichen Ordner, in dem er alle Rechte zum Lesen, Verändern, Löschen und Erstellen von Dateien und Verzeichnissen hat.

Punktdateien

(englisch: Dot Files) Dieser Begriff bezeichnet alle Dateien mit einem führenden Punkt im Namen. Sie heißen auch versteckte Dateien, weil sie in der Verzeichnisübersicht mit ls nur auf Anforderung auftauchen. Es handelt sich dabei oft um persönliche Konfigurationsdateien im Home-Verzeichnis, man kann aber auch jede andere Datei durch einen führenden Punkt im Namen zu einer versteckten Datei machen.

Infos

[1] Linux File System Hierarchy: http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html

[2] “locate”-Artikel: Christian Baun, “Spürnasen”, LinuxUser 05/2005, S. 88 f., http://www.linux-user.de/ausgabe/2005/05/088-find/index.html

[3] Artikel zum Suchwerkzeug “find”: Elisabeth Bauer, “Meisterdetektiv”, EasyLinux 01/2004, S. 72 f., http://www.easylinux.de/2004/01/072-find/

[4] Artikel über “xpdf”: Andrea Müller, “PDF-Express”, EasyLinux 12/2005, S. 46 f.

EasyLinux 02/2007 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben