Zurück
*
Startseite
*
Computer-Hilfe-Forum
Windows Lexikon
*
Webdesign-Forum
*
E D V - Lexikon
Linux Lexikon
*
Hardware Lexikon
*
Spiele & Games
Software - Hilfe
*
Elektronik-Recycling-Projekt
Gebraucht - PC - Portal
Linux - Lexikon der Tricks- und Tipp's & Erklärungen
des freien Betriebssystemes Linux - Suse Linux
Aus Zeitschriften|Magazinen gesammelt, alphabetisch geordnet & archiviert
Linux-Tipp- und Trick- Lexikon
Linux-Betriebssystem Lexikon
Linux-Tipp- und Trick- Lexikon
Linux-Betriebssystem Lexikon
Aktive Prozesse abfragen
Dieser Tipp zeigt Ihnen, wie Sie im Kommandozeilenmodus oder unter X-Windows die aktuellen Prozesse überblicken.
Linux kann im Text- und Grafikmodus mehrere Programme (Prozesse), parallel nebeneinander ausführen. Mitunter verrichten Programme ihre Aufgaben dabei unerkannt im Hintergrund. Mit dem Befehl ps fragen Sie die aktiven Prozesse ab, um diese übergeordnet beenden zu können. Sie erhalten dabei Informationen darüber, welcher Benutzer einen Prozess gestartet hat. Über den zurückgelieferten Prozess-Status erhalten Sie dessen Kennungen, mit deren Hilfe Sie einzelne Prozesse gezielt per Befehl abschalten, wobei Sie als Systemadministrator angemeldet sein müssen. Sie können Prozesse von der Kommandozeile aus oder über eine Terminalemulation von X-Windows analysieren und beenden. Der Befehl ps informiert über einen Prozess des aktuellen Benutzers:
Bash# ps [Enter]
Um die Prozesse aller Benutzer abzufragen, verbinden Sie den Befehl ps mit dem Kommandozeilenschalter -a:
Bash# ps -a [Enter]
Sie erhalten eine Prozessliste. Jedem Programm ist dabei ein Aufrufbefehl (COMMAND) sowie eine zugehörige Prozesskennung (PID) zugeordnet. Der Eintrag TTY weist darüber hinaus aus, über welche virtuelle Konsole ein Befehl ausgeführt wurde.
Aliases abschalten
Kurzbefehle (Aliases) erleichtern Ihnen die Eingabe. Lästige Rückfragen können Sie einfach abschalten.
Viele Distributionen erfreuen den Anwender mit einer Reihe vordefinierter Aliases. Eine Liste der aktuell aktiven Alias-Kommandos erhalten Sie mit
alias
Aliases können auch stören. Wer das mv Kommando aus Sicherheitsgründen zu mv -i umdefiniert hat, muss ständig Rückfragen beantworten! Denn dieser Befehl erlaubt Überschreiben nur, nachdem Sie eine entsprechende Rückfrage beantwortet haben. Durch einen vorangestellten Rückstrich lässt sich ein Alias kurzzeitig deaktivieren. Damit bleibt die Rückfrage für die Eingabe aus.
Alles unter Kontrolle
Überblicken Sie alle Systemprozesse, um die PCAuslastung zu überwachen oder zu optimieren.
Um eine Übersicht der aktuellen Prozesse, der Systemauslastung oder Informationen zum Speicher abzufragen, verwenden Sie den Linux-Befehl top, ktop oder gtop. Er aktualisiert Informationen im 5-Sekunden-Takt. So erkennen Sie zeit- und rechenintensive Prozesse. Öffnen Sie das Programm in einer Terminalemulation unter X-Windows, können Sie das Fenster parallel zu anderen Fenstern verwalten und so die Systemauslastung überwachen. Wenn Sie den Befehl Bash# top eingeben und [Enter] drücken, erscheinen Systeminformationen tabellarisch angeordnet, die fortlaufend aktualisiert werden. Um das Programm und damit die Systemüberwachung zu beenden, aktivieren Sie unter XWindows zunächst das Terminalfenster, in dem das Programm aktuell ausgeführt wird. Betätigen Sie dann die Taste [q], um zur Eingabeaufforderung zu gelangen. Führen Sie das Programm top nicht in einem Fenster von X-Windows aus, sondern starten Sie es im Textmodus an einer einzelnen virtuellen Konsole. Zu dieser wechseln Sie nach Bedarf, um die Systeminformationen einzusehen. Um zwischen virtuellen Konsolen zu wechseln, nutzen Sie die Tastaturbefehle [Alt-F1] bis [Alt-F6]. Die Dienstprogramme, mit denen Sie die Systemauslastung in diversen Linux-Distributionen abfragen, finden Sie meistens im Installationspaket procps*.rpm.
Anders anmelden
Mit dem su-Kommando wechseln Sie schnell Ihren Account.
Normalerweise arbeitet niemand unter Linux mit seinem Superuser-Account. Trotzdem ist es oft notwendig, sich kurzfristig so anzumelden, um etwa eine Konfigurationsänderung zu administrieren. Geben Sie den su-Befehl ein, fragt Linux nach Ihrem Superuser-Passwort und meldet Sie direkt als Superuser an. Ist die administrative Tätigkeit beendet, verlassen Sie den Account mit exit und arbeiten weiter. Sind Sie als Superuser angemeldet, brauchen aber kurzfristig eine Information, die Sie besser mit einem User-Account erhalten, hilft das su-Kommando ebenfalls. Dabei gibt es zwei Spielarten:
su UserName
und
su -l UserName
Im ersten Fall arbeiten Sie mit der gleichen Shell, aber unter dem Account des angegebenen Usernamen weiter. Im zweiten Fall ruft der Befehl auch die Login-Shell auf, so dass Sie so arbeiten, als hätten Sie sich unter dem anderen Account angemeldet.
Arbeitsverläufe im System
Status-Informationen zeigen die Rechner- und Prozessauslastung an.
Oft ist es hilfreich, wenn Sie sich regelmäßig Status-Informationen über den Zustand eines bestimmten Arbeitsganges oder über die Auslastung eines Server-Programms anzeigen lassen. Ein solches Programm ist mysqladmin. Mit diesem Programm konfigurieren Sie einen MySQL-Server. Sie verwenden es aber auch, Status-Informationen über einen SQL-Server anzuzeigen. Das dazu benötigte Kommando lautet
mysqladmin status
Auch andere Programme verfügen über eine entsprechende Funktion. Es ist aber selbst mit der History-Funktion der Bash umständlich, alle paar Sekunden diesen Befehl aufzurufen, wenn Sie sich über einen längeren Zeitpunkt über den aktuellen Zustand des Programms informieren möchten. Mit dem watch-Kommando lassen Sie einen Befehl immer wieder ausführen. Die Ausgabe des Befehls sehen Sie am Bildschirm übersichtlich formatiert. In Verbindung mit dem Programm mysqladmin lautet der Befehl also:
watch mysqladmin status
Atomzeit
Dieser Tipp zeigt, wie Sie die amtliche Atomzeit übernehmen.
Zeit ist Geld: Die richtige Zeit kann für einen Server-Rechner entscheidend sein. Zum Beispiel dann, wenn es sich um einen Web-Server handelt, der TTLZeiten per HTTP an die Clients überträgt. Lassen Sie Netdate die Zeit ermitteln. Das NetDate-Kommando ist in der Lage, von einem öffentlichen Zeit-Server die aktuelle Uhrzeit zu erfragen und die Systemzeit des eigenen Rechners entsprechend zu setzen. Zu diesem Zweck bietet sich der Server der Physikalisch-Technischen Bundesanstalt in Braunschweig an: Dieser bezieht die aktuelle Zeit von der eigenen Atomuhr. Der Server findet sich unter ptbtime1.ptb.de und ptbtime2.ptb.de. Um die Zeit nach der Uhrzeit dieses Rechners zu setzen, brauchen Sie das Kommando
Netdate ptbtime1.ptb.de
ptbtime2.ptb.de
Es sind beide Server anzugeben, da das Netdate-Kommando den zweiten Server automatisch verwendet, sollte der erste nicht erreichbar sein. Um die Zeit zu setzen, sind Admin-Rechte erforderlich, daher ist das Kommando in der Admin-Cron-Tabelle gut aufgehoben.
Auto-FTP-Login
Wer regelmäßig FTP verwendet, um beispielsweise seine Homepage bei einem Provider zu aktualisieren, erleichtert sich das Login.
Mit einem automatischen Login ist es nicht länger notwendig, jedesmal den Benutzernamen und das Paßwort einzugeben. Das FTP-Programm sucht im Home-Verzeichnis des Anwenders nach der Datei .netrc. Darin können Sie den Namen von Rechnern zusammen mit einem Nutzernamen und dem zugehörigen Paßwort eintragen. Wählen Sie später einen der eingetragenen Rechner an, loggt sich das FTP-Programm automatisch ein. Wollen Sie sich unter einem anderen Account einloggen, schalten Sie die Automatik über den Parameter -n ab. Aus Sicherheitsgründen weigert sich das FTP-Programm, die Datei auszuwerten, wenn Sie keine Zugriffsrechte besitzen. Die Datei kann nur der Anwender lesen, sie muß den Modus 600 haben. Das Kommando
chmod 600 .netrc
setzt diesen Modus. Für eine FTP-Session mit automatischem Anmelden beim Rechner ftp.upload.com schreiben Sie in die Datei .netrc:
machine ftp.upload.com name
UserName password
PasswortFuerUserName
Automatisch zum Skript
Weil kaum ein Mensch lange Befehlszeilen lernen kann und will, muß der PC diese speichern.
Haben Sie in der Bash eine komplizierte Befehlsfolge eingetippt, die Sie in ein Skript übernehmen wollen, hilft das history-Kommando. Damit speichern Sie die zuletzt eingegebenen Befehle in einer Datei. Zum Sichern der letzten fünf Kommandos geben Sie
history 5 > newscript.sh
ein. Feilen Sie dieses vorläufige Skript mit Ihrem Editor nach, um es für weitere Aufgaben einzusetzen.
14 Linux: Einfache Benchmarks
Um PCs zu vergleichen, sind objektive Testverfahren unverzichtbar.
Wollen Sie prüfen, ob Ihre neue Hardware schneller arbeitet, so messen Sie mit time die Zeit zur Abarbeitung von Aufgaben. Dieser Aufruf steht vor einem anderen Kommando. So messen Sie zum Beispiel die Zeit, um den Kernel zu kompilieren:
time make
Automatischer Clear-Screen beim Logout
Zur Sicherheit lassen Sie den Bildschirm nach dem Logout verschwinden.
Um nichts auf dem Bildschirm nach dem Logout zu verraten, geben Sie die Zeile
trap clear 0
in der Datei /etc/profile ein. Diese Einstellung führt dazu, daß Linux beim Abmelden die Konsole löscht: Zuvor eingegebene Informationen sind dann nicht länger sichtbar.
Bash-Funktion als Erinnerungsstütze
Wer die Bash-Funktionen richtig nutzt, vermeidet lästige Schreibarbeit.
Die Bash hat wenig bekannte Funktionen, wie eine History-Verwaltung für die Kommandozeile. Diese History speichert alle eingetippten Befehle. Am einfachsten gelangen Sie mit der [Cursor-Up]-Taste an alle zuletzt eingegebenen Kommandos. Brauchen Sie das selbe Kommando ein zweites Mal, erhalten Sie es mit [Enter]. Die History-Funktion bietet noch mehr: Um sich an dieKommandos erinnern zu können, die Sie vor längerer Zeit eingegeben haben, befehlen Sie:
history | grep E <DieErstenZeichenDesKommandos>
Sie sehen die Anzeige der entsprechenden Kommandos mit einer Nummer. Mit Eingabe dieser Zahl starten Sie das Kommando.
Bash-Kommandoliste durchsuchen
Kommandos, die Sie vor längerer Zeit eingegeben haben, finden Sie im Suchmodus schneller, um sie erneut zu starten.
Die Bash führt eine Liste der letzten auf der Kommandozeile eingegebenen Befehle mit. In dieser Liste können Sie mit den Cursortasten blättern. Das ist allerdings mühsam, wenn Sie das gewünschte Kommando schon vor einiger Zeit eingegeben haben. Lassen Sie Kommandos suchen. Durch die Tastenkombination [Strg-r] schaltet die Bash in den Suchmodus. Fol-gende Eingaben werden nun direkt als Suchbegriff verwendet, und die jeweils am besten passende Zeile wird eingeblendet. Ist die richtige Zeile gefunden, genügt eine Bestätigung mit [Enter], um das Kommando erneut auszuführen.
Befehle schnell finden
Mit wenig Fingerakrobatik finden Sie Befehle wieder, die Sie vor Zeiten einmal eingegeben haben.
Mit der History-Funktion der Bash rufen Sie die zuletzt eingegebenen Befehle mit den Cursor-Tasten ab. Das Blättern mit den Tasten kann dauern. Schneller geht es mit der Kombination [Strg-R]. Die Bash wartet damit auf weitere Tastaturanschläge und zaubert den Befehl hervor, in dem die Zeichenfolge vorkommt. Dabei reicht eine beliebige Zeichenfolge aus dem gesuchten Befehl. Sie müssen nicht mit den ersten Zeichen beginnen.
Bessere Schriften auf dem X-Window-Desktop
Aus dem Internet laden Sie bes- ser lesbare Schriften, um sie in Ihr Linux einzubinden.
Mit Hilfe eines speziellen Font-Servers verwenden Sie Ihre TrueType-Schriften auch unter X. Laden Sie dazu den TrueType-Font-Server Xfstt-0_ 9_10.tgz von der Seite
http:// sunsite . unc . edu/pub/ Linux/X11/fonts/
Legen Sie danach das Verzeichnis
/usr/ttfonts
an. Kopieren Sie Ihre TrueType-Fonts dort hinein. Entpacken Sie die Datei Xf-stt- 0_9_10.tgz mit dem Befehl
tar xvfz Xfstt-0_9_10.tgz
Wechseln Sie in das Verzeichnis xf-stt0910, und geben Sie den Befehl
make
ein. Mit
make install
installieren Sie den Font-Server. Damit der Server funktioniert, passen Sie die Datei /usr/X11R6/lib/X11/XF86Config an. Fügen Sie dazu im Abschnitt Files die Zeile
FontPath "unix/:7100"
ein. Starten Sie den X-Server neu. Ab sofort stehen Ihnen TrueType-Fonts in Ihren X-Anwendungen zur Verfügung. Achten Sie darauf, daß Sie zuvor den TrueType-Font-Server mit dem Befehl xfstt & geladen haben. Ohne diesen startet Ihr X-Window-System nicht korrekt.
Bibliothek auswählen
So finden Sie fehlende Bibliotheken, damit der Programmstart erfolgreich verläuft.
Wer Binärversionen von Programmen verwendet, muß damit rechnen, daß ein Programm Bibliotheken nutzt, die auf Ihrem Rechner nicht vorliegen. Das Programm startet dann nicht. Um herauszufinden, welche Libraries Sie benötigen, geben Sie
ldd /pfad_zum_programm/ programmname
ein oder einfacher:
ldd `which programmname`
Dabei sollten Sie beachten, daß besondere Hochkommata, sogenannte Hoch-haken (Backticks) vorgeschrieben sind. Sie erreichen dieses Zeichen über [Um-schalt-#].
Bildschirm aufräumen
Um bei fehlerhaften oder unübersichtlichen Ausgaben die Übersicht zu behalten, nutzen Sie den xrefresh-Befehl.
Wenn Textkonsolen oder ein XTerm-Fenster durch fehlerhafte Ausgaben unübersichtlich erscheinen, verschaffen Sie sich mit der Tastenkombination [Strg-l] Übersicht. [Strg-l] löscht den Bildschirm und zeigt den aktuellen Inhalt neu an. Unter X kann es gerade bei weniger stabilen Komponenten wie Video Overlay, Spielen oder OpenGL-Fenster vorkommen, dass Teile von Fenstern einfrieren. Hier hilft das Tool
xrefresh
Dieses Tool löscht den Bildschirm und fordert alle Programme auf, ihre Fenster neu zu zeichnen. Weiterhin verwenden Sie die Technik wie eine alarmierende Anzeige (Visual Bell). Mit dem Parameter -white zeichnen Sie den Bildschirm kurz weiß, dann neu. Die Ausgabe führt zu einem kurzen Flackern. In Scripts weisen Sie damit Anwender auf besondere Ereignisse hin.
Bildschirm von virtuellen Konsolen
Um den gespeicherten Bildschirm von einer Datei einzulesen, brauchen Sie Zugang als Superuser.
Wollen Sie den Bildschirminhalt einer virtuellen Konsole sichern, lesen Sie ihn aus einer Gerätedatei aus. Der Befehl
cat /dev/vcs1
gibt den Bildschirminhalt der ersten Konsole aus. Wollen Sie die Daten sichern, schreiben Sie mit dem Befehl
cat /dev/vcs1 > dateiname
den Inhalt in die angegebene Datei. Um das Leserecht für diese Gerätedateien zu erhalten, müssen Sie den Befehl als Superuser ausführen. s
Bootprobleme lösen
Dieser Tipp zeigt, wie Sie Probleme während einer Installation oder während des Bootens lösen.
Sie erhalten während der Installation einer Linux-Version oder eines neuen Bootvorgangs nach einer Hardware-Änderung eine undefinierte Fehlermeldung. Das kann an der Plug&Play-Konfiguration Ihres Systems liegen. Prüfen Sie beim Bootvorgang Ihres Systems, ob im BIOS die Option für ein Plug& Play-fähiges System aktiviert wurde. Diese Option wird in der Regel mit PnP Aware OS / Plug&Play Operating System bezeichnet. Ist die Option auf Yes eingestellt, übernimmt das Betriebssystem die vollautomatische Konfiguration der PnPHardware. Für ein Linux-System sollten Sie diese Option auf No stellen. Hierdurch wird die komplette Konfiguration vom BIOS übernommen und Linux kann die Konfigurationsdaten direkt übernehmen.
Verfügt Ihr BIOS zusätzlich über die Option Reset Configuration Data oder über Update ESCD, sollten Sie diese Option aktivieren. Hiermit werden sämtliche BIOS-Konfigurationsdaten über Plug&Play gelöscht und neu vergeben. Damit sind in der Regel die Boot- und Installationsprobleme bezüglich der Hardware-Konfiguration behoben.
CD-Abbilder von Festplatte
Mit binären ISO-Abbildern können Sie einzelne Dateien mounten.
Einige Hersteller von Distributionen bieten ISO-Abbilder der Installations- CDs zum Download an. Diese Abbilder lassen sich
eine entsprechend schnelle Leitung oder genügend Geduld vorausgesetzt
herunterladen und auf CD brennen.
Ist kein Brenner verfügbar, können Sie ISO-Abbilder auch direkt von der Festplatte verwenden. Mit folgendem Kommando hängen Sie eine Datei direkt in Ihr Linux-System ein:
mount Dateiname.iso /mnt -t iso9660 -o o,loop=/dev/loop0
Das CD-Abbild steht Ihnen nun unter dem Verzeichnis /mnt zum Lesen zur Verfügung. Weil ein ISO-Abbild als unveränderbare Datei festliegt, eignet sich das CD-Abbild nicht dazu, dass Sie Daten darin verändern oder neu schreiben.
CD-Images auf der Festplatte
Binden Sie mit Linux normale Dateien direkt in das Dateisystem ein, so dass diese wie ein Medium funktionieren.
Viele Hersteller und Distributoren bieten eine Linux-CD als ISO-Abbild zum Download an. Dieses wird auf einen Rohling gebrannt. Diese CD kann dann vewendet werden. In der Praxis sieht es aber oft so aus, das der CDBrenner schlicht nicht zur Verfügung steht oder aber, das zeitaufwendige Brennen dauert einfach zu lange. In einem solchen Fall kann man das Abbild als Datei auf der Festplatte ablegen und dann so einbinden, dass es als ganz normales CD-Laufwerk zum Lesen verwendet werden kann. Dazu benötigen Sie das Kommando:
mount Dateiname.iso /mnt -t iso9660 -o ro,loop=/dev/loop0
Die ISO-Version der CD liegt dann im Verzeichnis /mnt vor und kann von dort aus direkt gelesen werden ganz ohne CD-Rohling
CD-ROM-Laufwerke finden
Ein träges CD-Laufwerk, welches Linux als bereits gemounted meldet, bewegen Sie mit diesem Tipp zur Mitarbeit.
Wenn sich der Inhalt einer CD nicht lesen lässt, versuchen Sie, die CD zu mounten. Doch Sie erhalten die Meldung
Cdrom bereits gemountet.
In den meisten Fällen bedeutet der Fehler, dass Sie die CD tatsächlich bereits gemountet haben - jedoch in einem anderen Verzeichnis. Prüfen Sie also im folgenden, wo Sie ein Gerät gemountet haben. Dazu nutzen Sie das mount-Kommando. Erhalten Sie bei diesem Befehl unter anderem die Zeile
/dev/cdrom on /pfad_sonstwo
dann wissen Sie, dass Sie das CD-Laufwerk im Verzeichnis /pfad_sonstwo gemountet haben. Allerdings muss nicht der Eintrag /dev/cdrom für die CD zuständig sein. Das Gerät kann auch unter seinem eigentlichen Namen aufgelistet werden. Das wäre beispielsweise /dev/scd0 für das erste SCSI-CD-ROM-Gerät.
Das SuSE-Rettungssystem: YoMama-Login
Wer gerne mit neuen Kernel-Releases experimentiert oder seinen SuSE-Kernel aus anderen Gründen abgeschossen hat, muss damit rechnen, dass er nicht mehr bootet.
Wer mit dem neuen Kernel hantiert, sollte vorher ein Backup des alten vornehmen. Abgesehen davon sollten Sie immer eine LILO- oder syslinux-Bootdiskette für die aktuelle Partition zur Hand haben. Diese können Sie bei SuSE mit yast1. unter Administration des Systems-> Kernel und Bootkonfiguration->Bootdiskette erzeugen erstellen. Außerdem bietet SuSE für den Fall eines nicht bootfähigen Kernels einen Rettungs-Modus an. Hierzu booten Sie Ihr System mit der SuSE-CD im Textmodus. Wählen Sie beim Booten von der ersten CD am LILO-Prompt das Bootlabel yast1. Gleiches erreichen Sie durch Booten der zweiten CD. Nun können Sie mit yast die notwendigen Korrekturen ausführen.
Datei im Paket
Eine kryptische Kommandozeile verrät Ihnen, woher eine Datei stammt.
Wer eine Datei versehentlich gelöscht hat, muss, um sie neu installieren zu können, wissen, woher sie stammt. Dazu legen Sie die CD der Distribution ein, wechseln in das Verzeichnis mit den RPM-Dateien und geben folgendes ein:
for i in *.rpm; do
rpm -qpl
" $i | grep -q 'Dat-einame'
"&& echo $i ; done
Der Befehl gibt eine Liste mit allen rpm-Paketen aus, in der die
Datei enthalten ist.
Datei schnell zurücksetzen
Wenn Sie das Einleitungszeichen verwenden, setzen Sie eine Datei auf 0 Byte zurück.
Der wohl schnellste Weg, eine Datei zu leeren (ihre Länge auf 0 Byte zu setzen), führt, wenn Sie die Bash verwenden, über den Eintrag
> Dateiname
Sinnvoll ist es, dass Sie eine Datei leeren und also nicht löschen, wenn diese Datei noch von einem anderen Prozess geöffnet ist. Das ist zum Beispiel bei allen Logfiles der Fall.
Datei-Transport mit Wget
Wer Module oder eine neue Datei per Internet auf seinen lokalen Rechner übertragen will, braucht diesen Tipp.
Neue Module oder Dateien per Internet auf den lokalen Rechner zu bringen ist schwierig, wenn der FTP-Dienst aus Sicherheitsgründen abgeschaltet ist. Doch Sie brauchen kein FTP, um Dateien zu laden. Diese Aufgabe erledigt Wget. Das Programm sendet die Daten per HTTP, wobei Sie sogar Firewalls überwinden, die bei FTP oftmals verschlossen bleiben. Der Aufruf
Wget 'URderDatei'
lädt die angegebene Datei ins lokale Verzeichnis.
Dateien ändern im Schnelldurchgang
more oder less ist die Frage, wenn Sie angezeigte Dateien ändern wollen.
Betrachten Sie eine Datei mit den Befehlen more oder less und möchten Sie sie schnell verbessern, so öffnen Sie diese Datei durch Eingabe von v in Ihrem Editor. less startet dabei das in der Umgebungsvariablen EDITOR eingestellte Programm. More startet immer den VI. Beenden Sie diesen Editor, befinden Sie sich wieder im zuvor aktiven Programm. Wollen Sie Sehen, welcher Editor in Ihrer Linux-Version als Standard eingetragen ist, geben Sie
rvho $EDITOR
ein. Wollen Sie einen anderen Editor definieren geben Sie zum Beispiel
export $EDITOR=vi
ein. Damit stellen Sie VI als Standard-Editor ein.
Dateien durchsuchen
Um Dateien mit einem bestimmten Schlüsselwort zu suchen, nutzen Sie den grep-Befehl.
Der grep-Befehl durchsucht nur das aktuelle Verzeichnis. rgrep bezieht untergeordnete Verzeichnisse in die Suche ein. Bei großen Verzeichnissen mit vielen Dateien endet die Suche bei der Shell-Grenze von 64 KByte. Denn die Shell erweitert Wildcards zu Dateinamen, wie das Beispiel verdeutlicht. Die Eingabe
grep suchwort *
wandelt die Shell in die Form
grep suchwort datei1 datei2 datei3...
um. Da die Shell alle Dateien als Parameter einbindet, ist die maximale Länge der Eingabezeile von 64 KByte unter Umständen überschritten. Mit dem Einzeiler
find . -type f -print | xargs grep -li suchwort"
umgehen Sie das Problem. Der find-Befehl ermittelt alle Dateinamen im aktuellen Verzeichnis und in allen Unterverzeichnissen. Mit dem Parameter -type f ermitteln Sie nur Dateinamen und nicht die Namen von Unterverzeichnissen. Die Option -print gibt die gefundenen Namen nur aus. Die Liste der Dateinamen leiten Sie an das xargs-Kommando weiter. Dieses Tool hebt die Shell-Beschränkung auf und setzt eine Kommandozeile zusammen. Wird diese größer als 64 KByte, wird sie zerteilt. Mit dem Parameter -li des grep-Kommandos ignorieren Sie die Groß-/Kleinschreibung des Suchworts, und Sie berücksichtigen nur das erste Vorkommen des Worts.
Dateien durchsuchen
Um Dateien mit einem bestimmten Schlüsselwort zu suchen, nutzen Sie den grep-Befehl.
Der grep-Befehl durchsucht nur das aktuelle Verzeichnis. rgrep bezieht untergeordnete Verzeichnisse in die Suche ein. Bei großen Verzeichnissen mit vielen Dateien endet die Suche bei der Shell-Grenze von 64 KByte. Denn die Shell erweitert Wildcards zu Dateinamen, wie das Beispiel verdeutlicht. Die Eingabe
grep suchwort *
wandelt die Shell in die Form
grep suchwort datei1 datei2 datei3...
um. Da die Shell alle Dateien als Parameter einbindet, ist die maximale Länge der Eingabezeile von 64 KByte unter Umständen überschritten. Mit dem Einzeiler
find . -type f -print | xargs grep -li suchwort"
umgehen Sie das Problem. Der find-Befehl ermittelt alle Dateinamen im aktuellen Verzeichnis und in allen Unterverzeichnissen. Mit dem Parameter -type f ermitteln Sie nur Dateinamen und nicht die Namen von Unterverzeichnissen. Die Option -print gibt die gefundenen Namen nur aus. Die Liste der Dateinamen leiten Sie an das xargs-Kommando weiter. Dieses Tool hebt die Shell-Beschränkung auf und setzt eine Kommandozeile zusammen. Wird diese größer als 64 KByte, wird sie zerteilt. Mit dem Parameter -li des grep-Kommandos ignorieren Sie die Groß-/Kleinschreibung des Suchworts, und Sie berücksichtigen nur das erste Vorkommen des Worts.
Dateien finden
Der locate-Befehl hilft, Dateien in einem Arbeitsgang aufzuspüren.
Eine Datei auf der Kommandozeile zu finden, ist nicht ganz einfach. Es dauert lange, sich durch verschachtelte Verzeichnisse umständlich per cd-Befehl zu schalten und dann mit dem ls-Befehl die Inhalte aufzulisten. Schneller arbeiten Sie mit dem locate-Befehl:
locate <NameDerDatei>
Damit präsentiert Linux eine Liste aller Dateien an, die zum Namen passen.
Dateien zuverlässig schützen
Einen zuverlässigen Löschschutz verschaffen Ihnen wenige Befehlszeilen.
Mit dem chattr-Kommand verändern Sie die Attribute des Ext2-Dateisystems einer Datei. Diese Attribute kann nur der Superuser ändern, sie werden normalerweise nicht angezeigt. Verwenden Sie das Kommando
chattr +i Dateiname
so ist die Datei Dateiname geschützt. Der Superuser kann diese Datei nicht löschen, ohne zuvor das Attribut mit
chattr -i Dateiname
zu entfernen. Die aktuellen Attribute von Dateien zeigt lsattr an.
Dateiname in Kleinbuchstaben
Da Unix zwischen Groß- und Kleinschreibung in Dateinamen unterscheidet, können bei Dateiangaben leicht Fehler auftreten.
Dateinamen bestehen meist aus Kleinbuchstaben. Beim Datenaustausch mit anderen Betriebssystemen treten gelegentlich ungewöhnliche Dateinamen auf. Die folgende Zeile wandelt alle Dateinamen im aktuellen Verzeichniss in Kleinbuchstaben um:
for name in * ;
do mv -i $name 'echo $name |
tr [A-ZAeOeUe] [a-zAeOeUe]' ;
done.
Der Parameter -i des move-Befehls verhindert ein versehentliches Überschreiben, wenn beim Konvertieren doppelte Dateinamen entstehen.
Dateityp herausfinden
Mit dem File-Kommando ermitteln Sie den Typ einer unbekannten Datei.
Das File-Kommando liefert nur oberflächliche Informationen. Zu Grafikdateien erfahren Sie mehr vom identify-Kommando. Das Werkzeug informiert über Bildformate. Bei unbekannten Dateien arbeiten Sie in zwei Schritten:
file example1 example1:
TIFF image data, little-endia
Weitere Informationen liefert der Befehl
identify example1 example1
256x256 DirectClass 256kb TIFF 1s
Wem das nicht reicht, der lässt sich mit der Option -verbose den Rest anzeigen:
identify -verbose example1
Datenmenge unter Kontrolle - Logfiles entsorgen
Wer Linux ohne Pflege laufen lässt, lässt langsam aber sicher die Massenspeicher von Protokoll-Daten überlaufen. So schaffen Sie Abhilfe.
Viele Programme unter Linux, im besonderen Server-Anwendungen, protokollieren unzählige Aktionen. Diese Protokolldateien werden mit der Zeit immer größer. Bei einigen Distributionen sind deshalb Dienste aktiviert, die anfallende log-Dateien komprimieren und umbenennen. Das schafft zwar Platz, verzögert aber den unausweichlichen Überlauf. Linux legt die meisten log-Dateien im Verzeichnis /var/log an: Es lohnt sich, gelegentlich die wachsende Datenmenge zu kontrollieren. Das gestattet Linux jedoch nur dem Superuser. Wundern Sie sich also nicht, wenn Sie dieses Verzeichnis unter Ihrem normalen Arbeits-Account nicht sehen können.
Datum und Uhrzeit
Mit diesem Tipp erleichtern Sie sich die Arbeit, Datum und Uhrzeit in der Bash umzustellen.
Viele Anwender haben Schwierigkeiten, Datum und Uhrzeit in der Bash zu stellen. Denn die Dokumentation zum date-Kommando ist missverständlich. Viele versuchen, mit date -help und man date die Uhrzeit zu stellen:
date -s MMDDhhmm
MMsoll die Monate mit zwei Stellen repräsentieren, DD den Tag, hh die Stunde und mm die Minute. Der Befehl meldet, dass das angegebene Datum nicht gültig sei. Lassen Sie die Option -s weg:
date MMDDhhmm
Mit diesem Befehl stellen Sie Uhrzeit und Datum richtig.
Der Suche Lohn
Mit einem kleinen Script spüren Sie komfortabel einen Konfigurationseintrag auf.
Oft sucht ein Anwender nach einem Konfigurationseintrag, kann sich aber nicht mehr erinnern, in welcher Datei oder in welchem Verzeichnis der Eintrag gespeichert wurde. In solchen Fällen beginnen Sie per Hand mit einem Editor oder Pager zu suchen. Einfacher geht es mit einem kleinen Script. Per Script und dem exec-sowie grep-Befehl finden Sie schnell den Eintrag. Ein Aufruf dafür:
find $1 -exec grep -s -l $2 {} \;
Tragen Sie diese Zeile in ein Bash-Script ein, welches Sie mit Kommandozeilen-Parametern aufrufen. Geben Sie den Befehl direkt auf der Kommandozeile ein, ersetzen Sie die Werte für $1 und $2: Statt des $1 geben Sie den Namen der Verzeichnisse an, in denen Sie suchen wollen. Den Eintrag $2 ersetzen Sie durch den zu suchenden Text.
DMA-Modus bei EIDE-Platten aktivieren
Ist der beschleunigte DMATransfermodus einer modernen EIDE-Festplatte nicht aktiv, schalten Sie ihn ein.
Die Kernels der aktuellen Distributionen unterstützen den DMA-Modus. Der Kernel schaltet DMA jedoch selbstständig ab, sobald es geringe Anzeichen für Instabilitäten gibt. Mögliche Gründe hierfür: zu lange oder schlampig verlegte Festplattenkabel, Überschreiten der DMA-Spezifikationen, nicht 80-polig belegte Kabel bei UDMA usw. Wer einen älteren Kernel einsetzt, sollte prüfen, ob dieser DMA bereits kennt. Die entsprechenden Einstellungen findet er bei der Kernel-Konfiguration in der Rubrik Blockorientierte Geräte: generische Unterstützung für Busmaster-DMA. Denkbar ist auch, dass die Festplatte DMA nicht beherrscht. Zum Prüfen und Aktivieren des DMA-Modus verwenden Sie das Kommando
hdparm -Parameter <Gerätedatei>
Die folgenden Parameter stehen zur Verfügung:
-d1 aktiviert DMA
-c1 aktiviert 32Bit-IO
-X66 aktiviert UDMA (ein echtes 80-poliges Kabel von maximal 30 cm Länge
ist erforderlich). Prüfen Sie, ob das Kommando
hdparm -d1 /dev/hdX
die Meldung: dma=yes ausgibt. Bei SuSE können Sie den DMA-Modus bequem mit Hilfe des neuen YaST2-Moduls System-Tuning aktivieren. In Linux-Newsgroups und Mailing-Listen herrscht die Meinung vor, dass der X66-Parameter mit äußerster Vorsicht zu verwenden sei. Daher sollten Sie ihn nicht mit einer Platte testen, auf der das Root-Filessystem liegt. Die modernen IDE-Treiber des Kernels 2.4 aktivieren den DMA-Modus automatisch.
Don't Panic Kernel-Panic
Der Super-GAU eines jeden Systemadministrators ist bei Linux die Bootmeldung Kernel Panic.
Um die gefürchtete Bootmeldung Kernel Panic zu erhalten, müssen Sie ganz schön wild in den Eingeweiden des Systems gewühlt oder allzu eifrig mit neuen Pre-Kernel-Releases herumexperimentiert haben. Eventuell ist ganz ohne Ihr Zutun der Bootsektor der Platte beschädigt. In diesem Fall starten Sie das System neu. Je nach Fehler reicht dieser Schritt aus die Katastrophe entspricht in etwa dem Windows-Bluescreen. Ärgerlich ist, wenn ein Web- oder Datenbank- Server nach außen hin lange ausfällt. Sie können den Kernel veranlassen, im Panikfall den Neustart zu initiieren. Da der Admin einen automatischen Neustart nicht bemerkt, sollte er regelmäßig seine Systemlogs über prüfen. Ab dem Kernel 2.2. können Sie in der Kernel-Quelle unter /usr/src/<Link auf Kernelversion>//kernel die Datei panic.c in einem Editor öffnen und bearbeiten. Dort suchen Sie nach dem folgenden Eintrag
int panic_timeout = 0;
und ersetzen die 0 (automatischer Neustart ist abgeschaltet) durch einen numerischen Wert, der der Anzahl der Sekunden bis zum automatischen Neustart entspricht. Danach kompilieren Sie den Kernel neu und führen aus:
/sbin/lilo
Drei-Tasten-Maus für Linux
So machen Sie unter Linux aus einer Zwei- eine Drei-Tasten-Maus.
Viele X-Anwendungen sind so ausgelegt, daß sie Mäuse mit drei Tasten unterstützen. Um die Zusatzfunktionen dieser dritten Taste auch mit einer Zwei-Tasten Maus zu nutzen, emulieren Sie einfach die dritte Taste. Starten Sie dazu das Setup-Programm der grafischen Oberfläche X11, XF86Setup, als Benutzer root. Wählen Sie im grafischen Setup-Tool die Schaltfläche Mouse. Aktivieren Sie anschließend die Schaltfläche Emulate3Buttons, und bestätigen Sie mit Apply, um die Funktion sofort zu aktivieren. Wenn Sie nun beide Maustasten zusammen betätigen, emuliert die Software eine dritte Maustaste. Besitzen Sie eine Drei-Tasten Maus oder einen Trackball, bei der die mittlere Taste nicht funktioniert, aktivieren Sie statt dessen im gleichen Menü die Option ChordMiddle. J R
Durchblick im Terminal
Mit einer Tastenkombinationen beseitigen Sie störende Zeichenreste, um im Terminal-Fenster klar editieren zu können.
Wenn Sie sich zum Linux-Rechner per Telnet oder SSH (Secure Shell) verbinden und im Terminal-Fenster arbeiten, bleiben unaufgeräumte Reste dieser Arbeit am Bildschirm hängen. Im Editor erkennen Sie nicht mehr, an welcher Stelle Sie sich befinden: Sie sehen ein Durcheinander von zum Teil editierten und zum Teil nicht bearbeiteten Zeilen. Dieser Effekt tritt nicht nur in Editoren, sondern bei jeder Arbeit in einem Terminal-Fenster auf und erschwert die Arbeit. Schließlich können und wollen Sie nicht alle paar Minuten die Verbindung trennen, um danach mit einem neuen, aufgeräumten Terminal-Fenster von vorne zu beginnen. Die Störung lässt sich mit einer Tastenkombination beseitigen: [Strg-L] führt dazu, dass das Fenster komplett neu aufgebaut wird. Das ist zwar vor allem bei einer langsamen Verbindung lästig, aber besser, als eine neue Verbindung aufzubauen.
Eigene Befehle mit Alias
Grundlegende häufig gebrauchte Befehle, deren Parameter schwer zu behalten sind, verkürzen Sie auf wenige Buchstaben.
Wie kryptisch die Geheimnisse der Kommandozeile aussehen, zeigt das Beispiel
ls -l | wc -l
Mit dieser kryptischen Eingabe zählen Sie die Anzahl der Dateien im aktuellen Verzeichnis. Die Anwender zu Zeiten von MS-DOS halfen sich mit einer Stapelverarbeitung, heute erleichtern Sie sich mit der Kommando-Shell bash die Eingabe. Der Alias-Befehl bringt der Shell eigene Kommandos bei. Um das oben aufgeführte Beispiel unter dem Befehlskürzel cf (count files) zu speichern, geben Sie Folgendes ein:
alias cf="ls -l | wc -l"
Eingebaute Stoppuhr
Ermitteln Sie die Zeit, die Kommandos für einen Arbeitsablauf brauchen.
Die Bash verfügt mit dem Time-Kommando über eine eigene Stoppuhr, mit der Sie die Dauer von Kommandos messen. Wollen Sie ein einfaches Kommando messen, genügt der folgende Aufruf:
time kommando
Nach Beendigung des Kommandos wird die gemessene Zeit ausgegeben. Wollen Sie für mehrere hintereinander ausgeführte Kommandos die Gesamtzeit erfahren, geben Sie
time kommando1; kommando2; kommando3
ein.
Einstellungen per SetTerm
Wer häufig mit der Konsole arbeitet, sollte sich mit dem Set-Term-Befehl vertraut machen.
Das Programm SetTerm kann unterschiedliche Parameter verändern, ohne dass Sie dazu Escape-Sequenzen studieren und eingeben müssen. Praktisch sind folgende Beispiele: Sie verstellen die Wartezeit, die den Bildschirmschoner aktiviert: Mit n=0 schalten Sie ihn aus. Zahlen geben die Wartezeit in Minuten an. Der Befehl heißt:
setterm -blank n
Sie bestimmen die Dauer des Tonsignals (Beep) in Millisekunden. Mit der 0 schalten Sie ihn ab:
setterm - blength n
Mit dem Befehl
setterm -reset
stellen Sie den Originalzustand wieder her.
Energiesparmodus unter X11 aktivieren
Nicht alle Linux-Anwender wissen, dass der X-Server den Bildschirm in den Energiesparmodus schicken und abschalten kann.
Bearbeiten Sie mit einem beliebigen Editor die Datei /etc/XF86Config. Lokalisieren Sie die Sektion Device und fügen Sie Option "power_saver" ein. Anschließend wechseln Sie in die Sektion Screen. Hier stellen Sie den Zeitpunkt ein, zu dem X den Bildschirm dunkel schalten soll. Dazu verwenden Sie den Parameter BlankTime. Die Parameter: SuspendTime und StandbyTime aktivieren den Energiesparmodus. Die Option OffTime bezeichnet die Zeitspanne, bis X den Bildschirm ganz abschaltet. Ausschnittsweise sollte die XFree-Konfigurationsdatei jetzt in etwa wie folgt aussehen:
Section "Device"
#....... bisheriger Teil
Option "power_saver"
EndSection
Section "Screen"
#....... bisheriger Teil
BlankTime 14
SuspendTime 16
StandbyTime 18
OffTime 20
#....... bisheriger Teil
EndSection
Die beschriebenen Änderungen können Sie sogar für einen bereits laufenden XServer vornehmen. Allerdings müssen Sie zuvor wie beschrieben Option "power_ saver" in der XF86-Datei eingefügt haben. Soll der Bildschirm ab sofort nach jeweils vier Minuten schwarz schalten, wählen Sie den Befehl:
xset s 40/40/40/40.
Fehler mit tar-Archiven
Hat ein tar-Archiv seine Dateiflut in ein falsches Verzeichnis entpackt, beseitigen Sie den Fehler mit einem Befehl.
Haben Sie versehentlich ein tar-Archiv im falschen Verzeichnis ausgepackt, müssen Sie viele Dateien löschen. Dazu nutzen Sie den Befehl (mit Backticks):
rm 'tar ft archiv.tar'
Fehlermeldung beim Start von Skripten
Wenn ein Skript mit der Meldung No such file or directory scheitert, fehlt meist die Pfadangabe zum Skript-Interpreter.
Ein neu installiertes Programmpaket findet zugehörige Skripte nicht oder führt sie nicht aus. Zwar liegt das Skript im aktuellen Verzeichnis, doch beim Start erhalten Sie die Meldung
no such file or directory
Das liegt daran, daß die Shell zur Ausführung eines Skripts den dazugehöri-gen Interpreter braucht. Dieser Verweis steht in der ersten Zeile des Skripts und kann kaum mit Ihrer Installation übereinstimmen. Im allgemeinen finden Sie den Pfadeintrag in der Form
!#/pfad/interpretername
Wenn nicht, beschwert sich die Shell darüber mit der erwähnten Meldung. Mit dem Kommando
which interpretername
erhalten Sie die Pfadangabe, die Sie noch im Skript eintragen.
Fehlersuche in Bash-Scripts
Um Fehler in Bash-Scripts leichter zu eliminieren, brauchen Sie einen hilfreichen Script-Eintrag.
Arbeiten Sie mit einem fehlerhaften Script unter dem eigenen Account, lassen sich an den Meldungen Fehler ausmerzen. Schwierig wird die Fehlersuche, wenn das Script nur dann Fehler produziert, wenn es unter einem anderen Account oder von einem anderen Prozess aus startet. Ist der Logger installiert, erweitern Sie das Script um einen Eintrag wie:
Logger "Hier steht ein Text"
Damit untersuchen Sie das Verhalten des Script zur Laufzeit. Denn dem Logger übergebenen Parameter finden Sie als Nachricht im Syslog wieder.
Filtern mit einer Datei
Da Sie häufig in einer Datei Zeichen oder Zeichenketten ersetzen müssen, machen Sie sich mit dem sed-Befehl vertraut.
Der Befehl Filtern mit sed dient dazu, in einer Datei Zeichen oder Wörter zu ersetzen:
sed -e 's/Suchen/Ersetzen/g' < Quelle > Ziel
Der Befehl tauscht die Zeichenfolge unter Suchen durch die in Ersetzen aus. Dieses Verfahren hat den Vorteil, dass die Datei zeilenweise abgearbeitet wird, wodurch der Vorgang wenig Speicher benötigt. Nachteilig ist, dass eine neue Datei erzeugt wird. Soll der Dateiname gleich bleiben, müssen Sie ein weiteres Script schreiben: Sie brauchen einen temporären Namen, den Sie in den ursprünglichen Dateinamen umbenennen. Alternativ ersetzen Sie mit dem vi-Befehl Text, ohne eine neue Datei anlegen zu müssen: vi -c "%s/Suchen/Ersetzen/g" -c "wq" Quelle
Da Linux die ganze Datei in den Speicher laden muss, eignet sich diese Methode nur für kleine Dateien.
Fonts-Schwund
Wie durch Zauberhand erscheinen nach einem XFree4.0-Update etliche Systemschriften kleiner als bei XFree 3.3.6.
Nach einem XFree4.0-Update ändert sich in der neuen XFree-Konfigurationsdatei /etc/XF86Config-4 die Reihenfolge der Fonts-Einträge. XFree durchsucht die FontPath-Einträge nach passenden Schriften immer von oben nach unten. Schaffen Sie wieder Ordnung, indem Sie in einem beliebigen Editor hinund hertauschen.
Freien Plattenplatz auslesen
Ein Parameter im df-Kommando lässt Sie den freien Plattenplatz in Klarschrift lesen.
Mit dem df-Kommando prüfen Sie, wie viel Speicherplatz auf den einzelnen Festplatten im System frei und wieviel belegt ist. Allerdings geben die verschiedenen Versionen des df-Befehls diese Werte unterschiedlich aus. Mit bestimmten Parametern schaffen Sie Abhilfe. Für die erste Übersicht ist der Parameter -h (Human Readable) zu empfehlen. Sind zum Beispiel ca. 18 GByte frei,
zeigt das Kommando
df -h
den gerundeten Wert 18 GB an.
Freistehender Text
Mit einem einfachen Befehl verbessern Sie die Übersichtlichkeit des Desktops.
GNOME färbt unter den Icons auf dem Hintergrund einen rechteckigen Bereich in einer kontrastreichen Farbe ein, damit der Text der Icons immer lesbar ist. Auf manchen Hintergrundbildern wirkt dieser störend oder ist überflüssig, da der Kontrast des Textes aus-reicht. Im Midnight Commander lassen sich rechteckige Bereiche unter Preferences/Desktop/Use shaped text abschalten: Der Desktop wird übersichtlicher.
Große Dateien teilen
Große Dateien müssen Sie für den Transport per Diskette aufteilen können.
Wollen Sie große Dateien auf Disketten kopieren, müssen Sie sie in passende Teile zerlegen am einfachsten mit dem Befehl split. Das Programm teilt Daten in Pakete der gewünschten Größe auf. Weil split normalerweise mit Texten arbeitet, teilt es nach einer Anzahl von Zeilen: Bei Binärdateien schlägt dies fehl. Mit dem Parameter -b geben Sie eine Blockgröße in Byte an, um auch binä-re Dateien aufzuteilen. Der Befehl split -b 1440k datei.tgz block zerlegt die Datei in diskettengerechte Blöcke mit den Namen blockaaa, block-aab und so weiter. Auf dem Zielrechner setzen Sie die Dateien dann mit cat block* > datei.tgz wieder zusammen.
Gutes SSH-Programm
Wer Microsoft-Programme vermeiden will, kann zumindest den spärlichen Telnet-Client von Windows leicht ersetzen.
Linux wird oft als Server-Rechner eingesetzt, während die Workstation ein Windows-PC ist. Doch ist es umständlich, den Rechner per Telnet oder SSH (Secure Shell) zu warten. Das liegt in erster Linie am spärlichen Telnet-Client von Windows. Benutzen Sie statt dessen den Telnetund SSH-Client Putty. Dieser ist hervorragend für Windows.
Hardware optimal
Weil Linux Hardware vorsichtig anspricht, funktionieren oft auch weniger stabile Geräte.
Eine vorsichtige Nutzung der Hardware kann Geschwindigkeit kosten. Über Kernel-Parameter optimieren Sie Einstellungen. Verwenden Sie IDEFestplatten, weisen Sie Linux über die autotune-Option an, automatisch den optimalen PIO-Modus zu finden. Der Parameter hda=autotune schaltet die Funktion für die erste Festplatte ein. Mit dem Befehl
ide0=autotune
untersuchen Sie alle Geräte des ersten IDE-Controllers. Wollen Sie den Parameter bei jedem Booten aktivieren, fügen Sie in der Datei /etc/lilo.conf die Zeile
append="ide0=autotune"
ein. Mit dem Aufruf
/sbin/lilo -v
aktivieren Sie die Änderungen.
Hardware-Information
Um Systemfehler beheben zu können, sind korrekte Auskünfte zur Hardware unumgänglich.
Das /proc-Dateisystem informiert Sie über die Hardware-Konfiguration. So listet die Datei /proc/interrupts die IRQs auf, und /proc/ioports zeigt die Speicherfenster an. Schwieriger ist die Recherche, welche Ressourcen einem Gerät genau zugewiesen sind. Der PC erledigt die Arbeit für Sie mit dem Befehl listdev: Das Programm listet die gewünschten Informationen in einer Tabelle auf.
Hilfe bei Scripts
Wenn Sie eine Anwendung in einem definierten Fenster starten, lassen sich Ausgaben besser überblicken.
Starten Sie Applikationen über Scripts, kann es nützlich sein, die Position des neuen Fensters festzulegen. Die meisten Programme verstehen den Kommandozeilenparameter geometry. So lässt sich ein neues XTerm als
xterm -geometry 80x25+5+5
in der linken oberen Ecke des Bildschirms starten. Die Positionsangabe hat das Format BxH+X+Y (Breite mal Höhe plus X und Y). Die Angaben zur X- und Y-Position beziehen sich auf die linke obere Ecke des Bildschirms. Wollen Sie ein Fenster zur rechten unteren Ecke positionieren, geben Sie negative Abstände an. Ein
xterm -geometry 80x25-5-5
öffnet das Fenster rechts unten. Das Werkzeug xwininfo gibt die aktuelle Position eines Fensters aus im richtigen Format.
Hilfe für die Bash
Mit einem weiteren Parameter überblicken Sie die Kommandos der Bash-Befehle.
Die Bash enthält viele Kommandos, über die Sie die Anweisung
Bash -help
nicht hinreichend informiert. Um die Bash-Befehle zu überblicken geben Sie folgendes Kommando ein:
bash -c help
Hilfe Schwarz auf Weiß
Lassen Sie sich eine übersichtliche LinuxGebrauchsanleitung ausdrucken.
Man-Pages (Manual-Pages, Gebrauchsanleitungsseiten) sind eine wichtige Informationquelle für Linux-Anwender. Einige dieser Seiten sind jedoch recht lang, und gelegentlich wäre es wünschens-wert, einen Ausdruck der darin befindlichen Informationen zu erhalten. Zu diesem Zweck weisen Sie Linux über den Parameter -t an, Seiten im Postscript-Format auszugeben. Am besten nutzen Sie einen Postscriptfähigen Drucker oder einen Druckerfilter wie Aps. Die Syntax des Kommandos lautet:
man -t [Kommandoname] | lpr
Hilfe zu Befehlen
Erste Hilfe bieten Parameter, die Sie mit einem Leerzeichen und-help oder-h dem Befehl anhängen.
Die mit den Parametern erreichbaren Hilfetexte reichen oft nicht aus. Ausführliche Hilfe erhalten Sie meist mit dem man-Kommando. Hier können Sie weiter forschen, weil sich auch in anderen als den direkt zum Befehl gehörenden man-Seiten weitere Einzelheiten verbergen. Diese finden Sie am einfachten mit dem apropos-Kommando. Es durchsucht die Manual-Kurzbeschreibungen und liefert eine Liste aller Befehle, die Ihren Suchbegriff aufführen. So finden Sie zum Beispiel mit
Apropos apache
eine Liste aller Kommandos und man-Pages, in denen der Begriff Apache auftaucht.
Hilfe zur Kompression
Mit komprimierten Dateien sparen Sie bei der Übertragung Geld und auf dem Datenträger Platz.
Auch für große Festplatten sind komprimierte Dateien wichtig. Folgende Hilfsprogramme erleichtern den Umgang damit:
zless zeigt komprimierte Dateien an, ohne sie zuvor zu entpacken.
zdiff vergleicht zwei komprimierte Dateien.
znew wandelt compress- (*.Z) in gzip-Dateien um (*.gz).
zgrep durchsucht komprimierte Dateien.
Ebenfalls zur gzip-Familie gehört gzexe.
Das Verfahren komprimiert ausführbare Dateien, die dabei ausführbar bleiben. Dabei sparen Sie zwar Platz, doch dafür verlängert sich die Ladezeit.
Hilfeseiten lesen
Um die Linux-Handbücher in digitaler Form zu entschlüsseln, nutzen Sie den man-Befehl.
Oft gibt es zu einem Begriff mehr als eine Man Page (manual page, Hilfeseite). Der Aufruf von man begriff zeigt die Man Page mit der kleinsten Kapitelnummer an. Mit
apropos begriff
oder
man -k begriff
erhalten Sie eine Liste aller Kapitel, in denen es eine passende Man Page gibt. Durch die Angabe der Kapitelnummer können Sie die gewünschte Seite auswählen:
man 3 begriff
Dieser Befehl steuert die Seite aus dem dritten Kapitel an. Sind Sie nicht sicher, welche Seite passt, zeigt der Befehl
man -a begriff
alle passenden Man Pages nacheinander in Reihenfolge an.
Home-Verzeichnis finden
Mit einem Trick finden Sie das Home-Verzeichnis eines Anwenders heraus.
Manchmal müssen Sie das Home-Verzeichnis von einem Default-User finden zum Beispiel vom User wwwrun, den Sie für den Betrieb des Apache-Servers einrichten. Wollen Sie eine Konfigurationsdatei für den zu wwwrun passenden Account anlegen, müssen Sie den Ort des Home-Verzeichnisses wissen. Diese Information entnehmen Sie der Datei passwd (meist im Verzeichnis /etc). Sie enthält für jeden User eine Zeile mit Informationen. Die Pfadangabe in dieser Zeile ist das Home-Verzeichnis des Users.
Hotkey auf der Konsole
Da Linux Funktionstasten nur spärlich verwendet, belegen Sie diese selbst.
Der Einsatz von Funktionstasten beschleunigt die Arbeit beim Zugriff auf Makros. Über die Datei ~/.inputrc belegen Sie die Tasten. Dies fällt leicht, weil jede Zeile eine Belegung definiert:
Taste":"Makro"
Wie die Taste heißt, lässt sich durch die Kombination Strg-V <Taste> herausfinden. Für [F1] (Strg-V-F1) ergibt sich folgende Ausgabe: Der erste Teil der Zeile lautet Escape [[A. Da sich ein Escape nicht eingeben lässt, wird es auf e abgebildet. Damit ergibt sich e[[A als Wert für [F1]. Sie geben nun ein beliebiges Makro wie ps eax an, um die laufenden Prozesse zu überblicken. Das Makro ist erst komplett, wenn es mit [Enter] abschließt. Die [Enter]-Taste ist mit Strg-M belegt. Die Syntax für die Ausgabe von Control-Zeichen ist C- <Wert>, für die [Enter]-Taste also C-M. Das fertige Makro lautet:
e[[A":"ps eaxC-M"
Ein Druck auf die [F1]-Taste listet dieaktuellen Prozesse auf. s
IDE-CD-Brenner als SCSI-Gerät nutzen
Sie stellen fest, daß ein Linux-Programm zum Brennen von CDRs keine IDE-Geräte ansteuern kann? Die Lösung steckt im Kernel-Setup.
Linux unterstützt ausschließlich SCSI-CD-Brenner. Wer dagegen ein IDE/ATAPI-Gerät nutzen möchte, muß einen SCSI-Host-Adapter emulieren. Dann können Sie von jedem Brennerprogramm auf Ihren CD-Brenner zugreifen. So gehen Sie vor: Starten Sie das Kernel Configuration Tool. Wählen Sie in der Rubrik Block Devices die Option SCSI Emulation Support. Außerdem ak-tivieren Sie in der Rubrik SCSI Support die Optionen SCSI Support und SCSI Generic Support. Übersetzen Sie den Kernel, und installieren Sie ihn danach neu. Falls Sie die Treiber als Module übersetzen möchten, achten Sie beim Laden auf die richtige Reihenfolge: Zuerst kommt das Modul scsi.o, das der Option SCSI Support entspricht. Anschließend laden Sie den SCSI Generic Support (sg.o) und zum Schluß den eigentlichen Treiber ide-scsi.o.
Beachten Sie, daß Sie den "richtigen" ATAPI-CD-ROM-Treiber nicht fest in den Kernel integrieren dürfen. Der Kernel bevorzugt sonst diesen Treiber und ignoriert die Unterstützung für die Emulation der SCSI-Schnittstelle. J R
IDE-Festplatten beschleunigen
Mit wenigen Befehlen steigern Sie den Datentransfer von den
Festplatten.
Linux verwendet beim Zugriff auf IDE-Festplatten sehr konservative Einstellungen. Mit dem Befehl
hdparm -v /dev/hda
überblicken Sie die momentanen Einstellungen. Wenn Sie die Zeilen
using_dma = 0 (off)
I/O support = 0 (default 16-bit)
lesen, verwendet der Festplattentreiber 16-Bit-I/O ohne den DMA-Modus. Dies ist die langsamste Einstellung. Die aktuellen Übertragungsraten bestimmen Sie mit dem Kommando
hdparm -t /dev/hda
Der Befehl liefert etwa eine Zeile mit folgenden Werten:
Timing buffered disk reads: 32 MB in 7.03 seconds=4.55 MB/sec
Die Übertragungsrate beträgt also 4.55 Megabyte in der Sekunde. Nach dem Einschalten von DMATransfers mit
hdparm -d 1 /dev/hda
beträgt die Übertragungsrate im Beispiel schon 6,84 MByte pro Sekunde. Akti-vieren Sie den 32-Bit-Zugriff mit dem Befehl
hdparm -c 1 /dev/hda
so steigern Sie den Wert auf 7,51 Mbyte pro Sekunde. Die eingestellten Werte sind allerdings flüchtig. Ein IDE-Reset, den der Kernel im laufenden Betrieb durchführt, zerstört sie. Mit
hdparm -k 1 /dev/hda
bleiben die Einstellungen über einen IDE-Reset erhalten. Einen Rechnerneustart überstehen sie noch nicht: Erst wenn Sie die Zeilen in ein Startscript eintragen, das nach jedem Booten aufgerufen wird, bleiben die Einstellungen dauerhaft. Beim Hersteller SuSe eignet sich zum Beispiel ein eigenes Script in/etc/rc.d/rc2.d auf Basis des mitgelieferten skeleton-Beispiels.
22 Linux: Bootdisk im Schnelldurchgang
Wenn sich die Version des Kernels ändert, sollten Sie die Bootdiskette erneuern.
Mit der Installation von Linux legen Sie eine Bootdiskette an. Wenn der Rechner nicht mehr von der Festplatte bootet, bewahren Sie sich so eine weitere Startoption. Ändern Sie die Version, indem Sie einen neuen Kernel kompilieren, sollten Sie eine neue Bootdiskette anlegen. Am schnellsten schreiben Sie den aktuellen Kernel mit dem Kommando
dd if=/boot/mein.kernel of=/dev/fd0
auf eine Bootdiskette. Dieses Kommando schreibt das aktuelle Kernel-Image (mein.kernel) auf eine Diskette. Sicherheitshalber sollten Sie das Kommando
rdev /dev/fd0 /dev/bootpartition
absetzen. Damit bootet der Kernel auch von der entsprechenden Partition.
In Unterverzeichnissen suchen
Auch in Unterverzeichnissen spüren Sie die Dateien auf, die wichtige Textstellen enthalten.
Mit dem grep Kommando finden Sie Dateien mit einer bestimmten Zeichenkette. Das Kommando durchsucht aber nur Dateien im aktuellen Verzeichnis. Für rekursive Suche in Unterverzeichnissen existiert das rgrep-Kommando. Wollen Sie nur das aktuelle Verzeichnis und die direkten Unterverzeichnisse durchsuchen, genügt als grep-Suchbegriff */*. Die Angabe von */*/* durchsucht zwei Verzeichnisebenen. Allerdings werden die Dateinamen in diesem Fall von der Shell expandiert, so dass bei großen Verzeichnissen die maximale Kommandozeilenlänge erreicht wird. Sie testen die Wirkung der Eingabe von Wildcards mit dem echo-Kommando:
echo */*
Intellimouse unter Linux
Unter Windows läßt sich fast jede Anwendung mit dem Rädchen der Intellimouse steuern. Linux erlaubt das jetzt auch.
Bislang war das Mausrad unter X-Window völlig nutzlos. Mit IMWheel ist es jetzt auch unter Linux einsetzbar. Nach der Installation von IMWheel können Sie in fast jedem X-Fenster nach Belieben mit dem Rad scrollen. Das Tool erhalten Sie mit weiteren In-formationen unter der Adresse
http:// solaris1 . mysolution . com/~jcatki/imwheel
Interaktive Programme fernsteuern
Ein Trick hilft, Programme zu steuern, die eine Kommandozeileneingabe erlauben.
Zum Automatisieren von Vorgängen lassen sich Shell-Skripte einsetzen. Allerdings scheitern diese, wenn Sie das zu steuernde Programme interaktiv bedienen müssen, also keine Kommandozeilenparameter verwenden können. Verfügt das Programm über eine Kommandozeile, um Befehle einzugeben, hilft ein kleiner Trick:
#!/bin/sh
Programm Argumente <<EOF
Kommandozeile 1
Kommandozeile 2
EOF
Mit dem Skript startet das Programm mit den angegebenen Argumenten. Anschließend werden die beiden Zeilen an den Prompt des Programms geschickt: Wie viele Kommando Sie abschicken, ist egal. Mit diesem Verfahren steuern Sie Programmabläufe ohne viel Aufwand.
Internet-Einstellungen kopieren
Einmal mit KPPP vorgenommene Internet-Einstellungen kopieren Sie mit wenigen Schritten auch für andere Benutzer.
Unter KDE können Sie mit dem Tool KPPP eine Dial-In-Verbindung zum Internet anlegen. Mit diesem Werkzeug fällt es auch Einsteigern leicht, sich unter Linux per Modem ins Internet einzuwählen. Wenn Sie einen Internet-Zugang konfiguriert haben und diesen für andere oder für Nutzer mit anderen Rechten kopieren wollen, gehen Sie wie folgt vor. Voraussetzung dafür ist, daß beide die KDE-Oberfläche nutzen. Das Beispiel kopiert die Internet-Provider-Einstellungen des Nutzers Habe-Fertig für einen weiteren Anwender mit dem Namen NoInternet. Beachten Sie, daß dabei eventuell vorhandene Einstellungen des Nutzers NoInternet verlorengehen.
Loggen Sie sich als Benutzer root ein.
Wechseln Sie in das Home-Verzeichnis
des Benutzers HabeFertig:
cd /home/HabeFertig
Wechseln Sie in das Konfigurations-verzeichnis von KDE:
cd .kde/share/config/
Kopieren Sie die Datei kppprc in das entsprechende Unterverzeichnis des Nutzers NoInternet, wobei Sie eine vor-handene Datei überschreiben:
cp kppprc /home/NoInternet/.kde/share/config
Ändern Sie den Eigentümer der so ko-pierten Datei in NoInternet:
chown NoInternet /home/NoInternet/.kde/share/config kppprc
Nach diesen Vorarbeiten gelangt der Nutzer NoInternet über die für Habe-Fertig konfigurierten Internet-Einstellungen (Provider) ins Internet. Wollen Sie die Einstellung für NoInternet än-dern, bleiben die von HabeFertig unbe-einflußt.
IP-Adresse herausfinden
Mit diesem Trick verschaffen Sie sich in Scripts Ihre eigene IPAdresse.
Oft benötigen Sie die eigene IPAdresse in Scripts. Das ist leicht, wenn Sie sich per Standleitung verbinden. Über eine solche und die dazu gehörende feste IP-Adresse verfügen aber nur wenige Anwender. Die meisten erhalten dynamisch eine IP-Adresse per DHCP (Dynamic Host Configuration Protocol). Diese IPAdressen sind per Script schwerer zu verarbeiten, weil Sie nicht einen festen Wert einstellen können. Sie müssen also die eigene IP-Adresse zur Laufzeit ermitteln, wozu Sie zwei Kommandos brauchen: env und sed. Mit env lassen Sie sich den Teil aus der ifconfig anzeigen, die die IP-Adresse enthält, allerdings in weiterem Text eingebettet. Aus diesem extrahieren Sie die Adresse per sed-Befehl:
env LC_ALL=C /sbin/ifconfig eth0 | sed -n '/addr:/s/ [^r]*..//gp'
Beachten Sie, dass beim Parameter /s/ im sed-Teil hinter dem /-Zeichen und vor der eckigen Klammer ein Leerzeichen stehen muss.
IP-Konfiguration von der Kommandozeile
Mit wenigen Handgriffen ändern Sie die IP-Konfiguration während des Betriebs.
Wenn Sie die IP-Adresse der Netzwerkkarte oder die zugehörige Netzmaske verstellen wollen, ändern Sie die IP-Konfiguration. Dabei müssen Sie nicht einmmal den PC neu starten. Dieses komfortable Arbeiten erlaubt Ihnen das ifconfig-Kommando. Um die IP Adresse oder eine Netzmaske zu verändern, geben Sie den Aufruf
ifconfig ethXX NeueIPAdresse Netzmaske
ein. Der Eintrag ethXX gibt dabei das Interface an, für das Sie die Änderung durchführen wollen. Standardmäßig lautet der Eintrag meist eth0.
KDE ohne Maus
So bleiben Profis mit den Fingern auf der Tastatur, ohne mit der Maus spielen zu müssen.
KDE (K Desktop Environment) ist ein Window-Manager, den Sie überwiegend mit der Maus bedienen können. Einige Kommandos sollten Sie jedoch mit der Tastatur ausführen. Die wichtigsten Tastaturkürzel für KDE finden Sie in der folgenden Tabelle.
Kein FAT-Eintrag nach der Installation
Nach der Installation kann die Windows-Partition unsichtbar bleiben.
Während der Linux-Installation fragt das System nach den Partitionen, die Sie einbinden (mounten) wollen. Die bereits existierenden Partitionen sehen Sie in einem Auswahlfenster. Durch Selektieren und anschließende Eingabe des Mount-Points kann Linux auf die Datenträger zugreifen. Nach einem Neustart kann die Windows- 98-Partition jedoch unsichtbar bleiben, obwohl sie in der Datei /etc/mtab richtig eingetragen war. Die Ursache liegt darin, dass das Verzeichnis /mnt/win98 nicht angelegt wurde. Holen Sie das nach mit der Eingabe
mkdir /mnt/win98
Eine Übersicht aller beim Systemstart einzubindenden Partitionen finden Sie in der Datei /etc/mtab.
Kein Netzwerk nach DSL-Installation
In diesem Tipp erfahren Sie, wie Sie den Netzwerkzugriff nach einer DSL-Installation herstellen.
Wenn Sie unter SuSe 8.0 den DSLTreiber installieren, können Sie den Zugriff auf die Netzwerkkarten verlieren. Das hängt damit zusammen, dass während des Initialisierens des DSL-Devices (dsl0) bereits die Netzwerktreiber für die Karte initialisiert werden. Hierdurch tritt ein Folgefehler auf. Sie ändern das Installations-Script, indem Sie die Netzwerkkarte zuerst initialisieren. Erst danach sollten Sie das DSLDevice ein binden. Sie finden den Fix unter der Internet-Adresse ftp://ftp. suse.com/pub/suse/i386/update/8.0/ a1/sysconfig.rpm.
Keine KDE-Systemsounds in S.u.S.E. 6.x
Sie haben S.u.S.E. Linux 6.x installiert und bekommen in KDE keine Systemsounds zu hören? Das Problem läßt sich einfach beseitigen.
Ihre Soundkarte ist korrekt installiert, und trotzdem hören Sie unter dem KDesktop Environment keine Systemsounds? Das hat folgende Ursache: Da KDE unter Umständen aufgrund der Komponente kaudioserver beim Beenden hängenbleibt, ist diese Desktop-Oberfläche in der S.u.S.E.-Distribution deaktiviert. Wenn Sie ein Hänger beim Beenden von KDE nicht stört, können Sie den Sound selbst wieder aktivieren: Dazu entfernen Sie in der Datei /opt/kde/bin/startkde die #-Zeichen vor den Einträgen
# startifthere kaudioserver
# startifthere kwmsound
Kernel Versionen
Neben verwirrend hohen Versions-Ziffern verschlüsseln Kernel-Nummern eine Information.
Häufig erscheinen neue Kernel Versionen, welche mit langen Versionsnummern den Anwendern verwirren können. Die Logik dahinter: Je größer die Nummer, desto neuer der Kernel. Es gibt aber noch etwas mehr, das Anwender über die Kernel-Versionen wissen sollten: Ist die letzte Zahl ungerade, handelt es sich um so genannte Entwicklerkernel. Diese sind nicht für den normalen Einsatz gedacht, sondern für Software-Entwickler: Diese testen damit erstmal einen neuen Kernel.
Kommando wählen
Wo Sie ein Kommando eingeben, ist in der Regel gleichgültig, weil sich die Path-Angabe der Shell darum kümmert.
Die Path-Angabe der Shell listet alle Verzeichnisse auf, in denen Linux nach einem Befehl suchen soll. Wer wissen muss, wo ein Befehl zu finden ist, kann von Hand alle Verzeichnisse einzeln durchstöbern. Da es mehrere Kopien eines Befehls geben kann, müssen Sie die Suchreihenfolge der Shell anhand des Inhalts des Path-Befehls untersuchen. Der which-Befehl vereinfacht all dies. Er spürt die richtige Kopie eines Befehls auf und zeigt den vollständigen Pfad zu diesem an.
Kommandozeilenstack als Script
Mit der History-Funktion der Linux-Bash ersparen Sie sich Schreibarbeit.
Mit der History-Funktion der Bash greifen Sie auf die letzten Kommandozeilen zu. Haben Sie mehrere Zeilen einzugeben, ist es mühsam, die Schreibarbeit zu wiederholen. Mit dem fc-Kommando der Bash wandeln Sie daher die letzten Eingaben in ein Shell-Script um. Die Eingabe von fc ohne Angabe von Parametern zeigt die letzten eingegebenen Zeilen. Jeder Zeile wird dabei eine Zeilennummer vorangestellt. Mit
fc Startzeile Endzeile
öffnen Sie diese Zeilen im Standardeditor. Über den Parameter -e können Sie einen anderen Editor wählen.
Komprimiert mit Netscape drucken
Netscape druckt Webseiten sehr großzügig aus. Mit diesem Tipp sparen Sie Papier.
Wenn Sie mit den Standardeinstellungen von Netscape drucken, verbrauchen Sie viel Papier. Sie können den Papierverbrauch dadurch reduzieren, indem Sie zwei Seiten auf einem Blatt ausdrucken. Im Druckdialog können Sie ein beliebiges Druckkommando angeben. Mit folgendem Kommando drucken Sie zweiseitig:
psnup -2 | lpr
Eine Druckvorschau sehen Sie mit der Eingabe:
psnup -2 > testdatei.ps
Die Testdatei machen Sie mit dem gv-Kommando sichtbar.
Konsolen wechseln
Mit Linux für mehrere Nutzer können Anwender zeitgleich an unterschiedlichen Terminals arbeiten. Ein Terminal vereint Tastatur und Bildschirm. Mit virtuellen Konsolen nutzen Sie die Multi-User-Fähigkeiten auf einem Einzelplatzrechner. Sie melden sich mehrfach am System an, um mehrere Arbeiten parallel auszuführen. Im Textmodus wechseln Sie über [Alt-F1]bis [Alt-F6]zu den Konsolen. Starten Sie X-Windows von einem beliebigen Terminal aus und haben Sie sich parallel an mehreren virtuellen Konsolen im Textmodus angemeldet, können Sie nicht über [Alt-F1]bis [Alt-F6]aus X-Windows heraus zwischen den Terminals umschalten. Stattdessen verwenden Sie [Strg-Alt-F1]bis [Strg-Alt-F6]. X-Windows selbst wird nach dem Start über eine gesonderte Konsole verwaltet, zu der Sie aus dem Textmodus heraus mit [Alt-F7]gelangen.
Kontrolle ist besser
So prüfen Sie die zentrale Konfigurationsdatei auf Funktionsfähigkeit und korrekte Syntax.
Die zentrale Datei zur Konfiguration der von außen zugänglichen
Dienste eines Linux-Rechners ist /etc/inetd.conf. Mit dem Kommando tcpdchk überprüfen Sie deren Syntax. Es untersucht die Konfigu-rationsdatei auf typische Fehler wie falsche Pfade, fehlerhafte Optionen oder ungültige Hostnamen. Mit der Option -v erhalten Sie eine Ausgabe wichtiger Fehlermeldungen.
Kopien der Konfiguration
So verwalten Sie die Sicherheitskopien von Konfigurationsdateien einfacher.
Konfigurationsdateien sind wichtig. Daher legen besonnene Anwender eine Sicherheitskopie an, bevor sie neue Einstellungen testen. Dadurch sammeln sich viele Kopien an, womit das Verzeichnis unübersichtlich wird. Mit Hilfe des zumeist vorinstallierten Revision Control Systems schaffen Sie wieder Ordnung. Mit
ci -l Dateiname
sichern Sie. Das Kommando fragt interaktiv einen Kommentar ab, der die aktuelle Version beschreibt. Nach jeder Änderung der Datei lässt sich dieses Kommando wiederholen. Mit
rlog Dateiname
überblicken Sie die Versionen mit Datum und Kommentar. Mit
co -l Dateiname
stellen Sie die letzte Version wieder her.
Kostengünstige Intrusion-Detection
Sichern Sie Ihre Netzrechner gratis mit einer Open-Source-Lösung gegen Einbruch.
Intrusion-Detection-Systeme (IDS: Einbruchs-Erkennungssysteme) sind nicht billig und müssen auf separaten Rechnern installiert werden. Als Alternative gibt es eine kostenlose Open-Source-Lösung, die jedoch nicht alles abdeckt: Snort. Das Programm können Sie von der Website www . snort . org herunterladen. Sie können es unter Linux/Unix und Win32 betreiben. Snort belauscht den IP-Traffic paketweise und achtet dabei auf Verdächtiges. Welches Paket verdächtig ist, legen Regeln fest. Von diesen laden Sie eine vordefinierte Menge. Wenn Sie die Software installieren, sichern Sie damit Ihre Daten gegen Einbruch ab.
Lautlose Konsole
Die automatisch ausgefüllte Kommandozeile bringt unerwünschte Tonsignale mit sich.
Wer gerne die Kommandozeile automatisch vervollständigen lassen will, zieht sich leicht den Zorn seiner Kollegen zu: Bei jeder Mehrdeutigkeit ertönt ein Ton. Mit dem Kommando
echo -ne '033[11;0]'
sorgen Sie für Ruhe.
Leichter mit neuem Kernel
Die Version SuSE 7.2 verfügt schon über einen neuen Kernel. Das Update belohnt Sie mit Performance-Gewinn.
Wer viele kleine Tasks nutzt, erlebt mit dem neuen Kernel eine deutliche Verbesserung der Leistung. Wer zum Beispiel einen Webserver betreibt, wird durch den Einsatz des neuen Kernels eine zum Teil dramatische Senkung der Rechnerauslastung feststellen. Am meisten gewinnen Nutzer mit Dual-CPU-System: Hier sind die Leistungsgewinne im Server-Einsatz teilweise so stark, dass der Einsatz des neuen Kernels unter Umständen sogar den Einsatz weiterer Hardware überflüssig macht. Wer keine neue Distribution installieren möchte, sondern nur das Kernel-Update, kann es von www . kernel . org laden.
Linux im Single-User-Modus schützen
Im Single-User-Modus besteht eine erhöhte Anfälligkeit des Systems vor Angriffen, weil ein Linux-System dann nicht vor unbefugten Zugriffen durch Fremde geschützt ist.
Administratoren arbeiten zwecks Wartungsmaßnahmen gelegentlich im Single-User-Modus. In diesem fehlen jedoch die gewohnte Passwortabfrage und sonstige Sicherheitsmechanismen. Sie schützen das System vor Angriffen, indem Sie die Passwortabfrage in LILO aktivieren. Dieses Passwort gilt für alle Boot-Optionen. Die Datei /etc/lilo.conf ergänzen Sie um den Eintrag:
passwort=daspasswort
Ebenfalls nützlich ist die LILO-Option restricted. Ist dieser Parameter gesetzt, fragt LILO nach einem Passwort, wenn ein Nutzer weitere Boot-Parameter (etwa: single) eingibt. Diese Option ist auch für Multi-User-Systeme interessant. Allerdings steht das Passwort im Klartext in der Datei /etc./ lilo. conf. Entsprechend sollten Sie die Rechte an der Datei restriktiv setzen. Auch vom Booten von Diskette ist das System nicht geschützt.
Linux und Windows NT
Sie möchten Linux und Windows NT auf einem PC gleichzeitig installieren und weiterhin den Windows-NT-Boot-Manager verwenden. Kein Problem:
Installieren Sie dazu den Linux-Bootloader LILO im Bootsektor der Linux-Partition (zum Beispiel /dev/hda2). Booten Sie Linux per Diskette, und kopieren Sie den Bootsektor der Linux-Partition auf eine leere DOS-Diskette. Der entsprechende Befehl an der Linux-Kommandozeile lautet:
dd if=/dev/hda2 bs=512 count=1 of=/floppy/boot.sek
Booten Sie nun wie gewohnt Windows NT, und loggen Sie sich mit Administrator- Rechten ein. Kopieren Sie dann die Datei boot.sek von der Diskette in das Wurzelverzeichnis der Windows-NT-Partition. Jetzt folgt der entscheidende Schritt: Öffnen Sie die Datei c:\boot.ini mit dem NotePad von Windows. Achtung: Diese Datei ist eventuell mit dem Read-Only-Attribut versehen, löschen Sie dies vorher mit Hilfe des Windows Explo-rer. Fügen Sie nun am Ende der Datei die Zeile
c:\boot.sek="Mein Linux"
ein. Speichern Sie die Datei, und starten Sie den Rechner neu. Ab sofort können Sie Linux aus dem NT-Boot-Manager starten. Wichtig: Bei jeder Änderung am Kernel muß auch die Datei boot.sek neu erzeugt werden.
Linux von CD booten mit Red-Hat
So starten Sie RedHat Linux direkt von CD
Um Linux von CD zu starten, wechseln Sie in das Verzeichnis
d:
cd redhat\dosutils
Wenn sich nicht beim Brennen der CD ein kleiner Fehler eingeschlichen hätte, könnte Linux sofort mit autoboot star-ten. Doch so bricht autoboot nach der Darstellung einer gepunkteten Fortschrittsanzeige mit der Fehlermeldung
can't open image file for initrd.
ab. Die Ursache finden Sie schnell, wenn Sie die Datei autoboot.bat untersuchen. Der Pfad, in dem loadlin die Datei initrd. img suchen soll, existiert nicht. Sie helfen sich dadurch, daß Sie loadlin mit korrigierten Parametern manuell star-ten. Wenn Sie sich im Pfad von \red-hat\dosutils befinden, geben Sie:
loadlin autoboot\vmlinuz initrd=autoboot\initrd.img
ein. Nach dem Aufruf startet das Red-Hat-Installationsprogramm.
log-Dateien kontinuierlich anzeigen
Wenn Sie sich genauer für die Vorgänge auf Ihrem Rechner interessieren, werten Sie die log-Datei aus.
Wer neue Features verwendet, möchte über die Auswirkungen sofort Auskunft erhalten. Ein Beispiel dafür ist eine Änderung in der Apache-config-Datei, die sich sofort an den neuen Einträgen in der log-Datei bemerkbar macht. Im einfachsten Fall untersuchen Sie in einem Editor oder Pager die log-Datei. Mit der Eingabe
tail-f NameDerLogDatei
sehen Sie immer das Ende der Datei. Tauchen neue log-Einträge auf, scrollt die Anzeige nach oben und macht sie schnell erkennbar.
Login verhindern
So erfahren Anwender bei Wartungsarbeiten, daß Sie sich momentan nicht einloggen können.
Bei manchen Wartungsarbeiten darf kein weiterer Anwender Daten anfordern. Als Superuser schalten Sie dann das Netz in den Single-User-Modus. Al-lerdings rufen dann oft Ihre Anwender an, weil sie sich nicht mehr einloggen können. Daher bietet bietet Ihnen die Datei /etc/nologin eine bessere Alternative. Diese Textdatei legen Sie mit einem Editor an. Sodann kann sich kein Anwender mehr in das System einloggen. Er sieht statt dessen eine Botschaft wie :
Es liegt kein Fehler vor: Wegen Wartungsarbeiten können Sie sich nach einer kurzer Kaffeepause wieder anmelden.
Dieses Beispiel für eine Meldung, welche Sie in die Datei nologin schreiben, können Sie beliebig varieren. Mit wenigen Sätzen kann auch der Superuser das Betriebsklima verbessern.
Logrotate-Programm
Mit diesem Tipp verarbeiten Sie alte log-Dateien nach der Zeitspanne, die Sie eingestellt haben.
Das Logrotate-Programm dient dazu, alte log-Dateien nach einstellbarer Zeit oder Größe zu verarbeiten. Dabei entscheiden Sie mit den Parametern in der Datei logrotate.conf, was mit den Dateien passieren soll. Auf den ersten Blick fallen dabei die Optionen compress und nocompress auf. Diese Schalter legen fest, ob die bearbeitete log-Datei komprimiert wird oder nicht. Was aber, wenn Sie die Dateien nicht aufheben wollen? Eine delete- oder remove-Option suchen Sie im Befehl vergeblich. Auch mit dem Logrotate-Befehl können Sie log-Dateien löschen. Das schaffen Sie damit, dass Sie bei der rotate-Option als Parameter eine 0 eingeben:
rotate 0
Magische Tasten
Wenn Linux auf keine Taste mehr reagiert, läßt es sich noch mit kompilierten Hotkeys bedienen.
Linux gilt als stabiles Betriebssystem. Doch noch sind nicht alle Linux-Anwendungen so stabil, wie Anwender sich dies wünschen und es erwarten. Gerade X-Server in der Betatest-Phase sowie SVGA-Lib-Programme können Ihr Linux unbedienbar machen. Dazu gehören auch manche Spiele. In der 2.2.x-Serie der Linux-Kernels existiert im Makefile die Option Magic Sysrq Key: Damit kompilieren Sie verschiedene Hotkeys in den Kernel und machen ein nicht reagierendes System wieder arbeitsfähig. Bevor Sie den Kernel mit dieser Option übersetzen, entnehmen Sie der Datei /usr/src/linux/Do-cumentation/ sysrq.txt weitere Informationen.
Mail von der Kommandozeile
Ein Befehl genügt, um einen Text zu verschicken. Das erspart Ihnen einen Programmstart.
Wer schnell eine E-Mail verschicken will, muss nicht erst elm oder einen anderen Mailer starten. Der mail-Befehl arbeitet sehr schnell von der Kommandozeile aus. Der Aufruf lautet:
mail <Empfangsadresse>-TextDatei
Mehrsprachige Shell
Die Befehle, mit denen Sie die Sprache umschalten, sind klar und einfach.
Viele Programme unterstützen mehr als eine Sprache. Sehr nützlich ist es, die Bash-Shell. auf eine andere Sprache um-zustellen. Möchten Sie eine andere Sprache wählen, stellen Sie in der aktuellen Shell die Sprache zum Beispiel mit
export LANG=german
auf Deutsch um, für Englisch gilt:
export LANG=english
Diese Zeilen speichern Sie in der Datei ~/.bashrc.
Merkwürdige Dateien löschen
Dateien mit Sonderzeichen im Namen verweigern sich einem Löschzugriff.
Sonderzeichen in Dateinamen spielen meist keine Rolle, anders das Zeichen -. Beginnt ein Dateiname mit diesem Zeichen, können Sie die entsprechende Datei nicht mit dem Befehl
rm -leidernix
löschen. Die Shell nimmt irrtümlich die ersten beiden Zeichen -l des Dateinamens als Parameter für den rm Befehl. Sie löschen die Datei mit
rm -leidernix
Unix-Systeme werten die Groß-/Kleinschreibung bei Dateinamen aus. Windows unterscheidet nicht, was beim Webseiten-Upload zu beachten ist. s
Monitor schnell abschalten
So schalten Sie den Monitor mit einer Kommandozeile in den Stromsparmodus.
Wenn Sie den Bildschirmschoner nach einer kurzen Zeitspanne aktivieren, kann das den Arbeitsfluss aufhalten. Langen Leerlauf des Monitors verschwendet Ressourcen. Mit
xset dpms force off
schalten Sie den Monitor sofort in den Stromsparmodus. Wollen Sie den Monitor wieder anschalten, genügt der Befehl
xset dpms force on
MySQL-Fehler nach PHP-Update
Dieser Tipp zeigt, wie Sie einen Aufruffehler nach einem PHPUpdate beseitigen können.
Ein Fehler schleicht sich bei der Veränderung des Scripts bzw. des Links ein, um die MySQL-Sockets zu starten. Diese Verbindung wurde bei einem Update neu geschrieben. Sie können das Problem beheben, indem Sie den Startlink zu den MySQL-Sockets neu anlegen. Dieser Link, den Sie in einer Zeile eingeben, könnte wie folgt aussehen:
ln -s /var/lib/mysql/ mysql.sock /tmp/
Namensfragen
Die Abfrage der Umgebungsvariablen verrät Ihnen Nutzer- und Computernamen sowie die Mail-Adresse.
Oft benötigen Sie in Skripten den Namen des momentan angemeldeten Be-nutzers oder des aktuellen PC. Diese stehen in der Bash (Standardeingabezeile) in Form von Variablen zur Verfügung:
SHORTNAME=$(hostname)
liefert den Namen des PC,
LONGNAME=$(hostname)
Namen und Domäne des PC und noch
den User-Namen:
USERNAME=$(id -un)
Abschließend eine Mail-Adresse:
mailad=$USERNAME@$LONGNAME.
Netscape-Start ohne Fehler
Wenn der Browser-Start den Fehler Lock Filemeldet, hilft Ihnen dieser Tipp.
Meist wird der Netscape Navigator über ein Icon auf dem Desktop gestartet. Verwenden Sie mehrere virtuelle Schirme, wird ein bereits laufenden Browser leicht übersehen. Beim erneuten Start erhalten Sie die Fehlermeldung Lock File. Zur Lösung ändern Sie eine Kommandozeile des Shortcuts ab.
netscape -remote 'openURL(about:blank,new-window)' || netscape
Per Klick auf das Icon öffnen Sie ein neues Browserfenster. Scheitert dies, weil kein Browser läuft, startet einer.
Netzwerk-Verkehr lesen
Wer seine Rechner überwachen will, verfolgt am besten den Netzwerkverkehr.
Sicherheit im Netz erfordert Ihre Aufmerksamkeit. Wenn Sie Angriffe auf Ihren PC befürchten, informiert Sie ein Speicherauszug (Dump) über den TCPVerkehr. Die Informationen sehen Sie in Echtzeit mit dem Programm tcpdump. Dieses zeigt die Inhalte der Pakete gefiltert und kommentiert an. Dabei können Sie bestimmte Ports sowohl mit ihrem Namen als auch mit der Portnummer aus dem Dump auslassen. Das ist hilfreich, wenn Sie den Verkehr mit dem Mailserver nicht beachten wollen. Um den IP-Verkehr der Schnittstelle eth0 zu verfolgen, aber die Pakete des Mail- und Webservers zu ignorieren, geben Sie ein:
tcpdump -l -n -i eth0 not port 22 and not port 80 and not port 25 and not port pop3
Mit dieser gefilterten Anzeige überwachen Sie den Datenverkehr leichter.
Netzwerkkarte
Wenn der Netzwerkzugriff mit der Adaptec-ANA-6911-XX-Karte versagt, helfen Sie sich.
Nach einer erfolgreichen Linux-Installation unter RedHat 5.1, 6.0 haben Sie keinen Netzwerkzugriff mit der Adaptec-Netzwerkkarte. Eine fehlerhafte Konfiguration Ihrer Karte erkennen Sie schon beim Hochfahren an der Meldung
# Bringing up Interface eth0
[FAILED]
Linux erkennt während der Installation die Adaptec-Karte korrekt und installiert den dazu notwendigen Treiber tulip. Dieser Treiber ist der Standardtreiber für die DEC-Chips auf Basis des DEC-21040. Das Folgemodell DC21143 lässt dem Hersteller die Freiheit, Funktionen gesondert zu schalten. Darin liegt das Pro-blem. Um es zu lösen, testen Sie die Karte mit einem anderen Treiber. Schlimms-tenfalls befindet sich eine defekte Karte in Ihrem Rechner. Voraussetzung für korrektes Arbeiten ist, dass der Treiber für die Netzwerkkarte als Modul geladen wurde. Das ist umindest nach der Installation der Fall. Weiterhin müssen Sie als root angemeldet sein. Dann entfernen Sie den geladenen Treiber tulip.o:
# rmmod tulip
Wenn Linux diesen Treiber bereits nutzt, deaktivieren Sie das Device eth0 unter RedHat mit den Befehlen:
# ifdown eth0
# rmmod tulip
Jetzt binden Sie den DEC-Treiber ein, der Bestandteil jeder Distribution ist, und prüfen die Meldungen der Kernellog- Datei:
# modprobe de4x5
Ausgabe:
[tulip]# modprobe de4x5
eth0: DC21143 at 0xd000 (PCI bus
0, device 10), h/w address
00:00:d1:1c:77:ed, and requires
IRQ5 (provided by PCI BIOS).
Nun aktivieren Sie das Device eth0 und lassen sich die Konfiguration anzeigen:
# ifup eth0
# ifconfig eth0
Wenn Sie die Karte einbinden können, erhalten Sie eine Meldung wie diese:
Determining IP information for eth0...eth0: media is 100Mb/s. done.
Wenn alle Änderungen erfolgreich sind, übernehmen Sie diese. Dazu editieren Sie die Datei /ect/conf.modules und ersetzen den Eintrag
alias eth0 tulip
durch
alias eth0 de4x5
Danach sollte Linux die Netzwerkkarte korrekt initialisieren.
Neuer Linux-Loader
Mit der neuer LILO -Version sprechen Sie Festplatten bis zu 2048 GByte an.
Die aktuelle Version von LILO (Linux Loader) hebt die Begrenzung auf 1024 Zylinder bei Festplatten auf, wenn der PC über ein aktuelles BIOS verfügt, welches die 32-Bit-Sektor-Adressierung unterstützt. Damit lassen sich Platten bis zur Grenze von 2048 GByte ansprechen, die noch keine PC-Festplatte erreicht hat. Ebenfalls überarbeitet wurde der OS/2-Loader. Ein neues Bootmenükonzept erlaubt damit eine optisch übersichtlichere Auswahl bei mehreren Bootvarianten. Die Software finden Sie unter ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/.
Die Adresse bietet keine vorkompilierten Binaries. Der Grund mag elitär klingen, kann Einsteigern aber Zeit und Mühe sparen: Wer den Loader nicht kompilieren kann, sollte ihn nicht installieren.
Neues zur Astaro Firewall
Die neue Version Beta 5 von Astaro Linux umfasst Bugfixes und einen neuen IPSec-Stack.
Astaro ist eine Firewall-Lösung für Linux. Sie enthält Packet Inspection Filtering, Content Filter und User-Authetification. Außerdem gibt es einen Virenscanner von Kapersky Labs, VPN und weitere hilfreiche Features für den sicheren Netzbetrieb. Für den nicht-kommerziellen Einsatz können Sie Astaro Linux mit ausführlicher Dokumentationen im pdf-Format unter der Adresse www . astaro . de herunterladen.
Nicht druckbare Zeichen
Text mit nicht druckbaren Zeichen müssen Sie umwandeln, um ihn zu sehen.
Gelegentlich enthalten Texte spezielle Sonderzeichen, weswegen Pager wie less diese Datei als Binärdatei behandeln und zur Sicherheit nachfragen. Antworten Sie Ja, sehen Sie meist unleserliche Zeichen am Bildschirm. Doch mit dem Kommando
cat -v Dateiname | less
können Sie den Text lesen, weil der Befehl nicht druckbare Sonderzeichen in druckbare umwandelt.
Operas neuer Browser für Linux
Wer mit dem Konquerer-Browser nicht so recht klarkommt und Mozilla nicht mag, der hat ab sofort eine neue Alternative fürs Browsen unter Linux.
Von Opera Software gibt es einen Browser für Linux: Version 6 steht zum Download bereit. Verfügbar ist er allerdings erst als Technology Preview, was einer Betaversion entspricht Für eine Betaversion macht dieser Browser einen sehr fortgeschrittenen Eindruck. Wer den Test schon einmal wagen will, erhält die Software unter www . opera . com.
Personal Homepage als Interpreter
Mit diesem Tipp nutzen Sie die Scriptsprache Personal Homepage (PHP) unter Linux auch ohne einen Webserver.
Personal Homepage (PHP) lässt sich als Scriptsprache verwenden, die Ihre Ausgaben in Form von HTML-Seiten anlegt. Das ist praktisch allerdings nur dann, wenn Sie über einen Webserver verfügen. Sie können PHP aber auch ohne einen Webserver nutzen. In diesem Fall rufen Sie einfach
php NameDesScripts
auf. Auch im Interpreter-Modus stehen alle Funktionen von PHP zur Verfügung einzig auf die Umgebungsvariable von Apache müssen Sie verzichten. Das ist aber auch logisch, denn schließlich läuft in dieser Betriebsart kein Webserver im Hintergrund mit.
Persönliches GIMP
Das Grafikprogramm GIMP verfügt über unzählige Kommandos und Optionen, die Sie per Tastaturkürzel erreichen.
Mit GIMP können Sie Tastaturkürzel definieren und ändern. Neben jedem Menüpunkt sehen Sie die Anzeige der aktuellen Tastenkombination. Ist keine definiert, bleibt das Feld frei. Bewegen Sie die Maus auf einen Menüpunkt, können Sie eine neue Tastenkombination eingeben. Diese wird angezeigt und steht sofort zur Verfügung. Sie löschen eine Kombination, indem Sie als Kürzel die [Rückschritt]-Taste (Backspace) eingeben.
Platz schaffen
Wenn Sie vom Netscape Navigator nur die benötigte ausführbare Datei behalten, sparen Sie etwa 10 MByte Speicherplatz.
Der Netscape Navigator beansprucht nach der Installation viel Platz. Grund dafür ist auch, dass sich zwei ausführbare Dateien im Installationsverzeichnis befinden. Die erste, die Sie normalerweise starten, ist netscape. Die andere, netscape-dynMotif, brauchen Sie nur, wenn Sie über Motif-Bibliotheken verfügen. Da diese lizenspflichtig sind, dürften nur wenige Anwender das Programm nutzen. Wer es in dem Fall löscht, verschafft sich 10 MByte Freiraum.
Platzfressende Dateien
Um Platz auf der Festplatte zu schaffen, spüren Sie die größten zu löschenden Dateien auf.
Jede Festplatte füllt sich.Löschen Sie daher möglichst große Dateien: Diese finden Sie mit dem Kommando
ls -lR | sort +4nr
Damit zeigt Linux alle Dateien im aktuellen Verzeichnis und in allen Unterverzeichnisse, der Größe nach sortiert, an: Die größte Datei erscheint dabei als erste. So überblicken Sie, was Sie löschen können.
16 Linux: Größerer Swap-Bereich
So vergrößern Sie den Swap-Bereich mit einer zusätzlichen Datei.
Ein Linux-System ist mit einer Swap-Partition schneller als mit einer Auslage-rungsdatei. Der Nachteil einer festen Partition: Sie kann nicht größer werden. Ist der Speicherengpaß kurzfristig, können Sie eine Auslagerungsdatei hinzufügen. Dazu erzeugen Sie mit dem Kommando
dd if=/dev/zero of=swapfile bs=
1024 count=65536
eine leere Datei der gewünschten Größe. Das Beispiel gibt 65 536 KByte, also 64 MByte vor. Mit der Blockgröße 1024 Byte rechnet es sich leichter. Anschließend initialisieren Sie die Swap-Datei mit dem Kommando
mkswap swapfile 65536
Ein abschließendes sync schreibt alle Änderungen am Dateisystem zurück, bevor Sie die Auslagerungsdatei nutzen:
swapon swapfile
Nach dem Befehl
swapoff swapfile
löschen Sie die Datei wieder.
Plug & Play mit Linux
Um ISA-Karten auf dem Linux-PC einzurichten, hilft ein parallel installiertes Windows.
Meist erkennen die gängigen Hardware-Konfigurationsprogramme der Linux-Distributionen die IRQ-, DMAund Adresseinstellungen von ISAPlug& Play-Karten. Und wenn nicht? Dann kann sich der Anwender entweder mit Programmen wie PNPdump behelfen und die Einstellungen anschließend manuell in die Konfigurationsprogramme eintragen. Oder er startet seine Windows-Parallel-Installation falls vorhanden. Dort stehen im Gerätemanager die korrekten Werte der Karte.
Programm finden
Häufig bekommen Anwender einen Hinweis, dass sie ein passendes Programm nutzen sollen. Doch wo versteckt sich dieses Programm? Mit folgendem Tipp finden Sie es heraus.
Der Anwender erwartet, ein angegebenes Programm auf der Platte zu finden: Schließlich haben Sie eine umfangreiche, vollständige Distribution mitsamt der Dokumentation installiert. Aber auffindbar ist das Programm nicht, auch der Befehl
which Programmname
liefert keinen Pfad. Selbst gebräuchliche Programme wie netdate scheinen zu fehlen. Das liegt meisten daran, dass sich Anwender mit einem falschen Account anmelden. Wer sich per User-Account einloggt, sieht nicht alles, was sich auf der Platte befindet. Auch das which-Kommando hilft nicht weiter. Wechseln Sie daher zu einem administrativen Account, wozu Sie das su-Kommando aufrufen. Arbeiten Sie unter dem Admin-Account, können Sie auf die gesuchten Programme meist zugreifen.
Prozess-Prioritäten ändern Prozess-Prioritäten ändern
Einigen trägen Ungeheuern wie dem statisch gegen die grafische Bibliothek Motifgelinkten Netscape können Sie mit Prozess-Priorität zu mehr Vordergrund-Power verhelfen.
Linux verfügt als Multiuser-Betriebssystem über ein effizientes Prozess-Management. Mit nice ändern Sie Prioritäten, bei laufenden Prozessen verwenden Sie renice, ohne das Programm neu starten zu müssen. nice erwartet einen numerischen Wert für die Prioritätsstufe. Je kleiner der Wert, desto höher die Priorität, mit der der Kernel dem Prozess Leistung zuteilt. Der Benutzer kann Werte zwischen 0 bis 19 vorgeben. Root dagegen erhält im Einzelfall mit Werten zwischen -20 bis -1 Prozessorleistung satt.
nice Priorität <Programmname>
Bei bereits laufenden Programmen ist dem renice-Kommando die aktuelle Prozess-ID (PID) zu übergeben, die Sie mit ps oder ktop ermitteln.
renice Prioritäte -p <PID>
Prozesse beenden
Mit Hilfe der Prozesskennung können Sie aktive Prozesse auf Kommandozeilenebene jederzeit beenden.
Über die Prozesskennungen, die Sie per ps-Befehl ermittelt haben, beenden Sie die zugehörigen Programme auf Befehl. Um etwa das Screenshot-Programm ksnapshot von KDE zu beenden, ermitteln Sie eine Prozesskennung wie 470. Mit dem Befehl kill terminieren Sie den Prozess:
Bash# kill 470 [Enter]
Einige Programme verweigern sich diesem Befehl. In diesem Fall erzwingen Sie den Abbruch, indem Sie den kill-Befehl mit dem Parameter -9 versehen. Beachten Sie, dass einige Prozesse nicht zu beenden sind. Die Entfernung des Prozesses mit der Kennung 171 würde in einem Arbeitsgang die primäre Bash-Shell und alle nachfolgend geladenen Programme, hier auch X-Windows und deren Anwendungen, beenden. Eventuell verlieren Sie dabei noch nicht gesicherte Daten.
Rettungsmodus LILO
Wer Wartungsaufgaben an seinem Linux-System vornimmt oder viel experimentiert, erkennt auch als verantwortungsbewusster Sysadmin, dass das System nicht mehr einwandfrei bootet.
Mit LILO als Boot-Loader können Sie sich den Weg über eine hoffentlich vorhandene Rettungsdiskette oft ersparen. Versuchen Sie erst, das System im Single-User-Modus zu starten, wozu Sie an der LILO-Eingabeaufforderung <Name des Bootlabels> single eingeben, etwa linux single Statt single verwenden einige Distribution auch 1 oder S. Dadurch startet LILO das System in Runlevel 1. Diese Umgebung reduziert die möglichen Fehlerquellen und Seiteneffekte, die sich im Multi-User-, Netzwerk- oder GUIModus ergeben. Es arbeiten nur die elementaren Systemdienste. Meist reicht dieser Schritt aus, um sich anmelden zu können. Wenn auch das nicht funktioniert, öffnen Sie eine Shell mit Hilfe des LILO-Parameters ohne Passwort:
<Name des Bootlabels> init=/bin/bash
Um Reparaturmaßnahmen via fdisk oder fsck vornehmen zu können, binden Sie zuvor das Root-Filesystem mit Schreibzugriff ein:
mount -o remount, rw -t ext2 /dev/hdx
wobei Sie x durch die Nummer der Bootpartition ersetzen. Nach Reparaturen setzen Sie das Root-Filesystem wieder auf read only.
mount -o remount,ro
Root verlassen
Dieser Tipp zeigt, wie Sie bequem zwischen Super-Userund User-Account umschalten.
Den Super-User-Account müssen Sie manchmal kurzfristig verlassen und mit einem anderen arbeiten. Es ist aber zeitaufreibend und unpraktisch, beim Wechseln immer das Passwort und den User-Namen des Root-Accounts eingeben zu müssen. Sie umgehen dies mit dem suspend-Kommando der Bash. Das Kommando schiebt die Shell in den Hintergrund und aktiviert die Login Shell unter einem einfachen User-Konto. Per fg-Befehl gelangen Sie zum Root-Account zurück.
Router auf Diskette
Wer einen Router zum Nulltarif auf nur eine Diskette packen will, nutzt Coyote Linux.
Viele Projekte verwenden Linux-Distributionen nur als Routing-Betriebssysteme. Das macht zum Beispiel Sinn für kleinere Firewalls. Außerdem können Sie so die Kosten für einen echten Router sparen. Ein solches Projekt ist Coyote Linux. Das Besondere: Die Linux-Variante hat auf einer einzelnen Diskette Platz, ist aber doch ein vollwertiger Router mit Paket-Filter. Das Coyote-Projekt ist leider nur in englischer Sprache dokumentiert.
Schalten im Vordergrund
So halten Sie Programmabläufe in der Shell auf und starten sie wieder.
Programme, die in der Shell ablaufen, lassen sich mit [Strg-Z] anhalten. Danach lassen sich weitere Kommandos über die Shell starten. Soll ein Program im Hintergrund ablaufen, so setzen Sie mit
bg
die Ausführung fort. Soll das Kommando im Vordergrund fortgesetzt werden, geben Sie
fg
ein. Eine Übersicht über im Hintergrund angehaltene oder laufende Programme liefert der Befehl:
jobs
Jedem Job ist eine Nummer zugeordnet. Über diese Nummer lassen sich Programme in den Vordergrund holen oder beenden. Das kill-Kommando der Shell interpretiert Zahlen normalerweise als Prozess-IDs. Durch ein vorangestelltes % Zeichen versteht Linux eine Zahl als Job-ID.
Schmales Terminalfenster
So drucken und editieren Sie Programmausgaben vollständig.
Einige Programme liefern Ausgaben, die länger als die Breite des Terminalfensters sind. Das Umleiten der Ausgabe in ein Pager-Programm wie zum Beispiel mit less schafft nur Abhilfe, wenn die Daten gelesen werden sollen. Spätestens beim Editieren oder Drucken der Zeilen tauchen abgeschnittene Zeilen wieder auf. Abhilfe schafft das fold-Kommando. Der Aufruf
fold <Dateiname>
zeigt den Inhalt der Datei mit Zeilenumbrüchen an der Position 80 an. Andere Zeilenlängen lassen sich über den width-Parameter angeben. So liefert
fold width=72 <Dateiname>
eine Ausgabe mit entsprechend verkürzter Zeilenlänge. Handelt es sich um lesbaren Text, so ist der Parameter -s sinnvoll, da hier an einem Leerzeichen der Umbruch erfolgt. Ohne diesen Parameter erscheint ein Umbruch oftmals mitten im Wort.
Schnell log-Dateien lesen
Die Einträge in log-Dateien verfolgen Sie auf unterschiedliche Weise.
Um log-Dateien zu verfolgen, geben Sie das Kommando
tail -f
ein. Dieses zeigt immer das Ende einer Datei an. Der Nachteil ist, dass Sie einmal vom Bildschirm gescrollte Zeilen nicht mehr zurückgeholen können. Alternativ kann das Pager-Programm less die kontinuierlichen Änderungen einer Datei anzeigen. Die Kommandozeile
less +F <Dateiname>
arbeitet wie tail -f. Allerdings können Sie weiterhin nach oben blättern. Haben Sie less bereits gestartet, aktivieren Sie über die Taste F nachträglich den kontinuierlichen Modus.
Schnelle Seitenzähler
Wer die Abrufe seiner Webseiten protokollieren und zählen lässt, belastet zusätzlich den Server. Dies können Sie vermeiden.
Wer eine umfangreiche Webseite betreibt und die Seitenabrufe zählen möchte, weiß: Wenn Sie die Anzahl der Seitenabrufe online per Software protokollieren wollen, steigt die Belastung des Servers. Das muss nicht sein, weil Apache Seitenabrufe schon mit Logfile protokolliert. Dieses Protokoll werten Sie in Echtzeit aus. Dieser Mechanismus zählt Seitenabrufe, ohne zusätzliche Last auf dem Server zu verursachen. Ein Beispiel in Perl finden Sie unter www . dreamsmith . org/logjack/
Schnelles Navigieren mit der Bash
Wer sich mit der Bash durch den Verzeichnisbaum bewegt, spart mit den Kommandos pushd und popd Schreibarbeit.
Verwenden Sie unter Linux pushd statt cd, wird das aktuelle Verzeichnis gestapelt. Die Eingabe lautet
pushd /neuer/langer/pfad
Wenn Sie später popd aufrufen, gelangen Sie zum ursprünglichen Verzeichnis zurück. Haben Sie vergessen, den Verzeichnisswechsel mit pushd durchzuführen, kehren Sie mit
cd -
zum letzten Verzeichnis zurück.
Script für Systemlast
In Scripts ist es gelegentlich nützlich, Kommandos nur dann auszuführen, wenn die Auslastung des Systems nicht zu groß ist.
Es macht keinen Sinn, ein ausgelastetes System mit weiteren Rechenprozessen zu belasten. Die Auslastung lesen Sie aus den Werten in /proc/loadavg. Der Befehl:
cat /proc/loadavg
liefert eine Zeile mit verschiedenen Werten. Die ersten drei Zahlen geben die momentane Last sowie den Last-Durchschnitt innerhalb der letzten 5 und der letzten 15 Minuten an.
Server-Schnellübersicht
Mit dem w-Tool erfahren Sie, welcher Anwender den Datenfluss im Netz aufhält.
Wer einen Server betreibt, will Systemaktivitäten überblicken, um Fehler einzukreisen. Mit Kombinationen aus Tools wie who, ps oder uptime lassen sich diese Informationen zusammentragen. Eine schnelle Alternative bietet das w-Tool. Es zeigt eine Liste aller Anwender mit ihren Aktivitäten und ihrem Ressourcenverbrauch. Wenn Dateiaktionen das Netz lahm zu legen drohen, können Sie diesen Anwender rasch identifizieren. Sie rufen dazu den w-Befehl auf.
Shellscripts debuggen
Wenn Shellscripts die Zusammenarbeit versagen, gehen Sie detektivisch der Ursache nach.
Wenn Shellscripts versagen, ist es oft nicht einfach, die fehlerhafte Zeile einzugrenzen. Es hilft, wenn Sie alle Zeilen vor deren Abarbeitung ausgeben lassen. Bei den am häufigsten verwendeten Bash-Scripts fügen Sie dazu die Zeile set -vx
am Anfang des Scripts ein.
Sichere rekursive Kommandos
Rekursive Kommandos ersparen viel Arbeit, bringen jedoch auch Gefahren mit sich.
Einige Kommandos verfügen über Optionen, die nicht nur auf das aktuelle Verzeichnis, sondern auf alle Unterverzeichnisse wirken. Einige dieser Kommandos berücksichtigen beim Durchlaufen des Verzeichnisbaumes symbolische Links. Zeigt ein solcher Link auf /, so wenden Sie das Kommando auf das gesamte Dateisystem an. Über das find Kommando lassen sich rekursive Kommandos besser steuern und kontrollieren. Das Beispiel
find . -type f -exec ls {} ;
listet zunächst alle regulären Dateien ab dem aktuellen Verzeichnis auf. Es fehlen Gerätedateien. Durch die Angabe von
find . ! -type l -exec ls {} ;
verhindern Sie, dass symbolische Links registriert werden. Der Schalter ! negiert das folgende -type l. Über den Parameter -maxdepth n beschränken Sie die Tiefe des Suchvorgangs auf n-Verzeichnisebenen. Sind Sie mit der Ausgabe der Dateinamen einverstanden, so ändern Sie das ls-Kommando. Die Zeichenfolge {} ersetzt dann jeweils den Namen der Datei, bevor das Kommando weiterarbeitet. s
Sicherungskopien nutzen
Sicherungen in Linux lassen sich vielfach ändern und nutzen.
Mit Hilfe des dd Kommandos lassen sich einfach Sicherungskopien von Diskette oder CD-ROMs erzeugen. Das Kommando
dd if=/dev/fd0 of=FloppyImage
legt ein exaktes Abbild der Diskette im Laufwerk A: in der Datei FloppyImage ab. Wenn Sie das Kommando mit umgekehrter Syntax eingeben, lässt sich das Image auf eine andere Diskette schreiben:
dd if=FloppyImage of=/dev/fd0
Brauchen Sie lediglich eine Datei aus einem solchen Image, oder möchten Sie Dateien im Image ändern? Bevor Sie das gesamte Abbild zurückschreiben, können Sie über das loop-Device das Abbild mounten. Sie gehen dabei so vor, als wäre es ein pysikalisches Medium. Um ein Abbild einer Diskette zu mounten, genügt bei einer MS-DOS Diskette das Kommando
mount -o loop -t msdos E FloppyImage /mnt
Nun können Sie direkt auf den Inhalt zugreifen, womit Sie auch gezielt einzelne Dateien bearbeiten.
SMB-Zugriff mit Konqueror
Der Zugriff auf Windows-Clients funktioniert mit Samba im Normalfall umständlich über die Kommandozeile.
Der KDE-Dateimanager Konqueror glänzt mit vielen neuen und nützlichen Eigenschaften, die auf der QT-Systemarchitektur basieren. Eine der weniger beachteten Neuerungen besteht darin, dass der Anwender ohne zusätzliche Tools über das SMB-Protokoll auf Windows-Rechner zugreifen kann, sofern auf diesen Ordner oder Drucker freigegeben sind. Im Explorer-Teil des Konqueror findet der Anwender neben den beiden Knoten für Wurzelverzeichnis und Persönliches Verzeichnis einen weiteren mit der Bezeichnung Netzwerk, markiert mit dem typischen Microsoft-Netzwerksymbol. Über diesen Knoten ist der Zugriff auf allgemeine Freigaben im lokalen Netz insbesondere auf SMB-basierende Ressourcen in Windows-Netzen möglich. Primär soll die Funktion wohl ähnlich der Windows-Netzwerkumgebung
der Anzeige von Windows-Ressourcen dienen: Klickt der Linux-User auf den Knoten Windows-Ressoucen, sollte sich ein Authentifizierungsdialog für den ersten Windows-SMB-Server öffnen. In der Regel ist dies der lokale Samba-Server, sofern dieser installiert ist. Die Funktion ist nicht ausgereift: Der Konqueror löst die Microsoft-spezifischen Arbeitsgruppen-Namen noch nicht durch Anklicken auf. Geben Sie in der Eingabezeile des Konqueror den NetBIOS-Namen oder die IP-Adresse eines Windows-Rechners ein, stellt der integrierte SMB-Client eine Verbindung zum genannten Rechner her. Nach erfolgreicher Authentifizierung zeigt Konqueror sämtliche Freigaben des Windows-Rechners an. Sie können, wenn Sie entsprechende Rechte besitzen, Dateien und Verzeichnisse von der Windows- auf die Linux-Seite kopieren. In umgekehrter Richtung geht das nicht einwandfrei.
Snort-Meldung verfolgen
Das Programm Snort installieren Sie, um Angriffe schneller zu entdecken.
Haben Sie Snort neu installiert, verfolgen Sie, was das Programm meldet. Das geht einfach, weil Snort die wichtigsten Informationen in der messages-Datei protokolliert. Diese behalten Sie im Blickfeld, um die neuesten Einträge auf der Konsole zu lesen. Geben Sie den Befehl ein:
tail -f messages
Damit lesen die neuen Einträge in der Protokolldatei messages.
Strip spart Platz
Ein vergessenes strip-Kommando im Makefile bläht Programme unnütz auf.
Verwenden Sie statt fertiger Binärpakete selbst kompilierte Programme, so sollten Sie das Makefile untersuchen: Häufig vergessen die Autoren, das strip-Kommando aufzurufen. Dieses Kommando entfernt alle Informationen aus der Programmdatei, die nur zum Fehlersuchen (Debuggen) erforderlich sind. Dazu gehören zum Beispiel Zeilennummern des zugehörigen Quellcodes und die Symboltabelle: Die Größe des kompilierten Programms kann sich durch diese Informationen leicht verdoppeln. Rufen Sie das strip-Kommando im Makefile nicht auf, holen Sie dies später leicht nach. So rufen Sie strip auf:
strip <programmname>
Strom sparen unter Linux
Bislang kannte Linux den Energiesparmodus nach APM nicht. Der neue Kernel v2.2 schafft hier Abhilfe.
Das Advanced Power Management (APM) ermöglicht es Ihnen unter Windows, den Rechner in den Standby-Modus oder in den Ruhezustand zu schalten, um Strom bzw. Akkuleistung zu sparen. Mit Linux geht das nun ebenfalls. Um die Energiesparfunktionen nach APM einzubinden, müssen Sie Ihr Linux mit einem Kernel der Version 2.2.x ausstatten. Sie bekommen den Quellcode zum Kernel im Internet unter
www . kernel . org
Entsprechend vorbereitete Kernel im RPM- (RedHat Package Manager) und DEB-Format (Debian Linux) finden Sie auf den Web-Seiten Ihres Distributions-anbieters. Wenn Sie selbst den Kernel kompilieren, starten Sie dessen Konfiguration wie gewohnt mit make xconfig. Im Untermenü General Setup aktivieren Sie den Advanced Power Management BIOS Support und die ge-wünschten Kategorien. Fahren Sie wie gewohnt fort, um einen neuen Linux-Kernel zu kompilieren und installieren. Hinweise über die genaue Vorgehens-weise finden Sie in der entsprechenden Readme-Datei sowie in der Dokumen-tation Ihrer Linux-Distribution. TW
Systemhalt per Script
Mit diesem Tipp erzwingen Sie, dass der PC automatisch neu bootet.
Ein System automatisch anzuhalten oder neu zu booten geht in einem Script mit einem der Kommandos halt, reboot oder poweroff. Die Kommandos halten, was ihre Namen versprechen:
Halt hält das System an,
Reboot führt einen Neustart durch,
Poweroff schaltet nach dem Anhalten auch den Strom ab.
Textdateien synchronisieren
Arbeiten Sie an verschiedenen Arbeitsplätzen an identischen Dateien, müssen Sie für synchrone Versionen sorgen.
Wenn Sie Dateien auf verschiedenen Rechnern ändern, wollen Sie Ihre Arbeit nicht doppelt machen müssen. Deshalb synchronisieren Sie Ihre Dateiversionen. Bei geringfügigen Textänderungen verwenden Sie folgenden Trick: Wenn die Datei groß und die Änderung klein ist, so verwenden Sie die Befehle diff und patch. Die Befehlsfolge
diff alte_version neue_version > unterschiede
ermittelt und speichert die Unterschiede. Das Ergebnis ist meist deutlich kleiner als die Originaldatei. Mit dem Befehl
patch alte_version unterschiede
aktualisieren Sie auf einem anderen Arbeitsplatz eine alte Version.
Trace-Befehl
Um sich über laufende Programme zu informieren, starten Sie das trace-Kommando in einer neuen Shell.
Das trace-Kommando liefert nicht nur dem Programmierer wichtige Informationen über laufende Programme. Die Fülle an ausgegebenen Informationen verwirrt. Auch verschlechtert sich das Laufzeitverhalten der Programme, die Sie mit trace untersuchen. Wollen Sie wissen, was ein Programm zu einem bestimmten Zeitpunkt macht, aktivieren Sie die trace-Ausgabe nachträglich. Dazu öffnen Sie eine neue Shell und suchen die PID des gewünschten Prozesses, zum Beispiel mit dem ps-Kommando. Der Befehl
trace -pNummer
gibt die Trace-Informationen zum gewünschten Programm aus.
Tricks mit PHP
Mit einem Web-Server und PHPScripts gewinnen Sie für Webseiten neue Inhalte.
Wer einen Web-Server betreibt, hat meist auch PHP installiert. PHP verwenden Sie auch im Interpreter-Modus, um Programme zu schreiben, die nichts mit Webseiten zu tun haben. Allerdings ist es attraktiver, PHPProgramme zu schreiben, die Webseiten erzeugen: Dabei verwenden Sie den HTML-Output des PHP-Programms, um Statusberichte über den Ablauf des Programms anzuzeigen. Sehr praktisch ist das für Scripts, die Sie regelmäßig per Cron-Befehl ausführen. Hier programmieren Sie die Aufgabe in PHP und legen das PHPScript so an, dass es einen Statusbericht in HTML-Form erzeugt. Der Cron-Job kümmert sich per wget um den Start des PHP-Scripts, und wget legt die HTML-Inhalte an einer bekannten Stelle auf der Platte ab. Weiterhin erzeugen Sie eine administrative HTMLSeite, von der Sie per Click die im Cron-Job erzeugten HTML-Seiten anzeigen lassen.
Trotz log-Files Platz auf der Platte
log-Files beladen die Festplatte, bis sie voll ist. Mit diesem Tipp räumen Sie auf!
Auf stark belasteten Rechnern werden die log-Files im Lauf der Zeit sehr groß. Der Festplatte droht damit ein Überlauf. Deshalb müssen Sie sich darum kümmern, veraltete log-Files zu entfernen oder anderweitig zu sichern. Doch es geht einfacher: Die meisten Linux-Distributionen enthalten das passende Programm: Logrotate. Logrotate komprimiert, löscht oder versendet log-Files per Mail. Auf diese Art behandeln Sie log-Files täglich, wöchentlich oder einmal im Monat oder, wenn ein Logfile eine bestimmte Größe überschreitet.
Übersicht auf der Konsole
Wer seinen Linux-Rechner als Datei- oder Web-Server installiert hat, möchte Xnicht installieren müssen.
Wer auf X verzichten kann, vereinfacht sich eine Installation beträchtlich. Dafür müssen Sie im Verzeichnisbaum ohne die Hilfe von GUI-Programmen navigieren, was umständlich ist. Nutzen Sie komfortable Navigationsprogramme auf der Textkonsole. Mit dem Midnight Commander, einem Klon des beliebten Norton Commander, verschaffen Sie sich schnell einen Überblick oder schauen in Verzeichnisse und Dateien. Voraussetzung ist eine Telnet-Verbindung zum Linux-Rechner.
Übersicht mit Tar
So sichern Sie die Zwischenstände, wenn Sie ein Projekt ständig erweitern.
Das Tar-Kommando eignet sich, um Zwischenstände eines längeren Projekts zu sichern. Eine Liste aller veränderten Dateien seit dem letzten Backup erhalten Sie mit dem Befehl:
tar -df zwischenstand.tar
Alternativ können Sie auch
tar -dzf zwischenstand.tar.gz
bei komprimierten Tar Archiven eingeben.
Übersicht über Prozesse
So überblicken Sie Prozesse mitsamt ihren Subprozessen und einer Kommandozeile.
Eine anschauliche Darstellung über momentan laufende Prozesse liefert der Befehl pstree. Im Gegensatz zum ps-Befehl werden Prozesse dabei nicht nur aufgelistet, sondern ihre Verwandschaftsbeziehungen werden durch eine baumartige Struktur verdeutlicht. Sie erfahren also, welche Subprozesse ein Programm gestartet hat. Mit dem Parameter -ap liefert das Programm zusätzlich die Prozess-ID und die Kommandozeile der Prozesse.
Übersicht zu Kernel- Parametern
Mit dem Befehl modinforufen Sie wichtige Informationen einzelner Module ab.
Kernel-Module haben oft eine Reihe von Parametern. Informationen über diese Parameter entnehmen Sie der Kernel- Dokumentation, die Teil der jeweils aktuellen Kernel-Source ist. Benötigen Sie nur eine Gedächtnisstütze über den genauen Namen eines Parameters, gelangen Sie mit dem modinfo-Kommando schneller ans Ziel. Für das Sound-Blaster-Modul sb liefert das Kommando
modinfo -p sb
folgende Informationen:
io int
irq int
dma int
...
Das Modul versteht Parameter mit den Namen io, irq und dma. Als Werte für diese Parameter werden ganze Zahlen (Integers) erwartet. Sind Sie nicht sicher, welche Aufgabe ein bestimmtes Modul hat, erhalten Sie mit
modinfo -d Modulname
eine kurze Beschreibung. Der Parameter -a liefert den Autor des Moduls. Leider sind diese beiden Angaben nicht in allen Modulen enthalten.
Übersichtlich drucken
Mit dem klpq-Kommando verschaffen Sie sich Übersicht über die Druckaufträge.
Zum Drucken einer Datei können Sie anstelle des lpr-Kommandos klpq verwenden. Um eine Datei zu drucken, geben Sie also den Befehl
klpq Dateiname
ein. Der klpq-Befehl reicht beim Start die Datei automatisch an den Line Printer Daemon weiter und öffnet ein Fenster, das alle aktuellen Druckaufträge anzeigt. In diesem Fenster können Sie Druckaufträge löschen oder ihre Reihenfolge verändern. s
Undoin der Bash
Längere Kommandozeilen bearbeiten Sie mit der Undo-Funktion, die ein Tastaturkürzel aufruft.
Verwenden Sie die Bash mit standardmäßigen Emacs-Tastaturbindungen, dann rufen Sie mit der Tastenkombination [Strg-_] die Undo-Funktion auf. Das ist praktisch, wenn Sie lange Kommandozeilen editieren. Alternativ rufen Sie die Funktion mit [Strg-x], [Strg-u] auf.
User ändern
Als Superuser greifen Sie auf das gesamte System zu. Wer sich unter anderem Namen anmeldet, testet Teilbereiche.
Mit dem switch user-Befehl (su) nehmen Sie zeitweilig die Identität eines anderen Anwenders an. Meist geben Sie diesen Befehl ein, um als Superuser Zugang zu haben. In diesem Fall lassen Sie den Usernamen fort. Wenn Sie mit dem su-Befehl eine Shell starten, ist dies keine Login-Shell, weil keine profile-Dateien gelesen und ausgeführt werden. Möchten Sie auf dort definierte Alias-Namen oder Pfade nicht verzichten, öffnen Sie durch Angabe eines Minuszeichens mit dem Befehl su -einen neue Login-Shell.
Verfügbar im lokalen Netz
Die Verfügbarkeit eines Netzwerk-PCs können Sie mit einem Befehl feststellen.
Mit dem Uptime-Kommando erhalten Sie Informationen über den Zustand des lokalen Rechners. Sind allerdings Hosts in /var/spool/rwho eingetragen, können Sie dieses Wissen auch über alle Maschinen im lokalen Netz anzeigen lassen. Dazu nutzen Sie das ruptime-Kommando. Sie erhalten damit vergleichbare Informationen wie von uptime. Zusätzlich sehen Sie auch Daten der entfernten Hosts. Hosts, die sich länger als 11 Minuten nicht mehr gemeldet haben, stuft ruptime als down ein.
Versionen von Bibliotheken
Weil einige Bibliotheken mit kurzzeitig erneuerten Versionen folgen, installieren Anwender häufig mehrere parallel.
Mehrere parallel installierten Versionen können eine Anwendung dazu führen, dass diese die Zusammenarbeit verweigert. Wenn diese oder andere Schwierigkeiten auftreten, beginnt die Suche nach den Fehlern. Dabei suchen Sie nach der Version, welche fehlerfrei arbeitet. Mit dem ldconfig-Kommando lassen Sie sich alle dem System bekannten Bibliotheken anzeigen. Es genügt der Befehl:
ldconfig -p
Suchen Sie eine bestimmte Bibliothek so grenzen Sie die Ausgabe mit der Eingabe von
ldconfig -p | grep Dateiname
ein. Da die Ausgabe den Pfad enthält, entfällt weiteres Suchen.
Verzeichnisse mit Inhalt löschen
Mit diesem Tipp löschen Sie Verzeichnisse mit allen Daten in einem Arbeitsgang.
Ein Verzeichnis löschen Sie mit dem rmdir-Befehl. Das funktioniert nicht, solange das Verzeichnis Dateien enthält. Der rm-Befehl löscht Verzeichnisse mit allen enthaltenen Dateien. Zur Sicherheit lesen Sie zuvor die über
rm--help
angebotene Hilfestellung.
Vorbereitung für GZip
Nicht immer bleiben Dateierweiterungen erhalten: Disketten verwenden Dateisysteme, die die Namen begrenzen.
Haben Sie Dateien mit GZip komprimiert, müssen Sie sie umbenennen, denn GZip weigert sich, die Dateien zu dekomprimieren, deren Name nicht mit gz endet. Viele Dateien auszupacken ist mühsam. Abhilfe schafft das zum GZip-Paket gehörende Tool zforce. Es untersucht eine Liste von Dateien, erkennt anhand der Header-Informationen komprimierte Dateien und fügt falls nötig die Dateierweiterung an. Sie geben dazu
zforce *
ein.
Wartungs-Partition
Wenn Sie eine Wartungs-Partition angelegt haben, können Sie im schlimmsten Fall das System wiederherstellen.
Wenn Sie auf einer Ihrer DOS-Partitionen noch mindestens 20 MByte frei haben, sollten Sie für Linux eine Wartungs-Partition anlegen. Damit retten Sie Ihr Linux-System, falls es zum Beispiel nach einer Neuinstallation der Shared Libraries nicht mehr arbeitet.
Die Beschreibung geht davon aus, daß Sie Ihr normales Linux auf einer /-Partition und einer /usr-Partition installiert haben.
Legen Sie auf der DOS-Partition ein minimales Linux-System mit UMSDOS an. Richten Sie es so ein, daß Sie es mit LoadLin von der DOS-Kommandozeile aus starten können.
Starten Sie Ihr Mini-Linux, und legen Sie ein Verzeichnis /hdlinux und darunter ein Unterverzeichnis usr an. Editieren Sie die Tabelle /etc/fstab. Montieren Sie die /-Partition Ihres normalen Linux-Systems am Punkt /mnt und die User-Partition am Punkt /hdlinux/usr. Ist Ihre /-Partition auf /dev/hda8 und Ihre /usr-Partition auf /dev/hda9, sehen Sie die folgenden beiden Einträge:
/dev/hda8 /mnt A ext2 defaults 1 1
/dev/hda9 /hdlinux/usr A ext2 defaults 1 1
Legen Sie nun im Verzeichnis /hdlinux symbolische Links für alle Einträge im Root-Verzeichnis Ihrer /-Partition an. Für /usr entfällt die Mühe, weil dafür ja schon ein Eintrag vorhanden ist. Nun greifen Sie vom Verzeichnis /root aus auf alle Verzeichnisse Ihrer normalen Linux-Partition mit korrekten Pfaden zu.
Wenn Sie auf alle Verzeichnisse auch von Ihrem /root-Verzeichnis zugreifen wollen, müssen Sie lediglich mit
ln -s /hdlinux/* /root
im Verzeichnis /root symbolische Links für alle Einträge im Verzeichnis /hdlinux anlegen.
Schreiben Sie nun das Shell-Skript wartung in einem Verzeichnis in Ihrem Pfad, zum Beispiel in /usr/local/bin, an. Mit chmod 755 wartung geben Sie dem Skript Ausführungsrechte. Nun editieren Sie noch die Datei /etc/profile und fügen eine Zeile an, die den Befehl wartung enthält. Beim nächsten Start Ihres Mini-Linux arbeitet nach dem Einloggen automatisch dieses
Shell-Skript. Nach jedem der angegebenen Menüpunkte endet es. Sie führen dann weitere Aktionen von der Kommandozeile aus durch, indem Sie etwa fehlerhafte Dateien durch andere ersetzen.
Wie groß ist mein home?
Mit dem du-Befehl ( disk usage) ermitteln Sie den Platzbedarf von Daten. Ohne Parameter zeigt der Befehl den Platzbedarf am aktuellen Verzeichnis an, ohne symolische Links zu verfolgen. Sie nutzen drei Parameter:
-h: sorgt für eine besser lesbare Darstellung mit MByte und GByte;
-Lverfolgt auch symbolische Links;
-xverfolgt keine Mountpoints.
Ein Beispiel: Sie wollen Ihr home-Verzeichnis sichern, ohne die darunter gemounteten Dateisysteme zu kopieren. Der Befehl beantwortet, wie viel Platz Sie dafür brauchen:
du -hx
Sie leiten Sie die Ausgabe in eine Datei um:
du -hx > dateiname
X sicherer machen
Wer seinen Rechner ohne Netzanbindung betreibt, schaltet den offenen Port 6000 zur Sicherheit ab.
Ein laufendes X-Programm lauscht normalerweise an Port 6000 nach eingehenden Verbindungen. Wenn Sie Ihren Rechner ohne Netz betreiben, stellt ein offener Port ein Sicherheitsrisiko dar. Abhilfe schafft die Option
-nolisten tcp
Das Verbinden mit fremden Rechnern ist damit unmöglich.
X-Konfiguration
Mit dem X-Toolkit und dem editres-Kommando gestalten Sie Fenster und Schriftarten.
Unter X lassen sich viele Anwendungen weitreichend konfigurieren. Sofern Sie das X-Toolkit verwenden, können Sie die Baumstruktur aller Ressourcen mit dem editres-Kommando auflisten. Beliebte Änderungen betreffen Schriftarten, angezeigte Texte oder Fenstergrößen. Es genügt, die Applikation zu starten, die Sie verändern wollen, und diese mit editres anzusteuern. Auf diese Art wählen und ändern Sie interaktiv Einstellungen. Sind Sie mit dem neuen Erscheinungsbild zufrieden, tragen Sie die veränderten Werte in die Datei ~/.Xdefaults ein. Beim nächsten Start verwendet die Applikation die geänderten Werte. Damit überblicken Sie die Ressourcen besser.
Yes ausgeben
Mit dem yes-Programm automatisieren Sie bestätigende Eingaben von der Konsole.
Manche Programme erwarten eine Bestätigung von der Konsole: Damit ist ein Anwender gezwungen, Tasten wie y oder n einzugeben. Das stört, wenn Sie diese Programme in automatisch ablaufenden Scripts einsetzen wollen. Für diesen Fall nutzen Sie das Programm yes. Rufen Sie es ohne Parameter auf, so gibt es den Text y aus. Geben Sie einen Parameter an, wird dieser ausgegeben. Dabei erfolgt die Ausgabe so lange, bis das Programm abgebrochen wird: Sie können diese Ausgabe als Eingabe für ein Script umlenken.
Zeilennummern anzeigen
Texte mit nummerierten Zeilen erleichtern es, Scripts und Quelltext zu überblicken.
Gelegentlich benötigen Sie Zeilennummern im Ausdruck von Textdateien. Erst so können Sie sich in langen Scripts orientieren. Das nl-Kommando fügt vor jeder Zeile einer Textdatei eine fortlaufende Nummer ein. Mit dem folgenden Befehl
nl -ba Dateiname | less
lassen Sie sich das Resultat anzeigen. So überblicken Sie, welche Zeile an welcher Stelle steht.
Zeilenweise texten
Mit Shell-Scripts bearbeiten und ändern Sie Dateien zeilenweise.
Wenn Sie Dateien zeilenweise lesen und ändern wollen, hilft Ihnen das folgende Script. Es liest die Datei quelle und gibt sie wieder aus:
while read zeile
do
echo $zeile
done < quelle
Hat die Datei ein festes Format, können Sie Felder beim Einlesen trennen. Im folgenden Beispiel besteht jede Zeile aus drei durch ein Komma getrennte Werte:
IFS=","b
while read a b c
do
echo Spalte1:$a Spalte2: $b Spalte3:$c
done < quelle
Zeit korrigieren
Die auf Servern eingestellte Uhrzeit stimmt nach längerer Betriebsdauer nicht mehr. Mit diesem Tipp stellen Sie die Serverzeit neu ein.
Das Programm ntpdate sorgt für die richtige Zeit auf Ihrem Server. Es gehört zum ntp-Paket, womit Sie einen lokalen Zeitserver aufbauen, um alle Rechner im LAN zu synchronisieren. Haben Sie nur einen Server, der im Sekundenbereich genau arbeiten soll, reicht der Aufruf:
ntpdate Zeitserver
Damit gleichen Sie die lokale Uhrzeit mit der des Zeitservers ab.
Zu lange Kommandozeilen
Arbeiten Sie mit großen Verzeichnissen, erhalten Sie bei Kommandos mit Wildcards die Fehlermeldung "Argument list too long"
Der Grund liegt in der Verarbeitung von Wildcards. Diese werden nicht vom jeweiligen Programm verarbeitet, sondern von der Shell. Das Programm erfährt al-so nichts von den Platzhaltern, sondern bekommt von der Shell eine Liste mit expandierten Dateinamen, die nicht zu lang werden darf. Um das ls-Kommando auszuführen, hilft ein Trick:
ls | grep ".txt"
Damit verzichten Sie auf Wildcards, wodurch keine Expansion stattfindet. Das nachgeschaltete grep-Kommando sucht die Dateien mit der passenden Erweiterung heraus. Wollen Sie die Dateinamen nicht nur anzeigen, sondern ein Kommando mit ihnen ausführen, bringt dieser Ansatz nichts. Abhilfe schafft das xargs-Kommando: Es liest eine Liste von Dateinamen und zerteilt sie in kleinere Häpp-chen, die sich zur Weiterverarbeitung eignen. Um alle .txt-Dateien zu einem tar-Ar-chiv zusammenzufassen, nutzen Sie fol-gendes Konstrukt:
ls | grep ".txt" | xargs tar -rf TextArchiv.tar
Das ls-Kommando listet alle Dateien auf. grep filtert die Dateien mit der Erweiterung .txt, das xargs-Kommando zerteilt diese Liste in mehrere Blöcke und ruft mit jedem Block das tar-Kommando auf. Der Parameter -r des tar-Kommandos faßt die Blöcke zu einem Archiv zusammen.
Wir bedanken uns für Ihren Besuch auf PriSoDi.de
Sie können von hier aus weiter im WWW Suchen!
Ausgezeichnet für besonders
wertvolle Mediengestaltung