Korrekt installierte Manpages können mit den folgenden Kommandos angesehen bzw. gedruckt werden:
man [SEKTION] THEMA man -t [SEKTION] THEMA | lpr
Die Suche nach bestimmten Themen ist dem Kommando apropos vorbehalten:
linux@gundel > apropos rpm glint (8) - Graphical Linux Installation Tool for RPM based systems rpm (8) - Red Hat Package Manager rpm2cpio (8) - Converts Red Hat Packge (RPM) to cpio archiveDie Verzeichnisse, in denen nach Manpages gesucht wird, werden gewöhnlich durch die Umgebungsvariable
MANPATH bestimmt:
linux@gundel > echo $MANPATH /usr/local/man:/usr/man/preformat:/usr/man:/usr/X11/man:/usr/lib/perl5/man:/usr/man/itcl
Eine Sammlung von in der Newsgruppe de.comp.os.linux.misc häufig gestellten Fragen mit entsprechenden Antworten wird dort monatlich von Karsten Merker <dcol-faq@cologne.de> gepostet.
Ein Werkzeug, das Systemaufrufe protokolliert, kann sich als sehr
hilfreich erweisen. Unter Linux ist dafür das Programm strace zuständig.
Die Ausgabe aller Systemaufrufe, die Dateien öffnen, demonstriert das
folgende Beispiel:
> strace -e open ls > /dev/null
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/libc.so.5.3.12", O_RDONLY) = 3
open("/usr/share/locale/C/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open(".", O_RDONLY) = 3 Die möglichen Systemaufrufe werden in der Datei
/usr/include/asm/unistd.h definiert und durch die Manpages der Sektion 2
beschrieben.
Diverse Parameter des ext2fs können mit tune2fs eingestellt werden:
chown geändert werden.
sed
gelöscht werden. Das folgende Beispiel demonstriert, wie die
erste, die letzte bzw. die zweite bis vierte Zeile aus einer Datei gelöscht
werden. racke#~/tmp > echo -e 'foo\nbar\nbla\nups' > file racke#~/tmp > sed -e '1d' file bar bla ups racke#~/tmp > sed -e '$d' file foo bar bla racke#~/tmp > sed -e '2,4d' file foo
xterm oder rxvt) bezeichnet.
Diese können durch Eingabe von Spezialzeichen (i.a. Kombinationen mit der Controltaste) gesteuert werden. Mit stty können u.a. die Zuordnung
der Spezialzeichen eingestellt werden.
Bei versehentlicher Eingabe des Spezialzeichens für den Stop der Ausgabe der eingegebenen Zeichen (normalerweise Control-s) kann der Eindruck entstehen, daß die Shell "hängt". Dieser Zustand kann durch Eingabe des Spezialzeichens für den Neustart der Ausgabe (normalerweise Control-q) wieder verlassen werden.
setterm -blank 0
geschehen.
xset s 0 ausgeschaltet.
xterm, die gewöhnlich mit der
Kombination Control- und Maustaste erreicht werden (das Aufblenden der Menüs
kann seine Zeit brauchen). Das Hauptmenü ermöglicht es verschiedene Signale an die
Anwendung zu senden, die unter dem xterm läuft.
all_proxyhttp_proxy
ftp_proxyno_proxylpr-Befehl.
psselect -r FILE | lpr
proc zur Verfügung gestellt, das normalerweise als /proc gemountet wird. Voraussetzung ist ein Kernel, der mit aktivierten CONFIG_PROC_FS
erzeugt wurde.
Der Inhalt dieser Dateien kann mit dem Kommando cat gelesen werden. Kommandos wie z.B. less schlagen fehl, da fast alle Dateien im
proc-Dateisystem die Länge 0 haben. Durch Schreiben in
bestimmte Dateien können auch Systemparameter verändert werden.
racke#~ > cat /proc/filesystems
ext2
minix
nodev proc
iso9660
Die Versionsnummer eines Linuxkernels besteht aus 3 durch Punkte getrennte Zahlen, z.B. 2.0.25. Die zweite Zahl gibt Aufschluß darüber, um welchen Kerneltyp es sich handelt. Userkernel sind durch eine gerade, Hackerkernel durch eine ungerade Zahl gekennzeichnet.
Userkernel sind für den normalen Anwender bestimmt und enthalten fast nur ausgetestete Features. Neue Versionen sind meist nur Bugfixes.
Hackerkernel dienen zum Ausprobieren von neuen Features und generell der Weiterentwicklung von Linux. Sie können aber durchaus von bestechender Stabilität sein, wie z.B. die Versionen 1.3.57 oder 1.3.68. Schließlich stammt der erste Userkernel einer Serie direkt vom letzten Entwicklungskernel der vorhergehenden Serie ab. Ein Wunschzettel für neue Features wird in der Newsgruppe comp.os.linux.development.system diskutiert. Dort werden auch die Kernel Change Summaries gepostet.
Die Kernelsourcen enthalten ein Verzeichnis Documentation mit
Informationen zum Linuxkernel. Nach Einspielen einer neuen Kernelversion
sollte man sich zunächst die Changes-Datei in diesem
Verzeichnis zu Gemüte führen.
Ankündigungen und Patches für neue Kernelversionen werden auf den
Mailinglistenlinux-kernel-announce@vger.rutgers.edu bzw.
linux-kernel-patch@vger.rutgers.edu verschickt. Mit einer Mail
an majordomo@vger.rutgers.edu
mit dem Inhalt subscribe linux-kernel-announce EMail-Adresse
bzw. subscribe linux-kernel-patch EMail-Adresse
können diese abonniert werden.
/usr/src/linux befinden. Sinnvollerweise werden das oder die
Verzeichnisse mit den Kernelsourcen als Unterverzeichnisse von
/usr/src mit dem Namen linux-VERSION
eingerichtet und ein symbolischer Link linux angelegt: /usr/src > tar -xzf linux-2.0.21.tar.gz /usr/src > ln -s linux-2.0.21 linuxDies erleichtert z.B. die Zusammenarbeit mit dem
pk-Skript zum automatischen Patchen des Kernels.
Als erstes wird der Kernelpatch in das Verzeichnis /usr/src
kopiert:
/incoming > cp patch-2.0.21-2.1.0.gz /usr/srcNun kann der Patch eingespielt werden:
/usr/src > zcat patch-2.0.21-2.1.0.gz | patch -p0Ist der Patch fehlgeschlagen, legt
patch Dateien mit der Endung .rej an. Diese kann
man aufspüren mit dem folgenden Kommando: /usr/src > find linux-2.0.21 -name '*.rej'
make config bzw. make oldconfig
werden alle Einstellungen nacheinander abgefragt, so daß man bei einer
Fehleingabe von neuem beginnen muß. Letzterer Befehl fragt jedoch nur
neue oder geänderte Einstellungsmöglichkeiten ab.make menuconfig auch auf der Konsole
durchgeführt werden, Voraussetzung ist lediglich das Vorhandensein der ncurses-Bibliothek.make xconfig möglich.
System is too big fehl, wenn der erzeugte Kernel eine bestimmte
Grö[szlig ]&;[uuml ]&erschreitet.
In diesem Fall sind die Makefile-Targets;
bzImage, bzlilo bzw. bzdisk zu verwenden.
kerneld automatisiert das Laden benötigter und das
Entfernen nicht mehr benötigter Module.
Dynamische Module werden vom Kernel unterstüzt, wenn bei Konfiguration des Kernels die Option CONFIG_MODULES
gesetzt worden ist. Die entsprechende Option für den Kerneldämon
heißt CONFIG_KERNELD. Weiterhin ist es empfehlenswert CONFIG_MODVERSIONS zu
aktivieren, damit Symbole beim Laden von Modulen unabhängig von der
Kernelversion geprüft werden können [1].
kerneld und weitere Programme sind im modules
-Paket enthalten, daß vor der Verwendung dynamischer Module
installiert werden muß. Dies geschieht durch Aufruf von make
install im Hauptverzeichnis nach Auspacken der Sourcen.
Nach dem Erzeugen des Kernels werden die als Module konfigurierten Treiber, Binärformate und Dateisysteme mit make modules übersetzt und mit make modules_install installiert.
Der Kerneldämon wird bei der Initialisierung des Systems gestartet. Dies sollte zu einem möglichst frühen Zeitpunkt geschehen, damit während der Abarbeitung der Initscripte der Modulsupport zur Verfügung steht.
Das folgende Scriptschnippsel startet den Kerneldämon und aktualisiert die Modulabhängigkeiten [1]:
if [ -x /sbin/kerneld ] then /sbin/kerneld if [ ! -r /lib/modules/`uname -r`/modules.dep ] then echo "Creating module dependencies" /sbin/depmod -a fi fi
CONFIG_SYSCTL
erzeugt wurde.
Hinweise zur Analyse von Fehlermeldungen des Kernels befinden sich in /usr/src/linux/Documentation/oops-tracing.txt.
Letzteres Verfahren hat folgende Vorteile:
> ldd /usr/sbin/sendmail libc.so.5 => /lib/libc.so.5.3.12
Bestimmte Newsreader erzeugen noch weitere Dateien, z.B. benutzt der im Editor Emacs integrierte Newsreader GNUS die Dateien .newsrc.el und .newsrc.eld
im Homeverzeichnis des Benutzers.
config
CONFIG_...
make
menuconfig
ncurses
oldconfig
proc
xconfig