Inhalt

8. Das verbleibende 1%

8.1 Virtuellen Speicher anlegen

Obwohl Linux bereits mit 2 MByte RAM laufen kann, gilt hier auch das, was für alle anderen Betriebsysteme gilt: RAM ist durch nichts zu ersetzen, außer durch mehr RAM. Hier ein paar Richtlinien für den RAM-Ausbau in der Praxis:

Natürlich hängt die Größe des RAM's auch von den verwendeten Programmen ab. Zusätzlich kann man, analog zu Windows, sich noch virtuellen RAM auf der Festplatte anlegen, auch Swap-Space genannt. Um sich 8 MByte Swap-Space anzulegen gibt man als root ein:

# dd if=/dev/zero of=/swapfile bs=1024 count=8192
# mkswap /swapfile 8192
# sync
# swapon /swapfile

Entweder wird dann die letzte Zeile in /etc/rc.d/rc.local (oder /sbin/rc.d/rc.local, je nach dem wo rc.local ist) eingefügt, um das Swapfile beim Systemstart automatisch verfügbar zu machen, oder man fügt folgende Zeile in /etc/fstab hinzu:

/swapfile   swap   swap   defaults

Eine weitere und im allgemeinen effizientere Möglichkeit ist das Einrichten einer eigenen Swap-Partition. Hierzu legt man sich erst ganz normal eine neue leere Partition auf der Festplatte mit fdisk an (z.B. 30 Mb), gibt ihr den Partitionstyp 83, bereitet dann die Partition vor mit:

# mkswap -c /dev/mein_swap_device

und fügt zu guter letzt in die /etc/fstab ein:

/dev/mein_swap_device   swap   swap   defaults

Beim nächsten Sytemstart ist die neue Swap-Partition dann verfügbar.

8.2 Arbeiten mit tar & gzip

Unter UNIX gibt es einige weit verbreitete Programme zum Archivieren und Komprimieren von Dateien. Um Archive anzulegen wird tar benutzt, ähnlich dem PKZIP, aber ohne Kompression. Um ein neues Archiv anzulegen:

$ tar -cvf <archiv_name.tar> <Datei> [Datei...]

Um eine Datei aus einem Archiv zu extrahieren:

$ tar -xpvf <archiv_name.tar> [Datei...]

Zum Auflisten des Inhaltes eines Archives:

$ tar -tf <archiv_name.tar> | less

Man kann Dateien (und damit auch tar-Archive) mit compress komprimieren. Es ist jedoch eigentlich veraltet und sollte daher nur noch in Ausnahmefällen verwandt werden. Das gebräuchlichere Programm ist gzip. Aufruf:

$ compress <Datei>
$ gzip <Datei>

Das erzeugt eine Datei mit der Endung .Z (compress) oder .gz (gzip). Diese Programme können nur jeweils eine Datei gleichzeitig komprimieren. Zum entkomprimieren:

$ compress -d <Datei.Z>
$ gzip -d <Datei.gz>

MSL.

Die Programme unarj, zip und unzip (PK??ZIP kompatibel) existieren ebenfalls. Dateien mit der Endung .tar.gz oder .tgz (archiviert mit tar, dann komprimiert mit gzip) sind in der Unixwelt so verbreitet wie .ZIP Dateien unter DOS. So listet man den Inhalt eines .tar.gz Archivs auf:

$ gzip -dc <Datei.tar.gz> | tar tf - | less

8.3 Programme installieren

Zunächst erst einmal ist das Installieren von Programmen die Aufgabe von root. Einige Linuxprogramme sind als speziell vorbereitete .tar.gz oder .tgz Archive verfügbar. Diese kann man vom Verzeichnis / aus entpacken durch ein

# gzip -dc <Datei.tar.gz> | tar xvf -

oder auch (bewirkt das gleiche)

$ tar -zxf <file.tar.gz>

Die Dateien werden dann automatisch in den richtigen Verzeichnissen entpackt, die (wenn notwendig) gleich miterzeugt werden. Slackwarenutzer haben hier ein Hilfsprogramm namens pkgtool. Ein anderes mit ähnlichem Zweck ist rpm, welches dank Red Hat ebenfalls frei verfügbar ist. Archive für den rpm erkennt man an der Endung .rpm. Für ihn gibt es ein eigenes HOWTO, das RPM HOWTO, oder in der deutschen Version als Deutsches RPM-HOWTO.

Andere Archive sollten nicht von / aus installiert werden. Solch ein Archiv enthält üblicherweise ein Hauptverzeichnis paketname/ und weitere Dateien und Unterverzeichnisse unter diesem. Nach dem Linux-Filesystemstandard sollten diese unter /usr/local installiert werden, wer eigenbrödlerisch veranlagt ist, kann sie aber auch gerne irgendwo anders installieren. Darüber hinaus werden viele Pakete auch als C- oder C++ - Quelldateien geliefert, die man erst übersetzen muß, um ein ausführbares Programm zu erhalten. In den meisten Fällen genügt (nach dem lesen der README- und/oder INSTALL-Datei des Paketes) ein make im Hauptverzeichnis. Natürlich sollte man dafür den gcc oder g++ Kompiler installiert haben.

8.4 Nützliche Tips

Kommandovervollständigung: drücken der <TAB> Taste während der Eingabe eines Befehls auf der Kommandozeile vervollständigt den angefangenen Befehl. Beispiel: Man will die Zeile gcc dies_ist_ein_sehr_langer_Name.c eingeben. Eintippen von gcc die<TAB> veranlaßt die Shell, automatisch den langen Dateinamen zu ergänzen, falls die angegebenen Buchstaben ausreichen, um die Datei eindeutig zu identifizieren.

Zurückscrollen: drücken von SHIFT + Bild hoch (Page up) ermöglicht es, ein paar Seiten des Bildschirminhaltes zurückzuholen, je nachdem wieviel Videospeicher man hat.

Reset für den Bildschirm: Wenn man mit more oder cat eine Binärdatei auf den Bildschirm ausgegeben hat, kann es passieren, daß der Bildschirm danach völlig unlesbar wird. Um das wieder geradezubiegen, gibt man blind ein reset ein oder diese Folge von Zeichen: echo CTRL-V ESC c RETURN.

Text einfügen: auf der Konsole siehe unten; unter X klickt man in das (z.B. xterm) Fenster und zieht die Maus bei gedrückter linker Maustaste über den Text. Dann in dem Fenster, wo der Text hin soll, die mittlere Maustaste drücken, oder wenn man eine Zweitastenmaus hat, beide Tasten gleichzeitig. Es gibt auch das xclipboard (leider nur für Text) als Alternative.

Maus nutzen: Zunächst muß man den gpm installieren, einen Maustreiber für die Konsole. Text selektieren wie unter X und dann die rechte Maustaste zum Einfügen drücken (oder auch die mittlere). Dieser Mechanismus funktioniert über mehrere virtuelle Terminals hinweg.

Kernelmeldungen: man kann als root in /var/adm/messages oder /var/log/messages nachschauen, was der Kernel so an Meldungen produziert. Hier stehen auch die Meldungen vom Booten des Systems. Das Kommando dmesg ist hier auch hilfreich.

8.5 Nützliche Programme und Kommandos

Diese Liste ist natürlich nur eine persönliche und richtet sich nach meinen Bedürfnissen und Vorstellungen. Zunächst einmal, wo man sie finden kann: Da sich sicher alle auskennen mit dem Internet und Dinge wie archie und ftp beherrschen, hier nur die drei wichtigsten Adressen für Linux: metalab.unc.edu, tsx-11.mit.edu, und nic.funet.fi. Man benutze soweit möglich den nächstgelegenen Mirror.

at

erlaubt das automatische Ausführen von Programmen zu bestimmten Zeiten;

awk

ist eine einfache und mächtige Sprache zum Bearbeiten von Datenfiles (und nicht nur). Wenn z.B. data.dat das Datenfile mit mehreren Feldern pro Zeile ist, dann gibt

$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat

das 1. und 4. Feld jeder Zeile von data.dat aus, die abc enthält.

cron

ist ein nützliches Programm, welches zum periodischen Ausführen von Kommandos zu einem bestimmten Datum und einer Zeit dient;

delete-undelete

wie der Name schon sagt;

df

gibt Informationen über die gemounteten Disks (freier Platz, usw.);

dosemu

ermöglicht das Abarbeiten einer ganzen Reihe von DOS-Programmen; mit etwas Herumbasteln bekommt man sogar Windows 3.x zu laufen, allerdings sollte man dann davon nicht zuviel erwarten;

file <Dateiname>

gibt darüber Auskunft, was Dateiname für ein Typ ist (ASCII-Text, ausführbar, Archiv, etc.);

find

(siehe auch Kapitel Übertragen von Kommandos von DOS nach Linux) ist eines der mächtigsten und nützlichsten Kommandos. Es wird dazu benutzt, Dateien zu finden, die gewissen Bedingungen entsprechen und auf diese dann bestimmte Kommandos anzuwenden. Allgemeine Form des Kommandos find :

$ find <Verzeichnis> <Ausdruck>

wobei <Ausdruck> die Suchkriterien und Kommandos enthält. Beispiele:

$ find . -type l -exec ls -l {} \;

sucht alle Dateien, die symbolische Links sind und gibt aus, auf was sie ein Link sind.

$ find / -name "*.old" -ok rm {} \;

sucht alle Dateien, die auf .old enden und löscht diese nach vorheriger Rückfrage.

$ find . -perm +111

sucht alle Dateien, deren Rechte 111 sind (ausführbar).

$ find . -user root

sucht alle Dateien, die root gehören. Es gibt noch viele weitere Möglichkeiten, also wieder MSL.

gnuplot

hervorragendes Programm für wissenschaftliche Zeichnungen;

grep

sucht Textmuster in Dateien. z.B.:

$ grep -l "Geologie" *.tex
listet alle Dateien *.tex, die das Wort Geologie enthalten. Das Programm zgrep arbeitet mit gezippten Dateien. MSL.

tcx

komprimiert ausführbare Dateien und beläßt sie ausführbar;

joe

guter Editor. Wenn man ihn mit jstar aufruft kennt er die selben Tastaturkombinationen wie WordStar et al., einschließlich DOS und Borlands Turbo-Editoren;

less

wahrscheinlich der beste Textbrowser; wenn korrekt konfiguriert, kann man damit auch gzip-, tar- und zip-Dateien anzeigen;

lpr

<Datei> druckt eine Datei im Hintergrund aus. Zum Abfragen des Status des Druckauftrages gibt es lpq; um eine Datei aus der Warteschlange des Druckers zu entfernen, gibt es lprm;

mc

guter Dateimanager (ähnlich Norton Commander);

pine

gutes E-Mail Programm;

script <script_datei>

kopiert, was auf dem Bildschirm erscheint, nach script_file, bis man das Kommando exit gibt. Nützlich zur Fehlersuche;

sudo

erlaubt normalen Nutzern, bestimmte Aufgaben von root zu erledigen (z.B. Disketten formatieren und mounten; MSL);

uname -a

gibt Informationen über das eigene System aus;

zcat

und zless sind nützlich, um gezippte Textdateien anzuschauen, ohne sie erst zu entpacken. Mögliche Verwendungen:

$ zless textfile.gz
$ zcat textfile.gz | lpr

weitere:

Die folgenden Kommandos sind gelegentlich recht nützlich: bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew. MSL.

8.6 Gebräuchliche Erweiterungen und zugehörige Programme

Man begegnet unter Linux vielen Arten von Dateierweiterungen. Unter Weglassung der ausgefalleneren Varianten (z.B. Fonts u.a.) hier eine Liste, was was ist:

.1 ... .8

Manualseiten. Benutzt von man.

.arj

Archiv angelegt von arj. unarj zum entpacken.

.dvi

Ausgabedateien von TeX (siehe unten). xdvi zum Anschauen; dvips zum Umwandeln in eine Postscript .ps Datei.

.gif

Bilddatei. Prgramme: seejpeg, xpaint, xv, xli, gimp, ... .

.gz

mit gzip komprimierte Datei.

.info

info Datei (eine Art Alternative zu Manualseiten). Programm: info.

.jpg, .jpeg

Bilddatei. Programme siehe .gif.

.lsm

Linux Software Map Datei. Einfache ASCII Datei, die die Beschreibung eines Paketes enthält.

.ps

Postscriptdatei. Zum Anschauen und Drucken gs und evtl. ghostview.

.rpm

Red Hat Paket. Kann mittels des Paketmanagers rpm installiert werden

.tgz, .tar.gz

Archive angelegt mit tar und komprimiert mit gzip.

.tex

Textdatei, die an TeX übergeben wird, ein sehr mächtiges Text-Satzprogramm. Dazu benötigt man das Paket tex, das in den meisten Distributionen enthalten ist. Man hüte sich jedoch vor NTeX, das Fonts zerstört hat und Teil einiger Slackwareversionen war.

.texi

Texinfodatei, kann als Quelle für TeX und info Dateien dienen (siehe .info). Programm: texinfo.

.xbm, .xpm, .xwd

Bilddatei. Programm: xpaint.

.Z

Datei komprimiert mit compress.

.zip

Archiv angelegt mit zip. Programme: zip und unzip.


Inhalt