Linux: Tipps & Tricks

Dies ist eine kleine Sammlung an Problemen mit Lösungen, auf die ich bei meiner der Arbeit mit Linux gestoßen bin. Viele der Tipps beziehen sich auf die Debian-basierende Linux-Distribution Kubuntu (bzw. Ubuntu), wobei sich einige der Tipps auch auf andere Distributionen übertragen lassen. Vor jedem Tipp ist kurz angegeben auf welche Distribution sich dieser bezieht bzw. mit welcher Version dieser erfolgreich eingesetzt wurde, zum Beispiel: [Kubuntu 8.04].


Compilieren und Installieren

[Kubuntu 8.04] Beim Versuch ein Programm zu compilieren, bricht das configure-Script mit der Meldung configure: error: C compiler cannot create executables ab.
Es fehlen verschiedene grundlegende Programme und Bibliotheken zum Compilieren. Um diese nach zu installieren öffne eine Shell und führe folgende Befehle aus:
sudo apt-get update
sudo apt-get install build-essential
Danach sind die wichtigsten Bibliotheken und Programme zum Compilieren installiert. Je nach dem was compiliert wird, sind weitere Programme oder Bibliotheken nötig; siehe dazu die jeweilige README- oder INSTALL-Datei.

Dateien, Dateisysteme und Partitionen

[Kubuntu 8.04] Von einer frisch mit ext2/ext3 formatierten Partition sind schon 5% bis 6% des Speicherplatzes belegt, obwohl die Partition leer ist.
Bei einer mit ext2 bzw. ext3 formatierten Festplatte oder Partition werden automatisch immer 5% für den Superuser (root) reserviert. Wenn Linux auf einem Desktop- bzw. Home-System verwendet wird, kann man diesen reservierten Speicher aber bedenkenlos für Standard-Benutzer freigeben. Dazu führt man in der Shell das Programm tune2fs aus:
sudo tune2fs -m 0 /dev/sdb1
Die Zahl hinter -m gibt an, wie viel Prozent des Speicherplatzes für root reserviert werden soll (Hinweis: Bei Partitionen die nur zum Speichern von Dateien genutzt werden kann man den Wert auf 0 setzten. Bei der Systempartition / empfiehlt es sich 1-2% des Speicherplatzes für root zu reservieren!). Dahinter steht die Gerätedatei der Partition die geändert werden soll (in diesem Beispiel /dev/sdb1 (Die erste Partition der zweiten Festplatte)).
[Kubuntu 8.10] Die UUID einer Festplatte, Partion oder Gerätes ermitteln (bspw. für /etc/fstab).
Mit dem Befehl blkid lassen sich die UUID aller Partionen oder Geräte ausgeben:
blkid
Von einzelnen Partionen oder Geräten lässt sich gezielt die UUID ausgeben, wenn die dazugehörige Gerätedatei angegeben wird (im Beispiel /dev/sdb1 (Die erste Partitionder zweiten Festplatte)):
blkid /dev/sdb1

X Window System

[Kubuntu 8.04] Den XServer komplett beenden.
Um den XServer komplett zu beenden, mit der Tastenkombination STRG+ALT+F1 auf eine Shell wechseln und dort anmelden. Dann dort folgenden Befehl ausführen:
sudo /etc/init.d/kdm stop
Danach ist die Standard-Shell, in der die XServer-Session läuft (erreichbar über die Tastenkombination STRG+ALT+F7) schwarz: der XServer ist nun komplett beendet. Hinweis: Je nach System läuft nicht kdm (der KDE Display Manager), sondern ein anderer Display Manager, wie z.B. gdm oder xdm. Dann muss in dem Befehl lediglich kdm gegen gdm (o.ä.) ausgetauscht werden.

Netzwerk / Internet

Dienste / Services

Datenbanken

[Kubuntu 8.04] Alle MySQL-Datenbanken eines Servers mittels mysqldump exportieren bzw. sichern.
Um Tabellen einer Datenbank, Datenbanken selbst oder gar alle Datenbanken eines Server zu sichern (etwa für einen Server- oder System-Umzug oder regelmäßige Backups), bringt MySQL bereits das umfangreiche Werkzeug mysqldump mit. Für das Exportieren aller Datenbanken existiert die Option --all-databases. Zudem ist es meistens nötig sich bei dem Datenbank-Management-System anzumelden: Dafür werden die Optionen -u, für den Benutzer, gefolgt von dem Datenbank-Benutzernamen, und die Option -p, für die Passwort-Eingabe, angefügt. (Hinweis: Hinter der Option -p kann das Passwort auch direkt angegeben werden, dies ist allerdings nicht zu empfehlen, da das Password lesbar in der Shell-Historie gespeichert wird; was ein Sicherheitsrisiko darstellt!)
mysqldump -u username -p --all-databases > localhost.sql
Alle Datenbanken werden nun mitsamt Inhalt, durch den Umleitungs-Operator >, in der localhost.sql gespeichert. Dies kann sehr schnell zu sehr großen Text- bzw. SQL-Dateien führen, die sich eventuell nicht mehr hochladen und wiederherstellen lassen! Um dies zu vermeiden kann die SQL-Datei direkt mittels gzip komprimiert werden:
mysqldump -u username -p --all-databases | gzip > localhost.sql.gz

Anwendungen

Internet

[Kubuntu 8.04] Die Ausgabe von links2 in eine Textdatei umleiten.
links2 bringt für diese Aufgabe bereits Werkzeuge mit: Über die Option -dump wird die Ausgabe von links2 direkt auf stdout umgeleitet, statt den Browser selbst zu öffnen. Mithilfe von > lässt nun sich die Ausgabe von links2 in eine Textdatei schreiben.
links2 -dump example.com > examplecom