Inhaltsverzeichnis
Zusammenfassung
In diesem Kapitel erhalten Sie zunächst Informationen zu den verschiedenen Software-Paketen, zu den Virtuellen Konsolen und zur Tastaturbelegung. Hier finden Sie Hinweise zu Software-Komponenten, wie bash
, cron
und logrotate
, da diese im Laufe der letzten Veröffentlichungszyklen geändert oder verbessert wurden. Selbst wenn sie nur klein sind oder als nicht besonders wichtig eingestuft werden, können die Benutzer ihr Standardverhalten ändern, da diese Komponenten häufig eng mit dem System verbunden sind. Das Kapitel endet mit einem Abschnitt zu sprach- und landesspezifischen Einstellungen (I18N und L10N).
Die Programme bash
, cron
, logrotate
, locate
, ulimit
und free
sowie die Datei resolv.conf
spielen für Systemadministratoren und viele Benutzer eine wichtige Rolle. Manualpages und info-Seiten sind hilfreiche Informationsquellen Zu Befehlen, sind jedoch nicht immer verfügbar. GNU Emacs ist ein beliebter konfigurierbarer Texteditor.
Bash ist die Standard-Shell in SUSE Linux. Wenn sie als Anmelde-Shell verwendet wird, werden mehrere Initialisierungsdateien gelesen. Bash verarbeitet die entsprechenden Informationen in der Reihenfolge dieser Liste.
/etc/profile
~/.profile
/etc/bash.bashrc
~/.bashrc
In ~/.profile
oder in ~/.bashrc
können benutzerdefinierte Einstellungen vorgenommen werden. Um die richtige Verarbeitung der Dateien zu gewährleisten, müssen die Grundeinstellungen aus /etc/skel/.profile
oder /etc/skel/.bashrc
in das Home-Verzeichnis des Benutzers kopiert werden. Es empfiehlt sich, die Einstellungen aus /etc/skel
nach einer Aktualisierung zu kopieren. Führen Sie die folgenden Shell-Befehle aus, um den Verlust persönlicher Einstellungen zu vermeiden:
mv ~/.bashrc ~/.bashrc.old cp /etc/skel/.bashrc ~/.bashrc mv ~/.profile ~/.profile.old cp /etc/skel/.profile ~/.profile
Kopieren Sie anschließend die persönlichen Einstellungen erneut aus den *.old
-Dateien.
Wenn Sie Befehle regelmäßig und automatisch im Hintergrund zu bestimmten Zeitpunkten ausführen möchten, verwenden Sie in der Regel das Werkzeug cron. cron wird durch speziell formatierte Zeittabellen gesteuert. Einige sind bereits im Lieferumfang des Systems enthalten, bei Bedarf können Benutzer jedoch auch eigene Tabellen erstellen.
Die cron-Tabellen befinden sich im Verzeichnis /var/spool/cron/tabs
. /etc/crontab
dient als systemübergreifende cron-Tabelle. Geben Sie den Benutzernamen zur Ausführung des Befehls unmittelbar nach der Zeittabelle und noch vor dem Befehl ein. In Beispiel 10.1, „Eintrag in /etc/crontab“, wird root
eingegeben. Die paketspezifischen Tabellen in /etc/cron.d
weisen alle dasselbe Format auf. Informationen hierzu finden Sie auf der Manualpage zu cron (man cron).
Beispiel 10.1. Eintrag in /etc/crontab
1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun
/etc/crontab
kann nicht durch Aufrufen des Befehls crontab -e bearbeitet werden. Die Datei muss direkt in einem Editor geladen, geändert und dann gespeichert werden.
Einige Pakte installieren Shell-Skripts in die Verzeichnisse /etc/cron.hourly
, /etc/cron.daily
, /etc/cron.weekly
und /etc/cron.monthly
, deren Ausführung durch /usr/lib/cron/run-crons
gesteuert wird. /usr/lib/cron/run-crons
wird von der Haupttabelle (/etc/crontab
) alle 15 Minuten ausgeführt. Hiermit wird gewährleistet, dass vernachlässigte Prozesse zum richtigen Zeitpunkt ausgeführt werden können.
Zum Ausführen der Skripts hourly
, daily
oder von anderen Skripts für regelmäßige Wartungsarbeiten zu benutzerdefinierten Zeitpunkten entfernen Sie regelmäßig die Verwendung der Zeitstempeldateien mithilfe von /etc/crontab
-Einträgen (siehe Beispiel 10.2, „/etc/crontab: Entfernen von Zeitstempeldateien“, wodurch hourly
vor jeder vollen Stunde und daily
einmal täglich um 2.14 Uhr entfernt wird usw.).
Beispiel 10.2. /etc/crontab: Entfernen von Zeitstempeldateien
59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 14 2 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 2 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 2 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly
Die täglichen Systemwartungsaufträge wurden zum Zwecke der Übersichtlichkeit auf mehrere Skripts verteilt. Sie sind im Paket aaa_base
enthalten. /etc/cron.daily
enthält beispielsweise die Komponenten suse.de-backup-rpmdb
, suse.de-clean-tmp
oder suse.de-cron-local
.
Mehrere Systemdienste (Daemons) zeichnen zusammen mit dem Kernel selbst regelmäßig den Systemstatus und spezielle Ereignisse in Protokolldateien auf. Auf diese Weise kann der Administrator den Status des Systems zu einem bestimmten Zeitpunkt regelmäßig überprüfen, Fehler oder Fehlfunktionen erkennen und die Fehler mit Präzision beheben. Die Protokolldateien werden in der Regel, wie von FHS angegeben, unter /var/log
gespeichert und werden täglich umfangreicher. Mit dem Paket logrotate
kann der Umfang der Dateien gesteuert werden.
Konfigurieren Sie Logrotate mit der Datei /etc/logrotate.conf
. Die Dateien, die zusätzlich gelesen werden sollen, werden insbesondere durch die include
-Spezifikation konfiguriert. Mit SUSE Linux wird sichergestellt, dass Programme, die Protokolldateien erstellen, einzelne Konfigurationsdateien in /etc/logrotate.d
installieren. Solche Programme sind beispielsweise im Lieferumfang der Pakete apache2
(/etc/logrotate.d/apache2
) und syslogd
(/etc/logrotate.d/syslog
) enthalten.
Beispiel 10.3. Beispiel für /etc/logrotate.conf
# see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed #compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own lastlog or wtmp - we'll rotate them here #/var/log/wtmp { # monthly # create 0664 root utmp # rotate 1 #} # system-specific logs may be also be configured here.
logrotate wird über cron gesteuert und täglich durch /etc/cron.daily/logrotate
aufgerufen.
Der Befehl „locate“ zum schnellen Suchen von Dateien ist nicht im Standardumfang der installierten Software enthalten. Wenn Sie möchten, installieren Sie das Paket find-locate
. Der Prozess updatedb wird jeden Abend etwa 15 Minuten nach dem Booten des Systems gestartet.
Mit dem Befehl ulimit (user limits) können Grenzwerte für die Verwendung der Systemressourcen festgelegt und angezeigt werden. ulimit ist insbesondere für die Begrenzung des für Anwendungen verfügbaren Speichers hilfreich. Hiermit kann verhindert werden, dass eine Anwendung zu viel Speicher belegt, wodurch es zu einem Stillstand des Systems kommen kann.
ulimit kann mit verschiedenen Optionen verwendet werden. Verwenden Sie zum Begrenzen der Speicherauslastung die in Tabelle 10.1, „ulimit: Festlegen von Ressourcen für Benutzer“ aufgeführten Optionen.
Tabelle 10.1. ulimit: Festlegen von Ressourcen für Benutzer
| Maximale Größe des physischen Arbeitsspeichers |
| Maximale Größe des virtuellen Arbeitsspeichers |
| Maximale Größe des Stapels |
| Maximale Größe der Core-Dateien |
| Anzeigen der festgelegten Grenzwerte |
In /etc/profile
können Sie systemweite Einträge vornehmen. Aktivieren Sie hier die Erstellung der Core-Dateien, die Programmierer für die Fehlersuche benötigen. Ein normaler Benutzer kann die in /etc/profile
vom Systemadministrator festgelegten Werte nicht erhöhen, er kann jedoch spezielle Einträge in ~/.bashrc
vornehmen.
Beispiel 10.4. ulimit: Einstellungen in ~/.bashrc
# Limits of physical memory: ulimit -m 98304 # Limits of virtual memory: ulimit -v 98304
Die Speicherangaben müssen in KB erfolgen. Weitere Informationen erhalten Sie mit man bash.
Wichtig | |
---|---|
ulimit-Anweisungen werden nicht von allen Shells unterstützt. PAM (beispielsweise |
Der Befehl free ist leicht irreführend, wenn Sie herausfinden möchten, wie viel Arbeitsspeicher zurzeit verwendet wird. Die entsprechenden Informationen finden Sie in /proc/meminfo
. Heute müssen sich Benutzer, die ein modernes Betriebssystem wie Linux verwenden, in der Regel kaum Gedanken über den Arbeitsspeicher machen. Das Konzept des verfügbaren Arbeitsspeichers geht auf Zeiten vor der einheitlichen Speicherverwaltung zurück. Bei Linux gilt der Grundsatz freier Arbeitsspeicher ist schlechter Arbeitsspeicher. Daher wurde bei Linux immer darauf geachtet, die Caches auszugleichen, ohne freien oder nicht verwendeten Arbeitsspeicher zuzulassen.
Der Kernel verfügt nicht direkt über Anwendungs- oder Benutzerdaten. Stattdessen verwaltet er Anwendungen und Benutzerdaten in einem Seiten-Cache. Falls nicht mehr genügend Arbeitsspeicher vorhanden ist, werden Teile auf der Swap-Partition oder in Dateien gespeichert, von wo aus sie mithilfe des Befehls mmap abgerufen werden können. (siehe man mmap).
Der Kernel enthält zusätzlich andere Caches, wie beispielsweise den slab-Cache, in dem die für den Netzwerkzugriff verwendeten Caches gespeichert werden. Hiermit können die Unterschiede zwischen den Zählern in /proc/meminfo
erklärt werden. Die meisten, jedoch nicht alle dieser Zähler können über /proc/slabinfo
aufgerufen werden.
Die Auflösung von Domänennamen erfolgt über die Datei /etc/resolv.conf
. Informationen hierzu erhalten Sie in Kapitel 20, Das Domain Name System (DNS).
Diese Datei wird ausschließlich mit dem Skript /sbin/modify_resolvconf
aktualisiert. Kein anderes Programm verfügt über direkte Änderungsberechtigungen für /etc/resolv.conf
. Das Erzwingen dieser Regel ist die einzige Möglichkeit, um die Konsistenz der Netzwerkkonfiguration und der relevanten Dateien des Systems zu gewährleisten.
Für einige GNU-Anwendungen (wie beispielsweise tar) sind keine Manualpages mehr vorhanden. Verwenden Sie für diese Befehle die Option --help
, um eine kurze Übersicht über die info-Seiten zu erhalten, in der Sie detailliertere Anweisungen erhalten. info befindet sich im Hypertextsystem von GNU. Eine Einführung in dieses System erhalten Sie durch Eingabe von info info
. Info-Seiten können durch Eingabe von emacs -f info
mit Emacs oder mit info direkt in einer Konsole angezeigt werden. Sie können auch tkinfo, xinfo oder das Hilfesystem von SUSE zum Anzeigen von info-Seiten verwenden.
GNU Emacs ist eine komplexe Arbeitsumgebung. In den folgenden Abschnitten werden die beim Starten von GNU Emacs verarbeiteten Dateien beschrieben. Weitere Informationen hierzu erhalten Sie online unter http://www.gnu.org/software/emacs/.
Beim Starten liest Emacs mehrere Dateien, in denen die Einstellungen für den Benutzer, den Systemadministrator und den Distributor zur Anpassung oder Vorkonfiguration enthalten sind. Die Initialisierungsdatei ~/.emacs
ist in den Home-Verzeichnissen der einzelnen Benutzer von /etc/skel
installiert. .emacs
wiederum liest die Datei /etc/skel/.gnu-emacs
. Zum Anpassen des Programms kopieren Sie .gnu-emacs
in das Home-Verzeichnis (mit cp /etc/skel/.gnu-emacs ~/.gnu-emacs) und nehmen Sie dort die gewünschten Einstellungen vor.
In .gnu-emacs
wird die Datei ~/.gnu-emacs-custom
als custom-file
definiert. Wenn Benutzer in Emacs Einstellungen mit den customize
-Optionen vornehmen, werden die Einstellungen in ~/.gnu-emacs-custom
gespeichert.
Bei SUSE Linux wird mit dem emacs
-Paket die Datei site-start.el
im Verzeichnis /usr/share/emacs/site-lisp
installiert. Die Datei site-start.el
wird vor der Initialisierungsdatei ~/.emacs
geladen. Mit site-start.el
wird unter anderem sichergestellt, dass spezielle Konfigurationsdateien mit Emacs-Zusatzpaketen, wie psgml
, automatisch geladen werden. Konfigurationsdateien dieses Typs sind ebenfalls unter /usr/share/emacs/site-lisp
gespeichert und beginnen immer mit suse-start-
. Der lokale Systemadministrator kann systemweite Einstellungen in default.el
festlegen.
Weitere Informationen zu diesen Dateien finden Sie in der Info-Datei zu Emacs unter Init File: info:/emacs/InitFile. Informationen zum Deaktivieren des Ladens dieser Dateien (sofern erforderlich) stehen dort ebenfalls zur Verfügung.
Die Komponenten von Emacs sind in mehrere Pakete unterteilt:
Das Basispaket emacs
.
emacs-x11
(in der Regel installiert): das Programm mit X11-Unterstützung.
emacs-nox
: das Programm ohne X11-Unterstützung.
emacs-info
: Onlinedokumentation im Info-Format.
emacs-el
: Die nicht kompilierten Bibliotheksdateien in Emacs Lisp. Sie sind während der Laufzeit nicht erforderlich.
Falls erforderlich, können mehrere Zusatzpakete installiert werden: emacs-auctex
(für LaTeX), psgml
(für SGML und XML), gnuserv
(für den Client- und Serverbetrieb) und andere.