Inhaltsverzeichnis
Zusammenfassung
In diesem Kapitel erhalten Sie zunächst Informationen zu den verschiedenen Softwarepaketen, 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 mit sprach- und landesspezifischen Einstellungen (I18N und L10N).
Die Programma bash
, cron
, logrotate
, locate
, ulimit
und free
sowie die Datei resolv.conf
spielen für Systemadministratoren und viele Benutzer eine wichtige Rolle. man-Seiten 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-System-Shell. 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
Nehmen Sie benutzerdefinierte Einstellungen in ~/.profile
oder ~/.bashrc
vor. 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 Kommandos regelmäßig und automatisch zu bestimmten Zeiten im Hintergrund ausführen möchten, verwenden Sie dazu am besten das Tool 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 16.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 16.1. Eintrag in /etc/crontab
1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun
Sie können /etc/crontab
nicht bearbeiten, indem Sie den Befehl crontab -e bearbeiten. Die Datei muss direkt in einem Editor geladen, geändert und dann gespeichert werden.
Einige Pakte installieren Shell-Skripten 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 alle 15 Minuten von der Haupttabelle (/etc/crontab
) ausgeführt. Hiermit wird gewährleistet, dass vernachlässigte Prozesse zum richtigen Zeitpunkt ausgeführt werden können.
Um die Skripten hourly
, daily
oder andere Skripten für regelmäßige Wartungsarbeiten zu benutzerdefinierten Zeiten auszuführen, entfernen Sie regelmäßig die Zeitstempeldateien mit/etc/crontab
-Einträgen (siehe Beispiel 16.2, „/etc/crontab: Entfernen der Zeitstempeldateien“ - u. a. wird hourly
vor jeder vollen Stunde und daily
einmal täglich um 2:14 Uhr entfernt).
Beispiel 16.2. /etc/crontab: Entfernen der 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
Stellen Sie DAILY_TIME
in /etc/sysconfig/cron
alternativ auf die Zeit ein, zu der cron.daily
gestartet werden soll. Mit MAX_NOT_RUN
stellen Sie sicher, dass die täglichen Aufträge auch dann ausgeführt werden, wenn der Computer zur angegebenen DAILY_TIME
und auch eine längere Zeit danach nicht eingeschaltet ist. Die maximale Einstellung von MAX_NOT_RUN
sind 14 Tage.
Die täglichen Systemwartungsaufträge werden 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. Programme, die Protokolldateien erstellen, installieren einzelne Konfigurationsdateien in /etc/logrotate.d
. Solche Dateien sind beispielsweise im Lieferumfang der Pakete apache2
(/etc/logrotate.d/apache2
) und syslogd
(/etc/logrotate.d/syslog
) enthalten.
Beispiel 16.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.
locate, ein Befehl zum schnellen Suchen von Dateien ist nicht im Standardumfang der installierten Software enthalten. Wenn Sie möchten, installieren Sie das Paket findutils-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 16.1, „ulimit: Einstellen von Ressourcen für Benutzer“ aufgeführten Optionen.
Tabelle 16.1. ulimit: Einstellen von Ressourcen für Benutzer
|
Die maximale nicht auslagerbare festgelegte Größe |
|
Die maximale Größe des virtuellen Arbeitsspeichers, der der Shell zur Verfügung steht |
|
Die maximale Größe des Stapels |
|
Die maximale Größe der erstellten Kerndateien |
|
Alle aktuellen Grenzwerte werden gemeldet |
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 16.4. ulimit: Einstellungen in ~/.bashrc
# Limits maximum resident set size (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.
ulimit-Direktiven 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. Dies erklärt die Unterschiede zwischen den Zählern in /proc/meminfo
. 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
. Weitere Informationen finden Sie im Abschnitt Kapitel 22, 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 man-Seiten 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, wenn Sie infoinfo
eingeben. Info-Seiten können mit Emacs angezeigt werden, wenn Sie emacs -f info
eingeben oder mit info direkt in einer Konsole angezeigt werden. Sie können auch tkinfo, xinfo oder das Hilfesystem von 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.
.gnu-emacs
definiert die Datei ~/.gnu-emacs-custom
als custom-file
. Wenn Benutzer in Emacs Einstellungen mit den customize
-Optionen vornehmen, werden die Einstellungen in ~/.gnu-emacs-custom
gespeichert.
Bei openSUSE 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-Support.
emacs-nox
: das Programm ohne X11-Support.
emacs-info
: Online-Dokumentation im info-Format.
emacs-el
: die nicht kompolierten Bibliotheksdateien in Emacs Lisp. Sie sind während der Laufzeit nicht erforderlich.
Verschiedene Add-On-Pakete können bei Bedarf installiert werden: emacs-auctex
(für LaTeX), psgml
(für SGML und XML), gnuserv
(für Client- und Server-Vorgänge) und andere.