Weitere wichtige Pakete

Im folgenden werden wir einige Programme vorstellen, die aus unserer Sicht auf keinem System fehlen sollten. Die Auswahl ist sicherlich Geschmacksache und läßt sich noch weiter fortsetzen. Sie werden im Laufe der Zeit sicher Ihre eigenen Lieblingstools finden.

dlocate

Wenn Sie sich ein wenig mit den Internas des Debian-Paket-Systems auseinandergesetzt haben, sind Sie mit Sicherheit auch auf dpkg, das ursprüngliche Programm zum Paketmanagement gestoßen. dpkg kann mit den Optionen -L und -S dazu benutzt werden, in den Paketdateien nach den Paketnamen zu suchen, in denen sich bestimmte Dateien befinden. Als schnelle Alternative dazu bietet sich das Programm dlocate an. Intern benutzt dlocate das GNU-Programm locate und kann über Parameter auch beispielsweise alle Dateien, die zu einem Paket gehören, anzeigen, den benötigten Plattenplatz und Checksummen berechnen oder auch die passenden Man-Pages auflisten.

Wenn Sie dlocate ohne weitere Parameter aufrufen, bekommen Sie eine kurze Übersicht der Optionen:

linux:/home/fr/buch# dlocate
Usage: dlocate [option] [string...]

Options:
    (no option) string  list all records that match
    -S        string      list records where files match
    -L        package     list all files in package
    -l        package     almost-emulation of 'dpkg -l'
    -s        package     print package's status
    -ls       package     'ls -ldF' of all files in package
    -du       package     'du -sck' of all files in package
    -conf     package     list conffiles in package
    -lsconf   package     'ls -ldF' of conffiles in package
    -md5sum   package     list package's md5sums (if any)
    -md5check package     check package's md5sums (if any)
    -man      package     list package's man pages (if any)

  The -L, -s, and -S commands are roughly analagous to the
  equivalent dpkg commands.

Suchen von nicht installierten Dateien: Die Programme dlocate oder auch dpkg -S können nur Dateien finden, die bereits auf Ihrem System installiert sind. Manchmal kommt es aber vor, daß Sie eine Datei oder ein Programm benötigen, von dem Sie den Namen kennen, aber nicht wissen, in welchem Paket es sich verbirgt. Sie können mit dem Kommando apt-cache search exim.conf nach der gewünschten Datei suchen.

Die zweite Möglichkeit ist folgende: Datei Contents-i386.gz (auf anderen Architekturen wie i386 setzen Sie bitte die entsprechende Architektur ein) enthält eine Liste aller Dateien mit den entsprechenden Paketnamen. Das Kommando zcat Contents-i386.gz | grep exim.conf sucht aus dieser Datei den Paketnamen heraus, in der sich die Datei exim.conf befindet.

gpm

gpm erlaubt ihnen die Benutzung der Maus, soweit Sie eine an Ihrem Rechner angeschlossen haben, auch auf der textbasierten Konsole. Installieren Sie das Paket mit dselect oder apt. Während der Installation wird ein Konfigurationsscript aufgerufen, welches nach dem Anschluß der Maus, dem Typ sowie einigen anderen Parametern fragt.

Sie können dieses Konfigurationsscript auch später jederzeit verwenden, entweder wenn es bei der Erstkonfiguration Probleme gab oder wenn Sie eine andere Maus angeschlossen haben. Hierzu rufen Sie als Superuser (root) das Script mit gpmconfig auf.

Am Beispiel einer Maus mit PS/2-Anschluß, wie sie an den meisten neueren Rechnern zu finden ist, werden wir die Konfiguration aufzeigen. Installieren Sie zunächst das Paket gpm, zum Beispiel mit apt-get install gpm.


Unpacking gpm (from .../misc/gpm_1.17.8-6.deb) ...
Setting up gpm (1.17.8-6) ...
Configuring gpm (mouse event server):

Current configuration: -m /dev/ttyS0 -t ms -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"
Device: /dev/ttyS0
Type: ms
Append: -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"
Do you want to change anything (Y/n)?
Die vorgegebenen Werte sind für eine, ebenfalls recht verbreitete Maus an der seriellen Schnittstelle (COM1) passend. Wenn Sie über eine solche Maus verfügen, können Sie die vorgegebenen Werte beibehalten. Bei einer PS/2-Maus sind aber einige andere Einstellungen nötig. Wählen Sie also Y und fahren Sie mit der Installation wie folgt fort:

gpm has an experimental mouse test program which may help you determine
your mouse's type and which device it's attatched to.

You *must* not run any other software which needs the mouse, e.g. X,
selection or gpm, while running this program.
Do you want to run gpm's mouse-test program (Y/n)?
Wenn Sie sich sicher sind, daß Ihre Maus am PS/2-Anschluß angeschlossen ist, können Sie dieses Testprogramm überspringen, es schadet aber auch nicht, es zu benutzen. Probieren Sie es ruhig mal aus:

This program is designed to help you in detecting what type your
mouse is. Please follow the instructions of this program. If you're
bored before it is done, you can always press your 'Interrupt' key
(usually Ctrl-C)

*** Remember: don't run any software which reads the mouse device
*** while making this test. This includes "gpm","selection", "X"

Note that this program is by no means complete, and its main role is
to detect how does the middle button work on serial mice
/dev/atibm: No such device
/dev/inportbm: No such device
/dev/jbm: No such device
/dev/logibm: No such device
ttyS1: No such file or directory

Trying with 1200 baud

The possible device nodes are:
	/dev/psaux
	/dev/rtc
	/dev/ttyS0
	/dev/ttyS1
	/dev/ttyS2
	/dev/ttyS3


I've still 6 devices which may be your mouse,
Please move the mouse. Press any key when done
(You can specify your device name on cmdline, in order to
avoid this step.
Different baud rates are tried at different times
Das Testprogramm hat auf unserem Beispielrechner 6 mögliche Gerätedateien festgestellt, an denen die Maus angeschlossen sein könnte. Für die PS/2-Maus ist gleich das erste, also /dev/psaux zuständig. Bewegen Sie nun die Maus und drücken Sie danach eine Taste.

removing "/dev/ttyS0" from the list
removing "/dev/ttyS1" from the list
removing "/dev/ttyS2" from the list
removing "/dev/ttyS3" from the list

Trying with 9600 baud

 The possible device nodes are:
	/dev/psaux

Where is your mouse [/dev/psaux]?
Das Testprogramm hat nun alle Anschlüsse, an denen es keine Maus festgestellt hat, aus der Liste entfernt, geben Sie nun das gefundene Device an.

> /dev/psaux
What type is your mouse (or help) [ps2]?
Der Maustyp ist bei einer PS/2-Maus recht leicht zu bestimmen, wenn Sie eine andere Maus benutzen, werfen Sie einfach mal mit help einen Blick in die Liste:

> help

gpm-Linux 1.17.8, $Date: 1999/01/03 21:02:51 $
Available mouse types are:

name (synonym)       description

mman (Mouseman)    - The MouseMan protocol used by new Logitech mice.
ms                 - For Microsoft mice (2 or 3 buttons). Some old 2 button mice
                     send some spurious packets, which can be misunderstood as
                     middle-button events. If this is happens to you, use the
                     'bare' mouse type.
ms+                - Like 'ms', but allows dragging with the middle button.
ms+lr              - 'ms+', but you can reset m by pressing lr (see man page).
bare (Microsoft)   - For some 2 button Microsoft mice. Same as 'ms' except that
                     gpm will not attempt to simulate a third button.
msc (MouseSystems) - For most 3 button serial mice.
sun                - For Sparc mice.
mm (MMSeries)      - For MM series mice.
logi (Logitech)    - For old serial Logitech mice.
bm (BusMouse)      - For some busmice, including Microsoft and Logitech busmice.
ps2 (PS/2)         - For most busmice connected to a PS/2 port (round with 6 metal pins).
ncr                - For pointing pens found on some laptops.
wacom              - For Wacom tablets.
genitizer          - For "Genitizer" tablets. They are used in relative mode.
logim              - For turning on the MouseSystems compatible mode (3 buttons)
                     of some Logitech mice.
pnp                - For the new 'plug and play' mice produced by Microsoft.
                     Try it if '-t ms' does not work.
imps2              - For the Microsoft IntelliMouse on a PS/2 port (round
                     connector with 6 pins), 3 buttons (wheel is unused).
ms3                - For the Microsoft IntelliMouse (serial), 3 buttons (wheel is unused).
netmouse           - For the "Genius NetMouse". This one has two normal buttons plus 'up'/'down' buttons.
cal                - For a Calcomp UltraSlate.
calr               - For a Calcomp UltraSlate in relative mode.
twid               - For the "Twidddler" keyboard.
syn (synaptics)    - For the "Synaptics" serial TouchPad.
synps2 (synaptics_ps2) - For the "Synaptics" PS/2 TouchPad.
brw                - For the Fellowes Browser - 4 buttons (and a wheel) (dual protocol?).
js (Joystick)      - For "Joystick" mouse emulation.
summa              - For a Summa/Genius tablet in absolute mode (906,1212B,EasyPainter...).
mtouch             - For MicroTouch touch-screens (only button-1 events right now).
acecad             - For Acecad tablet in absolute mode (Sumagrapics MM-Series mode).
kmiabps2           - For the Kensignton Mouse in a box on a PS/2 port (round
                     connector with 6 pins), 3 buttons.

Default for i386 is ms
What type is your mouse (or help) [ps2]?
> ps2
Der erkannte Maustyp ist für unser Beispiel aber korrekt und kann so beibehalten werden.

Set the responsiveness (normally not needed) []?
>
Repeat protocol (leave blank to turn repeating off) []?
>
Do you want to add any additional arguments [-l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"]?
>
Do you want to test this configuration (y/N)?
Diese vier Punkte können Sie erst einmal so belassen. Sie können u.a. die Empfindlichkeit der Maus einstellen, dies können Sie aber auch jederzeit später nach dem Studium der Man-Page zu gpm detailliert erledigen.

Current configuration: -m ttyS1 -t ps2 -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"
Device: ttyS1
Type: ps2
Append: -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"
Abschließend bekommen Sie noch einmal alle Daten angezeigt und können diese auch noch einmal ändern (dazu müssen Sie aber die ganze Konfiguration noch einmal durchgehen...).

Do you want to change anything (Y/n)? n
Starting mouse interface server: gpm.
Wenn Sie mit den Einstellungen zufrieden sind, geben Sie ein n ein, und die Konfiguration wird gesichert und der gpm-Server gestartet. Sie können nun, wenn alles korrekt konfiguriert wurde, mit der Maus auf der Konsole Bereiche markieren und kopieren. Programme, die die Maus auch auf der Konsole unterstützen, wie zum Beispiel mc, können Sie auch mit der Maus bedienen.

mc

mc und gmc (welcher weiter unten beschrieben wird) basieren beide auf dem Paket mc-common, welches die grundlegenden Funktionen für beide Pakete zur Verfügung stellt.

mc ähnelt stark dem aus der DOS-Welt bekannten Norton Commander. Soweit möglich wird auch die Maus auf der textbasierten Oberfläche unterstützt.

Einige Höhepunkte des mc sind:

Wenn Sie bereits mit dem nc unter DOS gearbeitet haben, werden Ihnen viele Dinge vertraut vorkommen.

midnight commander

gmc

Eine Version des Programms Midnight Commander mit grafischer Benutzeroberfläche, der gmc, steht erst nach der Installation von X11 sowie natürlich des Paketes gmc zur Verfügung. gmc steht für „GNU Midnight Commander“ und stammt aus dem GNOME-Projekt. gmc ist der Standard-Dateimanager unter GNOME.

GNU Midnight Commander

Das Fenster des GNU Midnight Commanders teilt sich in zwei Bereiche. Das linke Fenster zeigt den Verzeichnisbaum, das rechte Fenster stellt den aktuellen Inhalt des ausgewählten Verzeichnisses dar. Um den Inhalt eines anderen Verzeichnisses anzeigen zu lassen, reicht ein einfacher Mausklick auf das gewünschte Verzeichnis im linken Fenster. Wenn im Verzeichnisbaum neben dem Verzeichnisnamen ein + Zeichen angezeigt wird, können Sie mit einem Mausklick auf dieses Zeichen die weiteren Unterverzeichnisse anzeigen lassen. Das + Zeichen wird dann zu einem - Zeichen, mit einem weiteren Mausklick können Sie die Unterverzeichnisse wieder ausblenden.

screen

screen ist ein sehr nützliches Programm im Zusammenhang mit virtuellen Konsolen. In der Urzeit der Unix-Geschichte waren ASCII-Terminals, die an den Rechner über die serielle Schnittstelle angeschlossen wurden, sehr verbreitet. Manchmal findet man solche Geräte auch noch heute im Einsatz oder kann diese günstig erstehen. Einem Einsatz an der seriellen Schnittestelle eines handelsüblichen PCs steht, außer dem passenden Kabel, nichts im Weg. Leider stehen dann an einem solchen Terminal keine virtuellen Konsolen zur Verfügung.

Das gleiche Problem stellt sich beispielsweise, wenn man sich von außen über eine Modemverbindung an einem Rechner anmeldet, auch hier ist man auf ein einziges Terminal festgelegt.

Abhilfe schafft hier das Programm screen, dieses „emuliert“ mehrere virtuelle Terminals und kann auch die Sitzung nach dem Abbruch der Verbindung aufrechterhalten. Sie können, wenn Sie einen Account auf einem Rechner mit einer guten Internetanbindung haben, sich beispielsweise auf diesem einloggen, einen Download starten, sich abmelden und Stunden oder Tage später wieder anmelden und die Sitzung mit screen wieder aufnehmen: der Download wird mittlerweile beendet sein und Sie können sich die Daten mit voller Geschwindigkeit auf Ihren Rechner holen.

screen ist so etwas wie ein Full-screen-Windowmanager für die Konsole, welcher mehrere Prozesse, meist interaktive Shells, verwaltet. Jedes virtuelle Terminal hat die Funktionalität eines VT100-Terminals, mit zusätzlichen Funktionen aus anderen Standards wie zum Beispiel ANSI X3.64 und ISO 2022 (hier wurden Funktionen wie Einfügen und Löschen von Zeilen und die Unterstützung von verschiedenen Zeichensätzen entliehen). Jedes Terminal besitzt eine History-Funktion und Daten können per cut+paste zwischen den Terminals kopiert werden.

Wenn Sie screen starten, wird ein Terminal mit einer Shell (oder einem anderen Programm) gestartet, Sie werden zunächst keinen Unterschied zu einer anderen Shell feststellen. Sie können aber nun zu jeder Zeit neue Terminals erzeugen, jedes mit einer neuen Shell, ebenso wie bei den „richtigen“ Terminals unter der Linux-Konsole. Sie können natürlich auch Terminals schließen, eine Liste der aktiven Terminals ansehen, die Ausgaben in einer Datei aufzeichnen und so weiter. Alle gestarteten Programme laufen weiter, auch wenn Sie zwischen den Terminals umschalten.

screen-Kommandos werden generell mit der Tastenkombination CRTL+a eingeleitet. Mit der Kombination CRTL+a+? bekommen Sie eine Hilfe zu screen in Form einer Befehlsübersicht. Hier eine kurze Übersicht der wichtigsten Kommandos:

Weitere Informationen zu screen finden Sie auf der Seite http://www.gnu.org/software/screen/ sowie auf den Seiten von Sven Guckes unter: http://www.math.fu-berlin.de/~guckes/screen/.

ssh

Secure Shell (ssh) ist ein Ersatz für rlogin und rsh und stellt eine verschlüsselte Verbindung in einem (unsicheren) Netzwerk – allen voran dem Internet – her. Sie sollten generell auf die Verwendung von Programmen verzichten, die insbesondere Paßwörter, aber auch Daten, unverschlüsselt übermitteln. Vermeiden Sie wenn möglich auch die Benutzung von telnet. Die Telnet-Version, die von Debian GNU/Linux verwendet wird, unterstützt ebenfalls eine verschlüsselte Übertragung, aber gewöhnen Sie sich nicht daran, auf anderen Systemen ist dies kein Standard.

ssh verschlüsselt eine Verbindung bereits vor der Übertragung des Paßwortes. Sie können also einigermaßen sicher von jedem Ort aus sich auf einem Rechner einloggen. Ein Angreifer, der versucht auf einem Rechner auf der Übertragungsstrecke Ihr Paßwort aus dem Datenstrom zu filtern, hat so nur eine geringe Chance auf Erfolg. Er müßte genau zu dem Zeitpunkt das Datenpaket erwischen, mit dem Sie bei den ssh-Instanzen den Key austauschen!

Die einfachste Form der Benutzung von ssh ist der Aufruf mit der Angabe des gewünschten Zielrechners. Das Kommando: ssh hoshi.openoffice.de stellt eine verschlüsselte Verbindung zu diesem Rechner her und meldet Sie mit dem gleichen Benutzernamen wie auf dem lokalen Rechner an. Sie können zusätzlich einen anderen Benutzernamen mit der Option -l angeben: ssh -l fr hoshi.openoffice.de.

Wenn die beiden Benutzernamen identisch sind und der Rechner, von dem aus Sie sich einloggen, in der Datei /etc/hosts.equiv oder /etc/ssh/shosts.equiv aufgeführt ist, können Sie sich ohne Paßwortabfrage anmelden.

Weitere Informationen finden Sie in der Man-Page zu ssh (man ssh).