Inhaltsverzeichnis
Zusammenfassung
In diesem Kapitel finden Sie Hinweise zu einzelnen Softwarepaketen sowie zu den virtuellen Konsolen und zur Tastaturbelegung. Den Abschluss bildet ein Abschnitt zu sprach- bzw. landesspezifischen Anpassungen (I18N/L10N).
In dieser Reihenfolge wertet die bash die Initialisierungsdateien aus, wenn sie als Login-Shell aufgerufen wird:
/etc/profile
~/.profile
/etc/bash.bashrc
~/.bashrc
Eigene Einträge können Benutzer in ~/.profile bzw.
~/.bashrc vornehmen. Um ordnungsgemäßes Abarbeiten
dieser Dateien zu gewährleisten, ist es erforderlich, dass die aktuellen
Grundeinstellungen von /etc/skel/.profile bzw.
/etc/skel/.bashrc in das Benutzerverzeichnis übernommen
werden. Nach einem Update empfiehlt sich deshalb, die Einstellungen aus
/etc/skel zu übernehmen. Um keine eigenen Anpassungen
zu verlieren, führen Sie bitte die folgenden Shellbefehle aus:
mv ~/.bashrc ~/.bashrc.old cp /etc/skel/.bashrc ~/.bashrc mv ~/.profile ~/.profile.old cp /etc/skel/.profile ~/.profile
Danach sind die eigenen Anpassungen aus den Dateien
*.old zurückzuschreiben.
Die cron-Tabellen liegen unter
/var/spool/cron/tabs. Als systemweite Tabelle wird die
Datei /etc/crontab eingerichtet. In der Datei
/etc/crontab muss zusätzlich nach der Zeitangabe
eingetragen werden, unter welchem Benutzer der jeweilige Auftrag ausgeführt
werden soll (vgl. Beispiel 10.1, „Beispiel eines Eintrags in /etc/crontab“, dort ist
root angegeben); dem gleichen
Format folgen paketspezifische Tabellen, die in
/etc/cron.d liegen – vgl. die Manualpage
man cron.
Beispiel 10.1. Beispiel eines Eintrags in /etc/crontab
1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun
/etc/crontab kann nicht mit
crontab -e bearbeitet werden, sondern muss direkt in
einen Editor geladen, bearbeitet und gespeichert werden.
Einige Pakete installieren in den Verzeichnissen
/etc/cron.hourly, /etc/cron.daily,
/etc/cron.weekly und
/etc/cron.monthly Shellskripten, deren Abarbeitung von
/usr/lib/cron/run-crons gesteuert wird.
/usr/lib/cron/run-crons wird alle 15 Minuten von
der Haupt-Tabelle (/etc/crontab) aufgerufen. So wird
sichergestellt, dass eventuell versäumte Läufe rechtzeitig nachgeholt
werden.
Die täglichen Wartungsarbeiten am System sind aus Gründen der
Übersichtlichkeit auf mehrere Skripten verteilt worden. Sie sind im Paket
aaa_base enthalten. In
/etc/cron.daily gibt es zum Beispiel die Komponenten
backup-rpmdb, clean-tmp oder
clean-vi.
Zahlreiche System-Dienste (engl. Daemons) und auch
der Kernel selbst protokollieren regelmäßig Systemzustände oder besondere
Vorkommnisse in Protokoll-Dateien (engl. logfiles). So
kann der Administrator zuverlässig feststellen, in welchem Zustand sich das
System zu einem bestimmten Zeitpunkt befand, Fehler oder Fehlfunktionen
erkennen und gezielt beheben. Diese Protokoll-Dateien werden in der Regel
gemäß FHS unter /var/log abgelegt und werden von Tag zu
Tag größer. Mit Hilfe von logrotate ist es möglich,
das Wachsen der Protokoll-Dateien zu steuern.
In der Konfigurationsdatei /etc/logrotate.conf wird das
generelle Verhalten festgelegt. Mit der
include-Angabe wird insbesondere konfiguriert,
welche weiteren Dateien ausgewertet werden sollen. Bei SUSE LINUX ist
vorgesehen, dass die einzelnen Pakete in
/etc/logrotate.d Dateien installieren (beispielsweise
syslog oder yast).
Beispiel 10.2. 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 selbst wird über
cron gesteuert und einmal täglich von
/etc/cron.daily/logrotate angestoßen.
Für einige GNU-Programme (zum Beispiel tar)
werden die Manualpages nicht mehr weiter gepflegt. An ihre Stelle treten
als Schnellübersicht die --help-Ausgabe sowie als
ausführliche Handbücher die Info-Dateien. info
ist GNUs Hypertext-System. Mit info
info erhält man erste Hilfe zur Benutzung;
info kann entweder über
Emacs emacs -f
info aufgerufen werden, oder direkt mit dem Befehl
info. Angenehm zu bedienen sind
tkinfo, xinfo oder der
Zugriff über das Hilfesystem.
locate zum schnellen Finden von Dateien
gehört nicht zum Standardumfang der installierten Software. Bei Bedarf
bitte nachinstallieren (find-locate) — dann
wird entweder täglich in der Nacht oder ca. 15 Minuten nach dem
Einschalten automatisch der updatedb-Prozess
gestartet.
Mit dem Befehl ulimit (engl. user limits) ist es möglich, Limits für die Nutzung von Systemressourcen zu setzen, bzw. sich diese anzeigen zu lassen. Insbesondere ist ulimit dazu geeignet, den zur Verfügung stehenden Speicher für Anwendungen zu begrenzen. Dadurch wird verhindert, dass eine Anwendung übermäßig viel (allen) Speicherplatz für sich beschlagnahmt und das System zum Stillstand kommt.
Der Aufruf von ulimit kann mit verschiedenen Optionen erfolgen. Um den Speicherverbrauch zu begrenzen, sind zum Beispiel die Optionen in Tabelle 10.1, „ulimit: Ressourcen für den Anwender einstellen“ tauglich.
Tabelle 10.1. ulimit: Ressourcen für den Anwender einstellen
| max. Größe des physikalischen Speichers |
| max. Größe des virtuellen Speichers |
| max. Größe des Stacks |
| max. Größe der Core-Dateien |
| Anzeige der gesetzten Limits |
Systemweit können die Einstellungen in /etc/profile
vorgenommen werden. Dort muss beispielsweise das Erzeugen von Core-Dateien
freigeschaltet werden, die Programmierer zum „Debuggen“
benötigen. Als Anwender kann man die vom Systemadministrator in
/etc/profile vorgegebenen Werte nicht erhöhen, aber man
kann spezielle Einstellung in die eigene ~/.bashrc
eintragen.
Beispiel 10.3. ulimit-Einstellungen in ~/.bashrc
# Begrenzung des realen Speichers ulimit -m 98304 # Begrenzung des virtuellen Speichers ulimit -v 98304
Die Speicherangaben müssen in KB gemacht werden. Für detailliertere Informationen werfen Sie bitte einen Blick in die Manualpage man bash.
![]() | Wichtig |
|---|---|
Nicht alle Shells unterstützen ulimit-Angaben. Wenn Sie
auf übergreifende Einstellungen für derartige Beschränkungen angewiesen
sind, dann bietet PAM (zum Beispiel | |
Der Befehl free ist etwas irreführend, wenn es darum geht
herauszufinden, wie der Arbeitsspeicher gerade verwendet wird. Informationen
findet man in /proc/meminfo. Heutzutage sollte sich
eigentlich kein Anwender darum Gedanken machen, dem ein modernes
Betriebssystem wie Linux zur Verfügung steht. Das Konzept vom „freien
Arbeitsspeicher“ datiert von der Zeit her, als es noch keine
vereinheitlichte Speicherverwaltung (engl. unified memory
management) gab – unter Linux gilt das Motto:
„freier Speicher ist schlechter Speicher“ (engl.
free memory is bad memory). Infolgedessen ist
Linux immer bestrebt, verschiedene Caches auszubalancieren, nie aber
wirklich freien (= ungenutzten) Speicher zuzulassen.
Der Kernel weiß im Grunde nichts direkt von Programmen oder Benutzerdaten. Er verwaltet Programme und Benutzerdaten im so genannten „Page Cache“. Wenn der Speicher knapp wird, werden Teile davon entweder in den Swapbereich oder in die Dateien geschrieben, aus denen sie ursprünglich mit Hilfe des Systemaufrufs mmap gelesen wurden; vgl. die Manualpage von mmap.
Des Weiteren hält der Kernel auch noch andere Zwischenspeicher, wie den
„slab cache“, der zum Beispiel die für den Netzwerkzugriff
benutzten Puffer enthält. Dadurch werden eventuelle Differenzen zwischen den
Zählern in /proc/meminfo erklärt. Die meisten, aber
nicht alle, sind über /proc/slabinfo abfragbar.
Die Namensauflösung wird über die Datei
/etc/resolv.conf geregelt; vgl. Kapitel 24, Domain Name System .
Diese Datei wird stets nur von
dem Skript /sbin/modify_resolvconf aktualisiert. Es
ist keinem Programm erlaubt, /etc/resolv.conf direkt zu
manipulieren. Nur wenn diese Regel beachtet wird, kann sichergestellt
werden, dass die Netzwerkkonfiguration und die zugehörigen Daten konsistent
gehalten werden.
GNU Emacs ist eine komplexe Arbeitsumgebung. Weiterführende Informationen finden Sie unter http://www.gnu.org/software/emacs/.
In den folgenden Absätzen werden die Konfigurationsdateien genannt, die GNU Emacs beim Start abarbeitet. Beim Start liest Emacs mehrere Dateien ein, um gemäß den Vorgaben des Benutzers, des Systemadministrators und oder des Distributors für die jeweilige Bedürfnissen angepasst oder vorkonfiguriert zu werden.
Für jeden Benutzer wird im Home-Verzeichnis die Initialisierungsdatei
~/.emacs von /etc/skel installiert;
.emacs wiederum liest die Datei
/etc/skel/.gnu-emacs ein. Wenn ein Benutzer eigene
Anpassungen vornehmen möchte, empfiehlt es sich, diese Datei
.gnu-emacs in das eigene Home-Verzeichnis zu kopieren
und dort die gewünschten Einstellungen vorzunehmen:
cp /etc/skel/.gnu-emacs ~/.gnu-emacs
In .gnu-emacs wird die Datei
~/.gnu-emacs-custom als custom-file
festgelegt; wenn der Benutzer mit den
customize-Möglichkeiten eigene Einstellungen vornimmt,
werden diese in ~/.gnu-emacs-custom gespeichert.
Mit dem Paket emacs wird bei
SUSE LINUX die Datei site-start.el im Verzeichnis
/usr/share/emacs/site-lisp installiert. Die Datei
site-start.el wird vor der
Initialisierungsdatei ~/.emacs geladen.
site-start.el sorgt beispielsweise dafür, dass besondere
Konfigurationsdateien automatisch geladen werden, die mit
Emacs-Zusatzpaketen der Distribution installiert
werden (zum Beispiel Paket psgml).
Derartige Konfigurationsdateien befinden sich gleichfalls in
/usr/share/emacs/site-lisp und beginnen stets mit
suse-start-.
Der lokale Systemadministrator kann in default.el
systemweite Einstellungen vornehmen.
Mehr Informationen zu diesen Dateien
finden Sie in der Info-Datei zu Emacs, im Knoten Init
File: info:/emacs/InitFile. Dort ist auch
beschrieben, wie man — falls notwendig — das Laden dieser Dateien
verhindern kann.
Die Bestandteile des Emacs' sind auf mehrere Pakete verteilt:
Basispaket emacs
Dazu ist in der Regel das Paket emacs-x11 zu installieren, in dem das
Programm mit X11-Unterstützung enthalten ist.
Im Paket emacs-nox ist das
Programm ohne X11-Unterstützung enthalten.
Das Paket emacs-info stellt
Online-Dokumentation im Info-Format bereit.
Das Paket emacs-el enthält die
nicht kompilierten Bibliotheksdateien in Emacs Lisp — zur Laufzeit
nicht erforderlich!
Zahlreiche Zusatzpakete, die nach Bedarf installiert werden können: Paket
emacs-auctex (für LaTeX);
psgml
(für SGML/XML); gnuserv
(für Client-/Serverbetrieb) usw.
Für viele Arbeiten am System, aber für Programmierarbeiten werden auch heute noch Texteditoren verwendet. Im Unix Bereich hat sich im Laufe der Zeit der vi als Editor herauskristallisiert, der neben komfortablen Funktionen zum Editieren auch noch im Hinblick auf Ergonomie so manchen Editor in den Schatten stellt, der mit Maus bedient wird.
Grundsätzlich unterscheidet man beim vi drei verschiedene Betriebsmodi: Den Insert-Modus, den Command-Modus und den Extended-Modus. Die Tasten haben je nach Modus verschiedene Auswirkungen. Nach dem Start ist der vi normalerweise im Command-Modus. Zunächst sollte man lernen, wie man zwischen den Modi umschaltet:
Hier gibt es eine große Anzahl von Möglichkeiten. Gebräuchlich sind A wie append, I wie insert, oder O für eine neue Zeile unter der aktuellen Zeile.
Um den Insert-Modus zu verlassen benötigen Sie die Taste Esc. Im Insert-Modus ist es nicht möglich, den vi zu beenden. Daher ist es wichtig, Esc zu verinnerlichen.
Der Extended-Modus des vi kann durch einen vorangestellten Doppelpunkt (:) erreicht werden. Der Extended-Modus oder auch ex-Modus entspricht einem eigenen zeilenorientierten Editor. Mit ihm können vielfältige, auch kompliziertere Aufgaben erledigt werden.
Nach dem Ausführen eines Befehls im Extended-Modus befindet man sich grundsätzlich wieder im Command-Modus. Wenn man im Extended-Modus doch keinen Befehl ausführen möchte, kann man mit Hilfe von den Doppelpunkt wieder löschen, und kommt ebenfalls zurück in den Command-Modus.
Beachten Sie, dass ein Wechsel vom Insert-Modus in den Extended-Modus immer den Zwischenschritt Command-Modus benötigt. Ein direkter Wechsel ist nicht vorgesehen.
Wie andere Editoren hat auch vi einen eigenen Weg, um das Programm zu verlassen. Der vi kann im Insert-Mode nicht verlassen werden. Sie müssen also den Insert-Mode zunächst mit der Taste Esc verlassen. Danach unterscheidet man zwei Fälle:
Beenden ohne Speichern: Wenn Sie den Editor beenden möchten, ohne die Änderungen zu speichern, geben sie im Command-Modus : Q ! ein. Das Ausrufezeichen ! bewirkt, dass der vi die gemachten Änderungen ignoriert.
Beenden mit Speichern: Um Ihre Änderungen zu speichern und dann den Editor zu beenden haben Sie mehrere Möglichkeiten. Im Command-Modus benutzen Sie Z Z. Im Extended-Modus lautet der Befehl : W Q. Wie Sie leicht sehen, steht im Extended-Modus das W für „write“ (schreiben) und das Q für „quit“ (beenden).
Der vi kann wie ein ganz normaler Editor verwendet werden. Sobald Sie im Insert-Modus sind, können Sie Text eingeben, und mit Hilfe von und ist auch das Löschen von Text möglich. Um den Cursor zu bewegen, können Sie die Steuerungstasten für Cursor verwenden.
Oftmals gibt es aber gerade mit diesen Steuerungstasten Probleme. Diese kommen daher, dass es sehr viele verschiedenen Terminal Typen gibt, die jeweils ihre ganz speziellen keycodes verwenden. An dieser Stelle kommt nun der Command-Modus ins Spiel. Drücken Sie die Taste Esc, um aus dem Insert-Modus in den Command-Modus zu gelangen. Im Command-Mode können Sie mit den Tasten H, J, K, und L den Cursor bewegen. Hierbei bedeuten:
ein Zeichen nach links
eine Zeile nach unten
eine Zeile nach oben
ein Zeichen nach rechts
Die Befehle im Command-Modus des vi kennen verschiedene Variationen. Wenn Sie einen Befehl mehrfach ausführen wollen, so können Sie die Anzahl der Wiederholungen einfach als Zahl eingeben, und danach den eigentlichen Befehl aufrufen. Wenn Sie also die Befehlsfolge 5L eingeben, dann wird der Cursor fünf Zeichen nach rechts wandern.
Der vi kennt sehr viele Befehle. Man kann für ihn Macros schreiben, man kann Abkürzungen verwenden, es gibt benannte Puffer, und viele andere nützliche Dinge. Diese ausführlich zu beschreiben führt an dieser Stelle zu weit. Unter SUSE LINUX kommt als vi eine verbesserte Version zum Einsatz, der vim (vi improved). Zu diesem Programm gibt es zahlreiche Informationsquellen:
vimtutor ist ein interaktives Lernprogramm für den vim.
Im vim bekommen Sie mit dem Befehl
:help Hilfe zu sehr vielen Themengebieten
Im Internet finden Sie ein (englischsprachiges) Buch zum vim unter http://www.truth.sk/vim/vimbook-OPL.pdf.
Auf den Webseiten des vim-Projekts finden Sie alle möglichen Neuigkeiten, Mailinglisten und sonstige Dokumentationen. Sie finden diese unter http://www.vim.org.
Im Internet finden sich auch einige Tutorials zum vim. Dazu gehören: http://www.selflinux.org/selflinux/html/vim.html, http://www.linuxgazette.com/node/view/9039 und http://www.apmaths.uwo.ca/~xli/vim/vim_tutorial.html. Weitere Links zu Tutorials finden Sie unter http://linux-universe.com/HOWTO/Vim-HOWTO/vim-tutorial.html.
![]() | Die VIM Lizenz |
|---|---|
vim ist so genannte „Charityware“. Dies bedeutet, dass die Autoren kein Geld für die Software haben möchten, Sie aber dazu anhalten, ein gemeinnütziges Projekt mit einer Spende zu unterstützen. Bei diesem Projekt sollen Kinder in Uganda unterstützt werden. Weitere Informationen hierzu erhalten Sie im Internet unter http://iccf-holland.org/index.html, http://www.vim.org/iccf/ und http://www.iccf.nl/. | |