qemu, kvm, xen & libvirtHauptseite | Über | Hilfe | FAQ | Spezialseiten | Anmelden

Druckversion | Impressum | Datenschutz

Toolbox Shell PowerShell Cygwin ssh download Installation bzip2 7-Zip RAR chmod chown sudo runas dd dcfldd fdisk mount SSHFS TFTP netcat Synergy dnsmasq

(Link zu dieser Seite als [[QEMU-KVM-Buch/ Anhang/ Nützliche Tools]])

<<<|###| >>> | English


Cygwin.
Cygwin.
Die PowerShell.
Die PowerShell.
Der Gnome Partition Editor.
Der Gnome Partition Editor.
Der Gnome Partition Editor – Anlegen einer neuen Partition.
Der Gnome Partition Editor – Anlegen einer neuen Partition.
ipconfig/all.
ipconfig/all.
Der ssh-Client putty.
Der ssh-Client putty.
WinSCP – Ein SCP-Client für Windows.
WinSCP – Ein SCP-Client für Windows.
wget unter Microsoft Windows (Cygwin).
wget unter Microsoft Windows (Cygwin).
Der Telnet-Client unter Microsoft Windows.
Der Telnet-Client unter Microsoft Windows.
Der VNC-Viewer TightVNC.
Der VNC-Viewer TightVNC.

Inhaltsverzeichnis

[bearbeiten] Nützliche Tools

In diesem Abschnitt werden einige nützliche Tools erläutert. Dieser kurze Überblick dient dazu, sich bei weniger bekannten Gast-Systemen zurechtzufinden. Die meisten der hier beschriebenen Tools sind als Kommandozeilen-Befehle zu bedienen und kommen aus dem Unix-Umfeld. Sie sind oft auch für andere Plattformen, wie Microsoft Windows-Versionen, verfügbar (siehe auch https://ninite.com).

[bearbeiten] Kommandozeileninterpreter

[bearbeiten] Unix-Shells

Unix-Server werden meist über die Kommandozeile bedient. Dies liegt daran, dass die Shells (Kommandozeileninterpreter) unter Unix sehr leistungsfähig sind. Außerdem ist eine Shell bei manchen Aufgaben einer grafischen Benutzeroberfläche überlegen, da zum Beispiel Ablaufsteuerung und Programmrückmeldungen einbezogen werden können. Neben der interaktiven Nutzung haben die Shells die Aufgabe Shell-Skripte auszuführen. Es stehen unter Unix/Linux unterschiedliche Shells zur Verfügung, zum Beispiel sh, csh, ksh, bash, tcsh und zsh. Unter Linux wird häufig bash angewendet.

[bearbeiten] DOS-Eingabeaufforderung

Unter den veralteten DOS-basierten Microsoft Windows-Versionen 95, 98 und ME wurde command.com verwendet, um eine DOS-Eingabeaufforderung bereitzustellen. Microsoft Windows NT und Nachfolger setzen einen neuen, weitgehend abwärtskompatiblen Kommandozeileninterpreter namens cmd.exe ein. Gestartet wird die DOS-Eingabeaufforderung bei neueren Microsoft Windows-Versionen über den Punkt Ausführen im Start-Menü. In der erscheinenden Eingabe-Zeile gibt man den Befehl cmd ein. Beendet wird die DOS-Eingabeaufforderung mit exit.

C:\> exit

[bearbeiten] Cygwin – Unix-Tools für Microsoft Windows

Download: http://cygwin.com/setup-x86_64.exe

Cygwin ist eine Emulation der Linux-API unter verschiedenen Versionen von Microsoft Windows. Dadurch lassen sich Programme, die üblicherweise unter POSIX-Systemen wie GNU/Linux, BSD und Unix laufen, auf Microsoft Windows portieren. POSIX (Portable Operating System Interface) ist ein für Unix entwickeltes standardisiertes Application Programming Interface. Zur Installation lädt man das Setup-Programm herunter und startet es. Dieses kleine Programm holt sich alle benötigten Dateien direkt von verschiedenen FTP-Servern. Bei der Installation werden drei verschiedene Optionen angeboten.


Install From Internet Die benötigten Dateien werden direkt aus dem Internet während der Installation heruntergeladen.
Download without installing Alle benötigten Dateien werden für eine spätere Installation heruntergeladen aber nicht installiert.
Install from Local Directory Die zur Installation benötigten Dateien wurden bereits vorher über die Option Download without installing heruntergeladen.

Für eine einmalige Installation ist die Option Install From Internet anzuwenden. Im nächsten Dialog wird das Verzeichnis gewählt, in das Cygwin installiert werden soll. Die Vorgabe dazu ist C:\cygwin. Weiterhin wird abgefragt, ob der angemeldete oder alle Benutzer Cygwin starten dürfen. Zu empfehlen ist, allen Benutzern (All Users) die Verwendung von Cygwin zu erlauben. Es wird gefragt, in welchem Format Text-Dateien interpretiert werden sollen. Hier empfiehlt sich das Format Unix. Danach ist das Verzeichnis für die heruntergeladenen Dateien vorzugeben. Im nächsten Schritt wird nach einem Proxy-Server gefragt. Ist kein Proxy verfügbar, ist die Option Direct Connection die richtige Wahl. Bei der Wahl des Mirror-Servers empfiehlt es sich, einen Server in der Nähe auszuwählen. Das Setup-Programm lädt eine Liste der verfügbaren Pakete und bietet diese zur Auswahl an. In der Default-Einstellung werden die bash-Shell und einige Zusatz-Tools installiert. Es sollten mindestens die Paketgruppen Archive, Doc, Net, System, Text und Web zur Installation ausgewählt werden. Dazu klickt man in der Liste rechts neben dem Namen der Paketgruppe auf den Text Default. Statt Default muss jeweils Install stehen. Pakete können auch nachträglich durch erneutes Aufrufen von setup.exe installiert werden. Nach dem Klicken auf den Button Weiter beginnt Cygwin mit dem Download und der Installation der ausgewählten Pakete. Am Ende der Installation erfolgt die Abfrage, ob Einträge im Start-Menü und ein Icon auf dem Desktop eingerichtet werden sollen. Cygwin wird durch Anklicken des Icons gestartet. Cygwin stellt eine Unix-Umgebung bereit. Unter Unix ist der Pfad-Trenner ein Slash (/) und kein Backslash (\). Die Windows-Registry wird unter Cygwin unter /proc/registry durchsucht. Laufwerksbuchstaben (C:, D:, ...), wie unter Microsoft Windows, sind nicht vorhanden. Zum Beispiel wird aus dem Windows-Pfad C:\Temp\test.txt in Cygwin der Pfad /cygdrive/C/Temp/test.txt. Das Wurzelverzeichnis (/) unter Cygwin entspricht dem Cygwin-Installations-Pfad. Falls Cygwin in C:\cygwin installiert ist, sind die beiden Pfade /cygdrive/C/usr/bin/gzip.exe und /usr/bin/gzip.exe äquivalent. Ein Wechsel des Laufwerks erfolgt mit cd, gefolgt von dem Laufwerksbuchstaben. Zum Beispiel wechselt der folgende Befehl zum Laufwerk C.

~$ cd c:

[bearbeiten] Windows PowerShell

Download: http://www.microsoft.com/germany/technet/scriptcenter/hubs/msh.mspx

Einer komfortable Shell unter Microsoft Windows ist die Windows PowerShell. Die PowerShell ist eine moderne Alternative zum Windows-Kommandozeilenprogramm cmd.exe und zum Windows Script Host.

[bearbeiten] Hilfestellungen

Unter Unix/Linux beziehungsweise Cygwin erhält man Hilfestellungen über die Manual-Pages. Der Aufruf erfolgt durch den Befehl man gefolgt von dem Befehl, den man erläutert haben will. Beispiel:

~$ man qemu

Ist der Befehl unbekannt, listet man mit apropos alle Manual-Pages zu einem bestimmten Stichwort auf.

~$ apropos qemu
qemu (1)             - QEMU Emulator User Documentation
qemu-doc (1) [qemu]  - QEMU Emulator User Documentation
qemu-img (1)         - QEMU disk image utility
qemu (1)             - QEMU Emulator User Documentation
qemu-doc (1) [qemu]  - QEMU Emulator User Documentation
qemu-img (1)         - QEMU disk image utility

Unter Microsoft Windows wird im DOS-Eingabefenster mit dem Befehl help gefolgt durch den Befehl, den man erläutert haben will, eine Hilfestellung gezeigt. Das folgende Beispiel zeigt eine Hilfestellung zu dem Befehl dir.

C:\> help dir

Unter Microsoft Windows gibt es weiterhin eine Hilfestellung im Start-Menü unter Hilfe und Support.

[bearbeiten] Datei- und Verzeichnis-Befehle

Um das Verzeichnis zu wechseln dient unter Unix/Linux und Microsoft Windows der Befehl cd gefolgt von dem Namen des Ziel-Verzeichnisses.

~$ cd Verzeichnis

Ein Verzeichnis höher gelangt man mit cd gefolgt von zwei Punkten. Unter Unix/Linux muss hinter cd immer ein Leerzeichen stehen.

~$ cd ..

Zur Ermittlung des aktuellen Verzeichnispfades dient unter Unix/Linux der Befehl pwd. Unter Microsoft Windows kann dazu der Befehl dir angewendet werden. Dieser listet auch den Inhalt des aktuellen Verzeichnisses auf.

C:\> dir

Unter Unix/Linux dient zum Auflisten des Inhaltsverzeichnisses der Befehl ls. Mit der Option -l erfolgt eine detaillierte Anzeige. Dabei werden folgende Informationen zu der Datei ausgegeben:

Beispiel:

~$ ls -l
-rw-r--r-- 1 robert robert  24264704 2007-07-10 20:04 ReactOS.img
-rw-r--r-- 1 robert robert  25579520 2007-03-09 14:30 ReactOS.iso

Mit der Option -h zeigt der Befehl ls die Größe der Dateien in KByte, MByte, GByte oder TByte an.

~$ ls -lh
-rw-r--r-- 1 robert robert  24M 2007-07-10 20:04 ReactOS.img
-rw-r--r-- 1 robert robert  25M 2007-03-09 14:30 ReactOS.iso

Sowohl unter Microsoft Windows als auch unter Unix/Linux lassen sich Wildcards zum Filtern der Dateinamen anwenden. Wildcards sind die Sonderzeichen Stern (*) und Fragezeichen (?). Der Stern steht für eine beliebige Anzahl von beliebigen Zeichen im Dateinamen. Ein Fragezeichen steht dagegen für genau ein beliebiges Zeichen. Das folgende Beispiel listet unter Microsoft Windows alle Dateien mit der Datei-Endung .img auf.

C:\> dir *.img

Das folgende Beispiel listet unter Unix/Linux alle Dateien auf, die drei Zeichen im Datei-Namen haben, wobei das erste Zeichen ein a ist.

~$ ls a??

Verzeichnisse erstellt man unter Unix/Linux und Microsoft Windows mit dem Befehl mkdir gefolgt von dem Namen des neuen Verzeichnisses. Unter Microsoft Windows gibt es auch die Kurzform md. Beispiel unter Unix/Linux:

~$ mkdir Verzeichnis

Beispiel unter Microsoft Windows:

C:\> mkdir Verzeichnis

Zum Löschen von leeren Verzeichnissen dient unter Unix/Linux und Microsoft Windows der Befehl rmdir.

C:\> rmdir Verzeichnis

Unter Unix/Linux können ganze Verzeichnisbäume gelöscht werden. Dazu dient der Befehl rm -rf gefolgt von dem Verzeichnis-Namen. Die Option -r bewirkt das Löschen aller Unterverzeichnisse und darin enthaltener Dateien. Die Option -f löscht ohne Nachfrage. Dieser Befehl sollte erst nach gründlicher Überlegung angewendet werden. Er löscht wirklich alles, auch in Unterverzeichnisse eingebundene Festplatten. Unter Microsoft Windows löscht man Verzeichnisse, die nicht leer sind, mit rmdir /s.

C:\> rmdir /s Verzeichnis

Das Löschen von Dateien erfolgt unter Unix/Linux mit dem Befehl rm, gefolgt von dem Datei-Namen.

~$ rm Datei

Unter Microsoft Windows werden Dateien mit dem Befehl del gelöscht.

C:\> del Datei

Das Umbenennen von Verzeichnissen und Dateien erfolgt unter Unix/Linux mit mv und unter Microsoft Windows mit move. Es wird jeweils der alte und danach der neue Name angegeben. Beispiel unter Microsoft Windows:

C:\> move alterName neuerName

Beispiel unter Unix/Linux:

~$ mv alterName neuerName

Weiterhin dienen die Befehle move und mv auch zum Verschieben von Dateien oder Verzeichnissen in andere Verzeichnisse. Beispiel unter Microsoft Windows:

C:\> move alterName Verzeichnis

Beispiel unter Unix/Linux:

~$ mv alterName Verzeichnis

Kopiert werden Dateien unter Unix/Linux mit cp. Sollen Verzeichnisse mit Inhalt kopiert werden, ist die Option -r anzugeben.

~$ cp -r Verzeichnis VerzeichnisKopie

Unter Microsoft Windows werden Dateien mit dem Befehl copy kopiert.

C:\> copy Datei DateiKopie

Komplette Verzeichnisse werden unter Microsoft Windows mit dem Befehl xcopy /e kopiert.

C:\> xcopy /e Verzeichnis VerzeichnisKopie

[bearbeiten] Links

Unter Unix und Linux ist es möglich, Dateien und Verzeichnisse durch Links mehrfach im Dateisystem zu referenzieren. Man unterscheidet zwischen harten und symbolischen Links. Harte Links können nur auf Dateien angewendet werden und nutzen jeweils den gleichen Inode der Ziel-Datei. Ein Inode kennzeichnet durch eine einmalige Nummer eindeutig eine Datei. Das bedeutet, dass ein harter Link immer noch funktioniert, wenn die Ziel-Datei verschoben wurde. Ein symbolischer Link, auch Symlink oder Softlink genannt, ist lediglich eine Referenz und kein richtiges Element. Wenn man die Zieldatei verschiebt, und ein Softlink zeigt darauf, kann die Zieldatei nicht wissen, dass ein Link auf sie zeigt, womit der symbolische Link ins Leere zeigt. Der Vorteil ist, dass diese Arten von Verknüpfungen partitions- und dateisystemübergreifend arbeiten können und auch bei Verzeichnissen funktionieren. Unter Unix/Linux wird mit dem Befehl ln -s ein symbolischer Link erzeugt. Im folgenden Beispiel wird ein symbolischer Link mit dem Pfad /usr/src/linux auf das Verzeichnis /usr/src/linux-source-2.6.33 angelegt. Das heißt, unter dem Pfad /usr/src/linux wird der Inhalt des Verzeichnisses /usr/src/linux-source-2.6.33 abgebildet.

~# ln -s /usr/src/linux-source-2.6.33 /usr/src/linux

Durch die Option -f kann ein vorhandener symbolischer Link überschrieben werden. Nach dem Ausführen des folgenden Beispiels zeigt der symbolische Link /usr/src/linux auf das Verzeichnis /usr/src/linux-source-2.6.36.

~# ln -sf /usr/src/linux-source-2.6.36 /usr/src/linux

Unter Microsoft Windows-Versionen gibt es Verknüpfungen (Shortcut) über eine .LNK Datei, die mit einem Link unter Unix/Linux nicht zu vergleichen sind. Das Datei-System NTFS unterstützt symbolische und harte Links sowie Junction Points. Die entsprechenden Powershell-Befehle sind New-Symlink, New-Hardlink und New-Junction. Auch eine installierte Cygwin-Umgebung ermöglicht es symbolische und harte Links zu setzen.

[bearbeiten] Datei-Typ ermitteln

Unter DOS und Microsoft Windows wird der Datei-Typ durch die drei Zeichen nach dem Punkt im Datei-Namen bestimmt. Zum Beispiel kennzeichnet .exe Programme. Oft wird die Anzeige dieser drei Zeichen ausgeblendet, was ein Sicherheitsrisiko ist. Unter Unix/Linux kennzeichnet der Datei-Name nicht zwingend den Datei-Typ. Mit dem Befehl file lässt sich der Datei-Typ ermitteln. Nach dem Befehl file können ein oder mehrere Dateien oder Verzeichnisse angegeben werden. Verzeichnisse sind unter Unix/Linux auch Dateien. Das folgende Beispiel ermittelt den Datei-Typ der Datei /etc/fstab.

~$ file /etc/fstab
/etc/fstab: ASCII text

Die Datei /etc/fstab ist eine Text-Datei.

[bearbeiten] Text-Dateien anzeigen

Unter Microsoft Windows lassen sich Text-Dateien mit dem Befehl type anzeigen.

C:\> type Textdatei

Unter Unix/Linux dient der Befehl cat zur Ausgabe von Text-Dateien. Aktuell gehaltenen Informationen zum System liegen bei vielen Unix-Varianten unter dem Verzeichnis /proc in Textform vor. Der folgende Befehl zeigt zum Beispiel Informationen zu den CPUs an.

~$ cat /proc/cpuinfo

Unter Unix/Linux lassen sich Text-Dateien komfortabel mit den Befehlen less anzeigen. less gibt Daten auf die Terminal-Größe zugeschnitten aus, wobei sich mit verschiedenen Tasten scrollen lässt. Mit q beendet man less.

~$ less Textdatei

Zur System- oder Fehler-Analyse ist die Auswertung von Log-Dateien notwendig. Unter Unix/Linux werden diese meist im Verzeichnis /var/log/ als Text-Dateien geschrieben. Um sich fortlaufend die letzten Einträge einer Log-Datei anzeigen zu lassen, dient der Befehl tail. Die Option -f bewirkt, dass auch die Einträge angezeigt werden, die nach Aufruf dieses Befehls in die Log-Datei geschrieben werden. Oft wird unter Linux der folgende Befehl angewendet, um das System-Logfile zu überwachen.

~$ tail -f /var/log/messages

Zum Filtern von Zeilen mit bestimmten Mustern dient das Pipe-Zeichen (|) und der Befehl grep. Eine Pipe bewirkt die Umleitung der Ausgabe eines Befehls in die Eingabe eines anderen Befehls. Das heißt, hier werden alle neuen Einträge in der Datei /var/log/messages in den Befehl grep weitergeleitet. grep lässt nur Zeilen durch, in denen das angegebene Muster vorkommt. Hier werden Zeilen dargestellt, die das Muster error enthalten, wobei Groß- und Kleinschreibung durch die Option -i ignoriert werden. Mit anderen Worten, wenn im System ein Fehler festgestellt wird, wird er angezeigt.

~$ tail -f /var/log/messages | grep -i "error"

[bearbeiten] Text-Dateien bearbeiten

Unter Microsoft DOS/Windows dient der Editor edit zum Bearbeiten von Dateien. Aufgerufen wird dieses Programm mit dem Befehl edit gefolgt von dem Namen der Text-Datei. Mit der Maus oder der Taste [Alt] lassen sich die Menüs erreichen.

C:\> edit Textdatei

Unter Unix/Linux stehen leistungsfähige Text-Editoren zu Verfügung. Das liegt daran, dass alle Konfigurationsdateien unter Unix/Linux Text-Dateien sind. Deshalb sind Kenntnisse zur Bedienung eines überall verfügbaren Texteditors unumgänglich. Der leistungsfähige Editor vi ist auf jedem unix-artigen System vorhanden. Seine Bedienung gilt als ungewöhnlich. Eine Ursache für seine fremdartige Bedienung ist, dass der vi auf allen Terminals bedienbar sein muss. Nicht alle Terminals besitzen alle Kursor- und Sonder-Tasten. Der Start von vi erfolgt durch die Eingabe des Kommandos vi und des Datei-Namens der zu editierenden Datei als Option.

~$ vi Textdatei

Die unterste Zeile dient zur Anzeige von Informationen und zur Kommunikation mit dem Nutzer. Der vi verfügt über drei verschiedene Betriebsmodi – ein Umstand, der dazu beiträgt, dass dieser Editor als schwer bedienbar gilt. Nach dem Start befindet sich der vi im Kommando-Modus. Hier kann der Kursor mit den Kursor-Tasten an eine beliebige Stelle bewegt werden. Durch Betätigen der Tasten [Esc] und [i] gelangt man in den Text-Eingabe-Modus.

[Esc] [i]

Damit ist es möglich Text einzugeben. Danach ist [Esc] zu betätigen, um den Eingabe-Modus zu verlassen. Zum Speichern drückt man nacheinander die folgende Tasten.

[Esc] [:] [w]

Der Editor vi kann mit dem folgenden Befehl beendet werden.

[Esc] [:] [q]

Hat man einen Fehler gemacht, sollte man ohne Speichern den Editor vi beenden. Dazu dient die folgende Tasten-Reihenfolge:

[Esc] [:] [q] [!]

Ein großer Vorteil von vi ist, dass mehrere Befehle nacheinander ohne gleichzeitiges Betätigen der Alt-, Strg- oder sonstiger Modifikator-Tasten abgesetzt werden können. Für den geübten Benutzer bedeutet das eine erhebliche Steigerung der Arbeitsgeschwindigkeit.

[bearbeiten] Dateien aneinander fügen

Mit dem Befehl copy und der Option /b werden unter Microsoft Windows mehrere Dateien aneinander gefügt. Das folgende Beispiel fügt die Dateien raw-hd1. img und raw-hd2.img an die Datei raw-hd3. img.

C:\> copy /b raw-hd1.img+raw-hd2.img raw-hd3.img

Unter Unix/Linux ist das Zusammenfügen von Dateien mit dem Befehl cat möglich. cat dient zur Ausgabe von Datei-Inhalten. In diesem Beispiel werden die Inhalte von raw-hd1. img und raw-hd2.img nicht ausgegeben, sondern nacheinander in die Datei raw-hd3. img umgeleitet. Umleitungen werden mit dem Zeichen > definiert. Das Prinzip der Ein-/Ausgabeumlenkung findet man auch bei Microsoft Windows und DOS.

~$ cat raw-hd1.img raw-hd2.img > raw-hd3.img

[bearbeiten] Komprimierung und Archivierung

Als Komprimierung bezeichnet man Verfahren zur Reduktion des Speicherbedarfs von Daten. Die Datenmenge wird reduziert, indem eine günstigere Repräsentation bestimmt wird. Man spricht von einer verlustfreien Kompression wenn die kodierten Daten nach Anwendung der entsprechenden Dekodiervorschrift exakt denen des Originals entsprechen.

[bearbeiten] ZIP

Das ZIP-Dateiformat ist ein offenes Format zur komprimierten Archivierung von Dateien. Die Archiv-Dateien tragen üblicherweise die Endung .zip. Im ZIP-Format sind die Dateien einzeln komprimiert. Es ist weiterhin möglich, das Archiv auf mehrere Dateien zu verteilen oder selbst extrahierende Dateien anzulegen. Nicht jedes Kompressionsprogramm, dessen Name die Zeichenkette "ZIP" enthält, arbeitet mit dem ZIP-Dateiformat. Unter Microsoft Windows wird das ZIP-Format von dem Programm 7-Zip unterstützt (siehe unten). Unter Unix/Linux ermöglicht der Befehl zip das Komprimieren im ZIP-Format. Im folgenden Beispiel wird ein ZIP-Archiv mit dem Namen MeinArchiv.zip angelegt, dass alle Dateien mit der Datei-Endung .img komprimiert. Der Dateiname des Archivs wird automatisch mit der Endung .zip erweitert.

~$ zip MeinArchiv *.img

Entpackt wird dieses Archiv mit dem Befehl unzip.

~$ unzip MeinArchiv.zip

[bearbeiten] GZIP

Das Kompressionsprogramm gzip, ist für fast alle Betriebssysteme verfügbar, bietet einen guten Kompressionsgrad und ist frei von patentierten Algorithmen. Die übliche Datei-Endung für gzip-komprimierte Dateien ist .gz. Da gzip nur einzelne Dateien komprimiert, werden Sammlungen mehrerer Dateien üblicherweise zunächst mit tar (siehe unten) zusammengefasst, bevor sie mit gzip komprimiert werden. Solche Archive tragen die doppelte Endung .tar.gz oder auch einfach .tgz. Unter Unix/Linux ist die Komprimierung mit gzip heute Standard, weil sie für viele Aufgaben einen guten Kompromiss aus hoher Geschwindigkeit und guter Datenreduktion ermöglicht. Unter Unix/Linux komprimiert das folgende Beispiel die Datei Platte.img.

~$ gzip Platte.img

Das Dekomprimieren erfolgt mit gunzip.

~$ gunzip Platte.img.gz

Alternativ ist die Dekomprimierung mit gzip -d möglich.

~$ gzip -d Platte.img.gz

[bearbeiten] bzip2

Das frei verfügbare Komprimierungsprogramm bzip2 dient zur verlustfreien Kompression von Dateien. Die Kompression mit bzip2 ist oft effizienter aber langsamer als die Kompression mit gzip. Mit bzip2 komprimierte Dateien werden durch die Dateiendung .bz2 gekennzeichnet. tar-Dateien, die mit bzip2 komprimiert wurden, haben üblicherweise die Erweiterung .tar.bz2, .tbz oder auch .tbz2. In diesem Beispiel wird die Datei Platte.img komprimiert.

~$ bzip2 Platte.img

Das Dekomprimieren erfolgt mit bzip2 -d.

~$ bzip2 -d Platte.img.bz2

[bearbeiten] tar

tar ist der Name eines im Unix-Umfeld geläufigen Archivierungsprogramms. Der Name wurde aus tape archiver (Bandarchivierer) gebildet, da mit dem Programm ursprünglich Daten auf Bandlaufwerken gesichert wurden. tar bietet die Möglichkeit, Dateien sequenziell in eine einzige Datei zu schreiben, beziehungsweise Dateien aus selbiger wieder herzustellen. Die entstehende Datei trägt die Endung .tar und wird auch als Tarball (Teerklumpen) bezeichnet. Unter Microsoft Windows können Tarballs mit 7-Zip (siehe unten) bearbeitet werden. Viele gängige Archivprogramme können tar-Archive zumindest entpacken. Oft werden tar-Dateien mit gzip oder bzip2 komprimiert. Ein komprimierter Tarball trägt üblicherweise die Endung .tar.gz, .tgz, .tar.Z, .tar.bz2, .tbz2 oder .tbz. Unter Unix/Linux wird mit dem folgenden Befehl ein Archiv mit dem Inhalt des Verzeichnisses /etc angelegt. Die Option c bewirkt das Anlegen des Archivs, v dient der Anzeige der archivierten Dateien und f definiert mit der nachfolgenden Option den Datei-Namen des Archivs. Am Ende wird das Verzeichnis angegeben, das man archivieren will.

~$ tar cvf etc.tar /etc/

Anschließend kann dieses Archiv mit gzip komprimiert werden.

~$ gzip etc.tar

Neuere Versionen von tar unterstützen das Komprimieren mit gzip (Option z). Das heißt, die beiden vorherigen Befehle werden mit einem Befehl abgearbeitet:

~$ tar czvf etc.tar.gz /etc/

Neuere Versionen von tar unterstützen auch das Komprimieren mit bzip2 (Option j).

~$ tar cjvf etc.tar.bz2 /etc/

Zum Entpacken von tar-Archiven ist die Option x notwendig.

~$ tar xvf etc.tar

Liegt ein mit gzip komprimiertes tar-Archiv vor, ist dieses vorher zu dekomprimieren.

~$ gunzip etc.tar.gz

Neuere Versionen von tar unterstützen auch das Dekomprimieren mit gzip (Option z).

~$ tar xzvf etc.tar.gz

Neuere Versionen von tar unterstützen auch das Dekomprimieren mit bzip2 (Option j).

~$ tar xjvf test.tar.bz2

Die Option -C ermöglicht das Entpacken des Archivs in ein anderes Verzeichnis.

~# tar xzvf qemu-0.9.1-i386.tar.gz -C /

Zum Anzeigen des Inhalts eines tar-Archivs, dient die Option t.

~$ tar tvf etc.tar

Das Programm tar unterstützt keine effektive Verwaltung von Sparse-Dateien. Das heißt, Sparse-Dateien werden beim Archivieren mit tar vergrößert.

[bearbeiten] 7-Zip

7-Zip ist ein freies Kompressionsprogramm für Microsoft Windows. Mit 7-Zip lassen sich komprimierte (Archiv-)Dateien der Formate 7z (eigenes neues Format), zip, gzip, bzip2 und tar anlegen. Die grafische Benutzeroberfläche fügt sich dank Drag & Drop und Kontext-Menüs nahtlos in Microsoft Windows ein. Zur Installation lädt man die Installationsdatei von der Website http://www.7-zip.org herunter und startet diese. Es wird bei der Installation nach dem Ziel-Ordner (C:\Programme\7-Zip) gefragt. Nach der Installation kann der 7-Zip File Manager über das Start-Menü, Programme gestartet werden. Mit einem Klick der rechten Maus-Taste auf ein oder mehrere Dateien oder Verzeichnisse fügt man diese über den Punkt 7-Zip zu einem Archiv hinzu. Im anschließenden Dialog wird nach der Art der Komprimierung und dem Datei-Namen des Archivs gefragt. Um ein Archiv zu entpacken, ist mit einem Klick der rechten Maus-Taste auf dieses Archiv das Kontext-Menü zu öffnen. Im Punkt 7-Zip stehen Optionen zum Entpacken des Archiv zur Verfügung. 7-Zip fügt sich auch in den Datei-Explorer von Microsoft Windows ein. Es lassen sich dort die gleichen Funktionen mit der rechten Maus-Taste bedienen. 7-Zip gibt es auch als Kommandozeilentool für Linux. Die Installation ist unter Debian und Ubuntu mit einer Befehlszeile erledigt.

~$ sudo apt-get install p7zip

Ein 7Zip-Archiv wird wie folgt entpackt.

~$ p7zip -d archiv.7z

[bearbeiten] RAR

RAR ist ein Algorithmus und Dateiformat zur Komprimierung von Dateien. Dabei werden mehrere Dateien zusammen komprimiert. Dadurch können auch Redundanzen zwischen den Dateien eliminiert werden. RAR unterstützt die Verschlüsselung der komprimierten Daten. Die Endung dieser Archivdateien ist üblicherweise .rar. Da die Entpackroutinen frei verfügbar sind, wird das Dekomprimieren von RAR-Archiven inzwischen von nahezu jedem Multiformat-Packprogramm unterstützt. Der Kompressionsalgorithmus ist jedoch nicht freigegeben. Offiziell unterstützen deshalb nur die vom RAR-Hersteller (http://www.rarlab.com) veröffentlichten Programme WinRAR, RAR für DOS und RAR für Linux diese Funktionalität. Diese Tools können von der Website http://www.winrar.de heruntergeladen und installiert werden. Unter Debian und Ubuntu ist die Installation mit einer Befehlszeile erledigt.

Host ~$ sudo apt-get install rar

Unter Unix/Linux dekomprimiert das folgende Beispiel die Datei archiv.rar.

Host ~$ rar e archiv.rar

[bearbeiten] Benutzer- und Rechteverwaltung

[bearbeiten] Unix/Linux

Unix war von Anfang an ein Multi-User-Betriebssystem. Das bedeutet, dass mehrere Benutzer gleichzeitig am Rechner arbeiten können. Es ist möglich, anderen Benutzern zu erlauben oder zu verbieten, auf bestimmte Dateien zuzugreifen. Benutzer sind Gruppen zugeordnet, denen kollektiv bestimmte Zugriffsrechte gewährt werden. Eine besondere Rolle spielt der Benutzer root (Systemadministrator), der als einziger Benutzer vollen Zugriff auf das System hat. Jeder Benutzer hat typischerweise sein eigenes Heimatverzeichnis, in welchem nur er und der Benutzer root Dateien anlegen und löschen kann. Auf Unix-Dateisystemen besitzt jede Datei Rechte, die sich auf drei Arten verteilen:

Jeder der drei Benutzer-Klassen kann über ein oder mehrere der folgenden Rechte verfügen:

Die Rechte der drei Benutzer-Klassen werden hintereinander notiert, wobei das Recht jeder Klasse durch ein Zeichen-Triplet repräsentiert wird. An Stelle des ersten Zeichens steht in diesem Triplet ein r, wenn das Lesen-Bit gesetzt ist. An der zweiten Stelle steht ein w, wenn Schreiben erlaubt ist. An der dritten Stelle steht x, wenn Ausführen erlaubt ist. Mit dem Befehl ls -l lassen sich die Rechte von Dateien auflisten. In diesem Beispiel werden die Rechte an der Datei /var/log/messages angezeigt.

~$ ls -l /var/log/messages
-rw-r----- 1 root adm 44618 2007-07-18 16:07 /var/log/messages

Die Datei gehört dem Benutzer root und der Gruppe adm. Der Benutzer root darf diese Datei lesen und schreiben (rw). Die Gruppe adm darf diese Datei nur lesen (r). Alle anderen dürfen diese Datei weder lesen noch ändern. Unter Unix/Linux werden mit dem Befehl chmod die Datei-Rechte verändert. Diese Änderungen lassen sich nur von dem Besitzer der Datei oder von dem Benutzer root durchführen. In den folgenden Beispiel ist die Datei Platte.img für alle lesbar aber nur der Eigentümer, hier robert, darf diese Datei verändern.

~$ ls -l Platte.img
-rw-r--r-- 1 robert users 24264704 2007-07-10 20:04 Platte.img

Durch die Option g+w wird mit dem Befehl chmod auch der Gruppe (g), hier users, das Recht zum Schreiben (+w) erlaubt.

~$ chmod g+w Platte.img

Diese Rechte können mit dem Befehl ls -l aufgelistet werden.

~$ ls -l Platte.img
-rw-rw-r-- 1 robert users 24264704 2007-07-10 20:04 Platte.img

Um allen, die nicht in der Gruppe users sind, die Lese-Rechte (r) zu entziehen, ist folgender Befehl anzuwenden.

~$ chmod o-r Platte.img
~$ ls -l Platte.img
-rw-rw---- 1 robert users 24264704 2007-07-10 20:04 Platte.img

Es lassen sich die Rechte mit u für den Eigentümer, mit g für die Gruppe und mit o für alle anderen Benutzer einstellen. Diese Optionen lassen sich auch kombinieren. Folgender Befehl vergibt die Rechte zum Lesen und Schreiben an den Benutzer und die Gruppe.

~$ chmod ug+rw Platte.img

Ob eine Datei unter Unix/Linux ausführbar ist, hängt nicht von ihrem Datei-Typ ab. Es sind die jeweiligen Ausführungsrechte für Benutzer, Gruppe und Andere notwendig. Die Ausführungsrechte werden jeweils durch ein x gekennzeichnet. Um beispielsweise ein selbst geschriebenes Shell-Skript für alle ausführbar zu machen ist folgender Befehl anzuwenden.

~$ chmod +x MeinSkript.sh

Verbreitet ist auch die Notation der Dateirechte in der Oktal-Schreibweise. Jeweils eine Oktal-Zahl repräsentiert dabei eine Benutzerklasse, in der Reihenfolge Eigentümer, Gruppe, Sonstige. Eine Ziffer setzt sich dabei als Summe aus den drei Rechten zusammen: 1 für Ausführen, 2 für Schreiben und 4 für Lesen. Um die Rechte für Schreiben und Lesen zu vergeben, ist die 6 (2+4) anzuwenden. Folgendes Beispiel gibt dem Benutzer, der Gruppe und allen Anderen Schreib- und Lese-Rechte.

~$ chmod 666 Platte.img

Unter Unix/Linux werden mit dem Befehl chown die Besitzer- und Gruppen-Zugehörigkeiten geändert. Um eine Datei zu verschenken ist folgender Befehl anzuwenden.

~# chown andrea:familie Platte.img

Die Datei gehört dem Benutzer andrea und der Gruppe familie. Um die Eigentumsverhältnisse von kompletten Verzeichnisbäumen mit Unterverzeichnissen zu ändern, dient die Option -R.

~# chown -R robert /home/testus

Das Kommando su dient unter Unix/Linux dazu, die Benutzer-ID zu wechseln. Die Syntax ist folgende.

~$ su - Benutzername

Wird su -ohne Benutzernamen aufgerufen, wird nach einer Passwortabfrage zum Benutzer root gewechselt. Der Bindestrich nach dem Befehl su bewirkt, dass ein kompletter Login-Vorgang durchgeführt wird. Das heißt, es werden das komplette Profil des neuen Benutzers eingelesen und die Umgebungsvariablen neu gesetzt. Mit dem Befehl exit gelangt man zu dem ursprünglichen Benutzer und seinen Rechten zurück.

~$ su - 
Password: *****
~ # exit
~$

sudo ist ein Befehl unter Unix/Linux, der dazu benutzt wird, Prozesse mit den Rechten eines anderen Benutzers, beispielsweise des Users root zu starten. Um ein Befehl mit sudo zu starten ist sudo gefolgt von dem Befehl einzugeben.

~$ sudo chown -R robert /home/testus
Password: ****

Es kann mit der Option -p der Text für die Passwort-Abfrage geändert werden.

~$ sudo -p "Passwort eingeben: " chown -R robert /home/testus
Bitte Passwort eingeben: *****

Unter Mac OS X und Ubuntu ist der root-Account standardmäßig deaktiviert, statt su wird das Kommando sudo empfohlen.

[bearbeiten] Microsoft Windows

Ab Microsoft Windows 2000 ermöglicht der Befehl runas Programme mit den Rechten eines anderen Benutzers auszuführen. Dabei ist das Kennwort des anderen Benutzers erforderlich. Es können auch im Windows Explorer bestimmte Dateitypen (.exe, .msc) mit den Rechten eines anderen Users gestartet werden. Dies ist durch Drücken der Umschalttaste und der rechten Maus-Taste möglich. Im erscheinenden Kontext-Menü ist Ausführen als... auszuwählen.

[bearbeiten] Speichermedien

[bearbeiten] dd, dd_rescue und dcfldd

Das klassische Unix-Tool dd kopiert Daten-Ströme zwischen Blockgerätedateien und/oder regulären Dateien. Es können ganze Partitionen, Festplatten, Disketten und CD/DVDs Byte für Byte kopiert werden. Es werden nicht nur die vorhandenen Dateien überspielt, sondern es wird ein genaues Abbild generiert. dd ist auf fast allen Unix-/Linux-Versionen verfügbar und es gibt Versionen für Microsoft Windows. Es kann dd unter Cygwin angewendet werden. Es ist möglich dd als separates Tool unter Microsoft Windows zu installieren. Es ist von der URL http://www.chrysocome.net/downloads/dd-0.5.zip herunterzuladen, zu entpacken und direkt zu starten. Die Option if beschreibt die einzulesende Datei. Die Option of beschreibt die zu schreibende Datei. Das folgende Beispiel importiert unter Linux eine eingelegte aber nicht eingebundene Diskette.

~# dd if=/dev/fd0 of=floppy.img

Anschließend kann nach einem Disketten-Wechsel dieses Image auf eine andere Diskette kopiert werden.

~# dd if=floppy.img of=/dev/fd0

Wird ein Datenstrom aus lauter Nullen mit einer definierten Länge in eine Datei umgeleitet, entsteht ein raw-Image. Der folgende Befehl erzeugt ein Image im raw-Format mit einer Größe von einem GByte. Es werden dabei aus dem Device /dev/zero Nullen geholt und in die Datei Platte.img geschrieben. Die Blockgröße ist mit 1024 KB vorgegeben. Die count-Option gibt dabei an wie viele dieser Blöcke geschrieben werden sollen. Zur Erzeugung einer Sparse-Datei wird die Option seek benötigt, der das Ende der Datei bestimmt. Dazwischen werden keine Blöcke geschrieben. Im folgenden Beispiel wird ein Block geschrieben (count=1) und das Datei-Ende auf 1024 Blöcke gesetzt.

~$ dd if=/dev/zero of=Platte.img bs=1024k count=1 seek=1024
1+0 records in
1+0 records out
1048576 bytes transferred in 0.002445 seconds (428871465 bytes/sec)

dcfldd (http://dcfldd.sourceforge.net) ist eine erweiterte Version von dd. Entwickelt wird es von der U.S. Department of Defense Computer Forensics Lab. Es bietet zusätzliche Funktionen für die Computer-Forensik und Sicherheit:

Die Installation ist unter Ubuntu mit einer Befehlszeile erledigt.

~$ sudo apt-get install dcfldd

Der folgende Befehl liest 5 GByte von /dev/sda und schreibt die Ausgabe in die Dateien sda.raw.aa, sda.raw.ab, sda.raw.ac, sda.raw.ad und sda.raw.ae. Dabei werden MD5- und sha256-Hashes berechnet und in die Dateien md5.txt und sha256.txt geschrieben. Die Block-Größe wird auf 512 Bytes gesetzt. Bei Lesefehlern werden Nullen geschrieben.

~$ dcfldd if=/dev/sda  hash=md5,sha256 hashwindow=5G md5log=md5.txt   \
        sha256log=sha256.txt hashconv=after bs=512 conv=noerror,sync  \ 
        split=1G splitformat=aa of=sda.raw 

Mit dcfldd ist es möglich gleichzeitig zwei Images anzulegen.

~$ dcfldd if=/dev/sda of=image1.img of=image2.img

Bei defekten Speichermedien versagt dd und es ist dd_rescue anzuwenden. Das Tool dd_rescue ist speziell für die Datenrettung entwickelt worden. dd_rescue hat gegenüber dd zwei Vorteile. Zum einen bricht dd_rescue den Kopiervorgang bei Lesefehlern nicht ab, sondern schreibt anstelle des unlesbaren Blocks einen gleich großen Bereich Nullen in die Zieldatei. Damit erhält man am Ende ein vollständiges Abbild der Partition, in dem nur die unlesbaren Bereiche durch Nullen ersetzt sind. Zum anderen arbeitet dd_rescue mit zwei Blockgrößen für die Lesezugriffe: Wenn kein Fehler auftritt, werden große Blöcke gelesen (Vorgabe: 16384 Byte). Nach einem Fehler geht es mit kleineren Blöcken weiter (Vorgabe: 512 Byte). Beide Werte verändert man über Optionen. Im Gegensatz zu dd kann dd_rescue nicht in die Standardausgabe und in eine Pipe schreiben. Installiert wird dieses Tool entweder als Paket ddrescue oder man lädt es von der Website http://www.garloff.de/kurt/linux/ddrescue/ herunter. Hier als Beispiel die Installation unter Ubuntu.

~$ sudo apt-get install ddrescue

Beim Aufruf von dd_rescue sind die dd-typischen Optionen if= und of= nicht nötig. Die erste und zweite Option geben Quelle und Ziel an. Während das Programm arbeitet, zeigt es an, wie weit es schon fortgeschritten ist. Bei Lesefehlern wird eine Warnung ausgegeben. In diesem Beispiel wird mit dd_rescue eine Diskette importiert.

~$ dd_rescue /dev/fd0 bla.img

[bearbeiten] Partitionierung

Vereinfacht gesagt ist Partitionierung die Unterteilung eines physikalischen Datenträgers in verschiedene logische Bereiche. Viele Betriebssysteme erwarten zumindest eine Partition pro Datenträger. Unix-Derivate brauchen mindestens eine Partition für das Wurzelverzeichnis (root). Eine zusätzliche Swap-Partition ist sinnvoll. Weitere Partitionen erhöhen die Sicherheit und vereinfachen die Administration. Unter BSD-Betriebssystemen wird die Unterteilung der Festplatte Slices genannt. Da die Verwendung von Partitionen beziehungsweise Slices bei diversen Betriebssystemen unterschiedlich ist, weichen die Programme zum Partitionieren zwischen den Betriebssystemen ab. Image-Dateien müssen nicht unbedingt partitioniert werden. Sie enthalten in diesem Fall nur eine Partition. Viele Partitionierungsprogramme werden fdisk genannt. Die fdisk-Version von Linux ist dialogbasiert und bietet viele Optionen. Zum Anzeigen aller verfügbaren Partitionen dient der Befehl fdisk -l.

~# fdisk -l

Zusätzlich kann die Option -u angegeben werden. Dadurch wird die Größe der Partitionen nicht in Zylindern, sondern in Sektoren angegeben.

~# fdisk -lu

Zu beachten ist, dass alle Daten auf dem Datenträger durch das Partitionieren verloren gehen! Um einen Datenträger zu partitionieren wird fdisk gefolgt von dem Namen des Datenträgers aufgerufen. Ist der Datenträger eine reale Festplatte, ist deren Device-Name anzugeben. Unter Linux wird mit /dev/hda die erste IDE-Platte bezeichnet. /dev/hdb kennzeichnet die zweite IDE-Platte. SCSI-Platten werden unter Linux mit /dev/sda, /dev/sdb und so weiter symbolisiert. In diesem Beispiel soll die zweite IDE-Festplatte (/dev/hdb) partitioniert werden.

~# fdisk /dev/hdb1

Soll eine virtuelle Festplatte partitioniert werden, ist der Name dieser Image-Datei anzugeben. Die Option -C ist hier notwendig, um fdisk eine Anzahl von Zylindern vorzugeben. Obwohl die Anzahl der Zylinder bei einer Image-Datei keine Rolle spielt, benötigt fdisk diese Angabe.

~# fdisk -C 130 Platte.img

Die Befehle von fdisk listet m auf. Mit n wird eine neue Partition angelegt.

Command (m for help):          n
Command action
   e   extended
   p   primary partition (1-4) p

Ab vier Partitionen muss eine erweiterte (extended) Partition angelegt werden. Hier wird nur eine Partition angelegt. Es ist p für eine primäre Partition anzugeben. Die Nummer der Partition ist 1.

Partition number (1-4): 1

Die Größe der Partition wird durch den ersten und letzten Zylinder angegeben. Bei einer Partition können die Vorgabewerte übernommen werden.

First cylinder (1-130, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130): 130
Using default value 130

Zur Kontrolle lässt man sich die Partitionstabelle mit p anzeigen.

Command (m for help):            p
Disk Platte.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
     Device Boot      Start         End      Blocks   Id  System
Platte.img1               1         130     1044193+  83  Linux

Der System-Typ der Partition ist per Default auf Linux gesetzt. Um zum Beispiel den System-Typ auf FAT32 zu ändern, sind folgende Schritte notwendig.

Command (m for help):            t
Selected partition               1
Hex code (type L to list codes): L

Mit dem Befehl L lässt man sich alle System-Typen auflisten. FAT32 ist mit c auswählbar.

Hex code (type L to list codes): c
Changed system type of partition 1 to c (W95 FAT32 (LBA))

Zur Kontrolle lässt man sich wieder die Partitionstabelle mit p anzeigen.

Command (m for help):            p
Disk Platte.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
     Device Boot   Start     End    Blocks   Id  System
Platte.img1            1     130   1044193+   c  W95 FAT32 (LBA)

Mit w schreibt man die Änderungen auf den Datenträger und beendet das Programm.

Command (m for help):            w

Komfortabel wird das Partitionieren vom Gnome Partition Editor unterstützt. Der Gnome Partition Editor (Live-CD GParted) ist kein Kommandozeilen-Tool, sondern eine komplette Linux-Distribution, die das Programm Gnome Partition Editor enthält. Damit ist man unabhängig von den Partitionierungsprogrammen der einzelnen Betriebssysteme. GParted gibt es als Live-CD und als Live-USB. Für die Live-CD lädt man die ISO-Datei der Live-CD von der URL http://gparted.sourceforge.net/index.php herunter und bootet dessen System. Es können Partitionen und darin liegende Dateisysteme erzeugt, vergrößert, verkleinert, verschoben, kopiert und überprüft werden. Damit schafft man beispielsweise Platz für weitere Betriebssysteme, indem man die bisher vorhandenen Partitionen verkleinert. Weiterhin ist es möglich, Partitionen innerhalb einer Festplatte umzusortieren oder auf andere Festplatten zu verschieben.

Nach dem Start von der Live-CD ist im Boot-Menü die voreingestellte Auswahl GParted-liveCD (auto-configuration) mit Return zu bestätigen. Anschließend wird nach dem Tastatur-Layout gefragt. Für ein deutsches Layout ist 10 einzugeben. In der nachfolgenden Sprachauswahl ist auch die 10 für Deutsch einzugeben. Nach dem Hochfahren erscheint der Gnome Partition Editor und zeigt die Partitionen und die freien Bereiche der Festplatten an. Im Gnome Partition Editor wählt man in der Pull-Down-Liste (rechts-oben) die Festplatte (/dev/hda) aus. Anschließend klickt man auf das Icon New, um eine neue Partition anzulegen. Wenn nur eine Partition angelegt werden soll, sind die Vorgabe-Werte für die Größe einfach zu übernehmen. In diesem Beispiel soll als Dateisystem FAT32 verwendet werden. Im Gnome Partition Editor klickt man auf das Icon Apply, um die Änderungen auf die Festplatte zu schreiben. Beendet wird die GParted-Live-CD mit einem Klick auf das Icon Exit.

[bearbeiten] Einhängen von Dateisystemen

Beim Mounten oder Einhängen wird ein Dateisystem dem Betriebssystem an einer bestimmten Stelle (Mount-Point) zur Verfügung gestellt. Meist geschieht das Einbinden automatisch beim Booten. Wechselmedien werden oft bei Zugriff durch einen Automounter automatisch eingebunden. Manuelles Mounten kann nach dem Einlegen einer Daten-CD beziehungsweise -Diskette oder dem Anschließen eines USB-Sticks nötig sein. Erst danach sind die Daten über den Mount-Point verfügbar. Bei Microsoft Windows ist dieser ein weiterer Laufwerksbuchstabe. Bei Mac OS X werden Wechselmedien vom Automounter unter /Volumes eingebunden und erscheinen auf dem Desktop. Unter Linux wird oft in ein Unterverzeichnis von /mnt oder /media eingebunden.

Das Gegenteil von Mounten ist Aushängen. Dies geschieht unter der Gewährleistung, dass keine Dateien von dem Dateisystem verwendet werden und dass alle Daten auf das Dateisystem geschrieben wurden. Wird ein Dateisystem ohne Aushängen entfernt, zum Beispiel durch das Abziehen eines USB-Sticks, kann es zu Datenverlust kommen. Unter Unix/Linux wird die zweite Partition auf der primären Festplatte am ersten ATA-Port mit folgendem Kommando manuell eingehängt:

~# mount /dev/hda2 /mein/verzeichnis

Ein Aushängen erfolgt durch den Befehl umount. Hier als Beispiel die Angabe des Devices.

~# umount /dev/hda2 

Hier als Beispiel die Angabe des Mount-Points.

~# umount /mein/verzeichnis 

Eine Liste der gemounteten Dateisysteme gibt der Befehl mount ohne Optionen aus:

~$ mount 

Mit der Option -t kann der Typ des Datei-Systems angegeben werden. Um beispielsweise auf ein NTFS-Image zuzugreifen, dient die Option -t ntfs.

~# mount -t ntfs ntfs.img /mnt 

Auch eine Datei kann über das Loop-Device wiederum als Dateisystem eingebunden werden, am häufigsten findet dies bei ISO-Images von CD/DVDs Verwendung:

~# mount -r -t iso9660 -o loop DVD.iso /mein/verzeichnis 

Die Zuordnung der Dateisysteme zu den Device-Namen kann sich im Betriebssystem ändern. Deshalb ist günstiger ein Dateisystem mit dessen eindeutiger UUID (Universally Unique IDentifier) einzubinden. Zuerst ist mit dem Befehl blkid die UUID zu ermitteln.

~# blkid /dev/hda2
/dev/hda2: UUID="571bba46-083f-45a4-abc6-f15822718453" SEC_TYPE="ext2" TYPE="ext3" 

Der Mount-Befehl wird wie folgt angewendet.

~# mount UUID=571bba46-083f-45a4-abc6-f15822718453 /mein/verzeichnis

[bearbeiten] Füllstand der Partitionen ermitteln

Unter Unix/Linux wird der Füllstand der eingebundenen Partitionen mit dem Befehl df ermittelt. Die Option -h verwendet für die Größenangaben KByte, MByte und GByte. Dies dient der besseren Lesbarkeit.

$ df -h
Dateisystem            Größe Benut  Verf Ben% Eingehängt auf
/dev/hda3              54G  8,0G   46G  15% /
/dev/hda1             111M   69M   36M  66% /boot

[bearbeiten] Netzwerk-Konfiguration und Test

Heutige Netzwerke basieren meist auf den Protokollen TCP/IP. Die Abkürzung TCP/IP steht für das Transmission Control Protocol (TCP) und das Internet Protocol (IP). TCP/IP ist ausgereift und besitzt ausgezeichnete Routing-Funktionen. Diese Protokolle sind die Basis für das Internet. Deren Anwendungsprotokolle, wie zum Beispiel HTTP, FTP und SSH, setzen TCP/IP voraus. Neben TCP/IP gibt es andere Netzwerk-Protokolle, wie zum Beispiel NetBIOS. NetBIOS wird noch gelegentlich in der DOS/Windows-Welt verwendet. Unter Unix/Linux dient zur manuellen Netzwerk-Konfiguration das Programm ifconfig. Leider sind dessen Optionen bei den Unix/Linux-Derivaten nicht einheitlich. Um sich alle Netzwerk-Interfaces anzeigen zu lassen, ruft man ifconfig ohne Optionen auf.

~# ifconfig

Bei einigen Unix-Versionen ist die Option -a anzuhängen.

~# ifconfig -a

Sollen Informationen nur zu einem Netzwerk-Interface aufgelistet werden, ist der Name des Netzwerk-Interfaces mit anzugeben. In diesem Beispiel werden Informationen zu dem Netzwerk-Interface eth0 angezeigt. Die wichtigsten Informationen sind, dass es dieses Interface überhaupt gibt und welche IP-Adresse es hat.

~# ifconfig eth0
eth0 Protokoll:Ethernet  Hardware Adresse 00:0B:6B:69:E8:63
     inet Adresse:192.168.1.10 Bcast:192.168.1.255
     Maske:255.255.255.0
     inet6 Adresse: fe80::20b:6aff:fe69:e883/64 
     Gültigkeitsbereich:Verbindung
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:330 errors:0 dropped:0 overruns:0 carrier:0
     Kollisionen:0 Sendewarteschlangenlänge:1000
     RX bytes:0 (0.0 b)  TX bytes:42678 (41.6 KiB)
     Interrupt:201 Basisadresse:0xbc00

Um einem vorhandenen Netzwerk-Interface eine IP-Adresse, zum Beispiel 192.168.1.15, zuzuordnen, ist folgender Befehl unter Linux notwendig.

~# ifconfig eth0 192.168.1.15 netmask 255.255.255.0 up

Die Option eth0 kennzeichnet die erste Netzwerk-Karte im Rechner. Danach wird die IP-Adresse angegeben. Diese IP-Adresse darf im Netz nicht vergeben sein. Die Option netmask definiert die Netz-Maske. Die Option up bewirkt, dass das Netzwerk-Interface aktiviert wird. Um ein Netzwerk-Interface zu deaktivieren, ist die Option down anzuwenden.

~# ifconfig eth0 down

Unter Microsoft Windows zeigt der Befehl ipconfig/all Informationen zu den Netzwerk-Interfaces an.

C:\> ipconfig /all

Mit ipconfig /renew werden die IP-Adressen aller Netzwerkadapter erneuert. Dies ist nur sinnvoll, wenn die Netzwerkkonfiguration per DHCP erfolgt. Mit ipconfig /release werden alle Verbindungen freigegeben.

Mit dem Befehl ping wird überprüft, ob ein bestimmtes Netzwerk-Interface in einem Netzwerk erreichbar ist. ping steht unter vielen Betriebssystemen zur Verfügung. Als Option wird der DNS-Name oder die IP-Adresse des zu testenden Netzwerk-Interfaces angegeben. In diesem Beispiel wird unter Linux die Verbindung zum Host qemu-buch.de mit ping getestet.

~ $ ping qemu-buch.de
PING qemu-buch.de (85.214.74.183) 56(84) bytes of data.
64 bytes from tr-e.de (85.214.74.183): icmp_seq=1 ttl=53 time=9.0 ms
64 bytes from tr-e.de (85.214.74.183): icmp_seq=2 ttl=53 time=1.6 ms

An den Antworten ist zu erkennen, dass der Host erreichbar ist. Wenn die Gegenstelle nicht antwortet, heißt dies aber nicht, das sie nicht erreichbar ist. Der Befehl ping verwendet das Internet Control Message Protocol (ICMP). Es dient in Netzwerken zum Austausch von Informationen und Fehlermeldungen über das Internet-Protokoll (IP). Es wird von jedem Router und jedem Rechner erwartet, ICMP zu unterstützen. Es gibt Rechner, die sich tarnen oder Firewalls, die dieses Protokoll nicht durchlassen. Beispielsweise blockt QEMU im User Mode Network Stack dieses Protokoll. Das heißt, ping funktioniert nicht in einer QEMU-Instanz. Man probiert in diesem Fall ein telnet www.qemu-buch.de 80. Nach dem Prompt des Webservers tippt man GET /index.php ein und bekommt eine Webseite in raw-Format.

[bearbeiten] Netzwerkdienste und -Clients

[bearbeiten] SSH

Secure Shell (ssh) ist sowohl ein Programm als auch ein Netzwerk-Protokoll, mit dessen Hilfe man sich über eine verschlüsselte Netzwerkverbindung auf einem entfernten Computer einloggen kann. SSH ermöglicht eine sichere, authentifizierte und verschlüsselte Verbindung zwischen zwei Rechnern. Mit OpenSSH ist auch eine freie Implementierung von SSH vorhanden, die mittlerweile einen großen Verbreitungsgrad erreicht hat. SSH-Implementationen waren ursprünglich nur unter Unix verfügbar, mittlerweile wurden jedoch sowohl SSH-Server als auch Clients für andere Plattformen programmiert. Unter Cygwin gibt es einen SSH-Server für Microsoft Windows, der auf OpenSSH basiert. Dieser ermöglicht das Einloggen per SSH auf einer Microsoft Windows-Maschine. Ein weiter SSH-Server für Microsoft Windows ist freeSSHd (http://www.freesshd.com). Um sich zum Beispiel als Systemadministrator (root) auf den Rechner mit dem Namen bibo mit ssh einzuloggen, dient folgender Befehl.

~$ ssh root@bibo

Die Option -X ermöglicht das X-Forwarding. Dabei werden die grafischen Ausgaben des Rechners, auf den man sich eingeloggt hat, auf den eigenen Rechner umgeleitet.

~$ ssh -X root@bibo

Normalerweise lauscht ein SSH-Server auf dem Port 22. Dies kann verändert werden. Um sich mit dem SSH-Client auf einem anderen Port zu verbinden, ist die Option -p gefolgt von der Port-Nummer anzugeben.

~$ ssh -p 12345 root@bibo

[bearbeiten] putty

Download: http://www.putty.nl/download.html

Für Microsoft Windows steht mit putty ein SSH-Client zur Verfügung. Dazu lädt man die Datei putty.exe herunter und startet diese. Um sich zum Beispiel als Systemadministrator (root) auf dem Rechner mit dem Namen bibo mit SSH einzuloggen, ist folgende Konfiguration einsetzbar. Möglicherweise muss in der Einstellung der Windows-Firewall auf dem Host dieser Port freigegeben werden.

Host Name: bibo
Port:        22
Protocol:   ssh

[bearbeiten] SCP

Secure Copy (SCP) ist ein Protokoll sowie ein Programm zur verschlüsselten Übertragung von Daten zwischen zwei Computern über ein Netzwerk. Es gewährleistet Vertraulichkeit, Integrität und Authentizität der übertragenen Daten. Dazu nutzt es das Protokoll SSH. Mit OpenSSH steht ein freier Server sowie ein freier Client für SCP zur Verfügung. Das Programm scp funktioniert in Grundzügen wie der Kopie-Befehl cp. Im folgenden Beispiel werden von dem Rechner mit dem Namen bibo die Datei /etc/passwd in das aktuelle Verzeichnis kopiert.

~ $ scp root@bibo:/etc/passwd .

In diesem Beispiel wird die Datei Platte.img auf den entfernten Rechner mit dem Namen bibo in das Verzeichnis /tmp kopiert.

~ $ scp Platte.img root@bibo:/tmp

[bearbeiten] WinSCP

Download: http://winscp.net/eng/docs/lang:de

WinSCP ist ein grafischer SCP-Client für Microsoft Windows und kann auch als FTP-Client verwendet werden. WinSCP steht unter der GNU General Public License. Für die deutsche Version muss man zusätzlich das Multi-Language Installation Package herunterladen. Die Installation startet zunächst in Englisch. Man wählt im Installationsdialog German aus. Die Installation von WinSCP ist einfach und selbsterklärend.

[bearbeiten] SSHFS

Website: http://fuse.sourceforge.net/sshfs.html

Das Secure Shell FileSystem (SSHFS) unterstützt unter Linux das Mounten eines Dateisystems eines anderen Rechnners mit der Secure Shell (SSH) durch nichtprivilegierte Benutzer. Dabei wird das Filesystem in Userspace (FUSE) angewendet. Auf dem entfernten Rechner ist nur ein SSH-Server notwendig. Auf dem lokalen Rechner ist das Paket sshfs notwendig. Die Installation unter Debian/Ubuntu ist mit einer Befehlszeile erledigt.

~$ sudo apt-get install sshfs

Weiterhin wird ein Verzeichnis als Mountpoint benötigt.

~$ mkdir ~/sshfs

Folgender Befehl hängt das Verzeichnis /tmp des Rechners bibo ein.

~$ sshfs root@bibo:/tmp/ ~/sshfs

Mit dem Befehl fusermount wird der Mointpoint wieder freigegeben.

~$ fusermount -u ~/sshfs

[bearbeiten] FTP

Das File Transfer Protocol ist ein Netzwerkprotokoll zur Dateiübertragung über TCP/IP-Netzwerke. Es wird benutzt, um Dateien vom Server zum Client (Download), vom Client zum Server (Upload) zu übertragen. Außerdem können mit FTP Verzeichnisse angelegt und ausgelesen, sowie Verzeichnisse und Dateien umbenannt oder gelöscht werden. Da FTP ein textbasiertes Protokoll ist, werden sowohl die Daten als auch die Authentifizierungsinformationen im Klartext übertragen. Zum Download wird ein FTP-Client benötigt. Jeder moderne Web-Browser enthält einen FTP-Client für den Download. Der FTP-Client ftp ist auf fast jedem Betriebssystem verfügbar. Der ursprünglich für Unix programmierte Client wurde schon bald auf andere Betriebssysteme, wie zum Beispiel Microsoft Windows, portiert. Das Programm ftp wird als Kommandozeilenbefehl gestartet, oft mit Angabe eines FTP-Servers. Bei erfolgreicher Verbindung fragt das Programm nach Benutzername und Passwort. In diesem Beispiel wird mit dem FTP-Client in der DOS-Eingabekonsole unter Microsoft Windows die Datei bla.txt zum Rechner mit der IP-Adresse 10.0.2.2 übertragen.

Gast C:\> ftp 10.0.2.2
Benutzer (10.0.2.2): robert
Kennwort: *****
Ftp> put bla.txt
Ftp> quit

Weitere Kommandos sind:

Ftp> ascii 

Einstellen von ASCII als Übertragungsmodus. Dies ist der Standardübertragungsmodus.

Ftp> binary 

Einstellen von Binary als Übertragungsmodus.

Ftp> cd Verzeichnis

Wechselt in das Arbeitsverzeichnis auf dem FTP-Server.

Ftp> delete Datei 

Löscht die Datei auf dem FTP-Server.

Ftp> dir 

Zeigt den Inhalt des aktuellen Arbeitsverzeichnisses auf dem FTP-Server an.

Ftp> get Datei

Kopiert eine Datei vom FTP-Server auf den Client.

Ftp> lcd Verzeichnis 

Wechselt das Verzeichnis auf dem Client.

Ftp> ls 

Listet den Inhalt des Verzeichnisses auf.

Ftp> mget Dateien 

Kopiert mehrere Dateien vom Server auf den Client. Wildcards sind erlaubt.

Ftp> mkdir Verzeichnis

Legt ein Verzeichnis auf dem FTP-Server an.

Ftp> mput Dateien 

Kopiert mehrere Dateien vom Client auf den FTP-Server. Wildcards sind erlaubt.

Ftp> pwd 

Gibt das aktuelle Arbeitsverzeichnis auf dem FTP-Server aus.

Ftp> quit 

Schließt die Verbindung zum FTP-Server und beendet das Programm.

Ftp> rmdir Verzeichnis 

Löscht ein Verzeichnis auf dem FTP-Server.

[bearbeiten] TFTP

Das Trivial File Transfer Protocol (TFTP) ist ein einfaches Datei-Übertragungsprotokoll und unterstützt lediglich das Lesen oder Schreiben von Dateien. Nicht vorhanden sind viele Funktionen des mächtigeren FTP wie etwa Rechtevergabe, Anzeigen der vorhandenen Dateien oder Benutzer-Authentifizierung. Motivation für die Entwicklung von TFTP war das Laden von Betriebssystemen oder Konfigurationen über das Netzwerk. Hierfür sind das verbindungsorientierte TCP und das darauf aufsetzende FTP viel zu komplex. TFTP wurde dagegen bewusst einfach gehalten. Microsoft Windows bringt von Haus aus einen tftp-client (tftp.exe) mit. Bestimmte Arten von Computerwürmern wie zum Beispiel W32.Blaster nutzen TFTP-Server zu ihrer Verbreitung. Deshalb sollte tftp.exe bei Benutzung einer Personal Firewall standardmäßig der Internetzugriff verweigert werden. Ein TFTP-Client für Microsoft Windows-Versionen kann auch unter http://www.tftp-server.com/tftp-download.html (WinAgents TFTP Client) heruntergeladen und direkt ausgeführt werden.

C:\> tftp -i 10.0.2.2 GET bla.txt

Unter Unix/Linux ist ein tftp-Client oft nicht installiert. Ist das Gast-System ein Linux Debian-Derivat, ist die Installation des Paketes tftp mit einer Befehlszeile getan.

Gast ~# apt-get install tftp

Das Herunterladen einer Datei per TFTP erfolgt mit diesen Befehlen.

Gast ~$ tftp
(to) 10.0.2.2
tftp> binary
tftp> get bla.txt
tftp> quit

[bearbeiten] wget

Download: http://www.gnu.org/software/wget/

Das Tool wget ist ein freies Kommandozeilen-Programm zum Herunterladen von Dateien. Zu den unterstützten Protokollen gehören FTP, HTTP und HTTPS. Das Programm gibt es sowohl für Unix und GNU/Linux als auch für Microsoft Windows. wget ist in Cygwin enthalten. wget kann einen abgebrochenen Download wieder aufnehmen und komplette Websites herunterladen. Um eine Datei von einem Web- beziehungsweise FTP-Server herunterzuladen, genügt es wget und die entsprechende URL aufzurufen, zum Beispiel:

~$ wget http://download.savannah.gnu.org/releases/qemu/qemu-0.12.4.tar.gz

[bearbeiten] Telnet

Telnet (Teletype Network) ist der Name eines im Internet weit verbreiteten Netzwerkprotokolls und wird dazu verwendet, Benutzern den Zugang zu Rechnern über die Kommandozeile zu ermöglichen. Aufgrund der fehlenden Verschlüsselung wird es kaum noch eingesetzt. Weiterhin ist Telnet der Name eines Client-Programms, welches Verbindungen zu einem entfernten Rechner aufbauen kann. Das Telnet-Protokoll verwendet TCP und die Clients verbinden sich über Port 23 mit dem Zielrechner. Dieser Port lässt sich, wie bei den meisten Internetprotokollen, modifizieren. Es ist ebenfalls möglich, mit einem Telnet-Client eine interaktive TCP-Verbindung zu anderen Internetservices aufzubauen. Im folgenden Beispiel wird der Telnet-Client mit dem Host bibo und dessen Port 4444 verbunden.

~$ telnet bibo 4444
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.

Unter Microsoft Windows wird der Telnet-Client über den Punkt Ausführen im Start-Menü erreichbar. In der erscheinenden Eingabe-Zeile gibt man den Befehl telnet ein. Im Menü des Clients gibt man unter Verbinden, Remote System den Host und den Port ein.

[bearbeiten] netcat

Download: http://netcat.sourceforge.net/

Das Programm netcat, auch nc genannt, ist ein einfaches Werkzeug, um Daten von der Standardeingabe oder Standardausgabe über Netzwerkverbindungen zu transportieren. Es arbeitet als Client oder Server mit den Protokollen TCP und UDP. Eine Windows-Version ist in Cygwin enthalten. Diese Version wird mit nc aufgerufen. Diese Beispiele wurden mit dem Ubuntu-Paket netcat-traditional realisiert.

~$ apt-get install netcat-traditional

In dem nachfolgenden Beispiel wird die Datei bla.txt von dem Rechner 1 mit netcat auf den Rechner 2 mit der IP-Adresse 172.16.10.61 übertragen. Dazu wird zuerst der Rechner 2 empfangsbereit geschaltet.

Rechner 2 ~$ netcat -w30 -vvnlp 3333 > bla.txt

Die Option -w gibt das Timeout an. Das heißt, in dem Beispiel wartet netcat maximal 30 Sekunden auf das Zustandekommen der Verbindung. Die Optionen -vv bewirken eine ausführlichere Ausgabe, um mögliche Fehler zu erkennen. Die Option -l schaltet netcat in den Lausch-Modus. Die Option -n bewirkt, dass keine DNS-Abfrage erforderlich ist. Es ist die IP-Adresse statt des DNS-Namens anzugeben. Die Option -p definiert den Port (hier 3333). Der empfangene Datenstrom wird in die Datei bla.txt umgeleitet. Auf Rechner 1 startet man die Übertragung der Datei bla.txt. Zusätzlich ist hier die Adresse des Ziel-Rechners anzugeben. Dieses Beispiel enthält keinerlei Absicherungen.

Rechner 1 ~$ netcat -w 30 -vvn 172.16.10.61 3333 < bla.txt

Viele Hacker/Cracker benutzen Netcat um Backdoors (Hintertüren) auf den Rechnern ihrer Opfer zu öffnen. Deshalb stufen einige Anti-Viren-Programme das Windows-Executable nc.exe als Hacking-Tool ein und verhindert dessen Ausführung.

[bearbeiten] TightVNC

Download: http://www.tightvnc.com/

TightVNC ist ein VNC-Server und -Client der unter der GPL-Lizenz steht. Er ist für Microsoft Windows sowie für zahlreiche Unix-Derivate verfügbar. Weiterhin gibt eine plattform-unabhängige Implementierung in Java (nur als Client). Hier als Beispiel die Installation unter einem Linux-Debian-Derivat.

Host ~$ sudo apt-get install xtightvncviewer

Auf der Website des Projekts steht die Software für viele Betriebssysteme zum Download bereit. Zur Installation unter Microsoft Windows ist die Datei tightvnc-1.3.9-setup.exe herunterzuladen und aufzurufen. Im Wizard für die Installation gibt man das Ziel-Verzeichnis ein (C:\Programme\TightVNC). Danach sind die zu installierenden Software-Komponenten (Server, Viewer, Dokumentation) auszuwählen. Anschließend ist der Name des Ordners im Start-Menü festzulegen (TightVNC). Im nächsten Schritt ist anzugeben, ob der VNC-Server als System-Dienst registriert wird und ob der VNC-Server automatisch gestartet wird. Dies ist nur zu empfehlen, wenn dieser Rechner dauerhaft per VNC erreichbar sein soll. Nach der Installation wird TightVNC wie folgt aufgerufen: Menü Start, Alle Programme, TightVNC, TightVNC Viewer (Fast Compression).

[bearbeiten] Remote Desktop Protocol

Das Remote Desktop Protocol (RDP) der Firma Microsoft ermöglicht es, den Bildschirminhalt eines Microsoft Windows-Rechners auf einem anderen Rechner anzuzeigen und im Gegenzug Tastatur- und Maus-Bewegungen zurück zu senden. Damit ist ein Remote-Zugriff auf den Desktop eines anderen Rechners möglich. Dabei arbeitet eines der beiden Systeme als Terminalserver. Dieser Terminalserver generiert Bildschirmausgaben auf dem Terminal-Client. Neben den Ausgaben des Bildschirmes und den Eingaben der Tastatur und Maus kann auch die Sound-Ausgabe zum Terminal-Client umgeleitet werden. Weiterhin ist die Nutzung eines Druckers des Terminal-Clients möglich. RDP basiert auf dem ITU-Protokoll T.128 und setzt TCP/IP voraus. Standardmäßig wird das Port 3389 (TCP) verwendet. Als RDP-Server werden Microsoft Windows Terminalserver 4.0, Microsoft Windows Server 2000, 2003 und 2008, NetMeeting, Microsoft Windows XP, Microsoft Windows Vista und Microsoft Windows 7 verwendet. Die jeweiligen Home- und Starter-Edition sind nicht als RDP-Server geeignet. RDP-Clients existieren für fast alle Betriebssysteme. Die Virtualisierungssoftware VirtualBox besitzt einen eigenen RDP-Server.

Als Beispiel wird die Konfiguration des RDP-Servers unter Windows XP beschrieben. Ist der Rechner in einer Domäne, so können die folgenden Einstellungen per Active Directory eingeschränkt sein. Das Login hat mit Passwort zu erfolgen. Dazu ist im Start-Menü, Systemsteuerung, Benutzerkonten, Konto ändern ein Passwort zu vergeben. Im Start-Menü, Systemsteuerung, Benutzerkonten, Art der Benutzeranmeldung ändern sind die Optionen Willkommensseite verwenden und Schnelle Benutzerumschaltung verwenden zu aktivieren. Weiterhin ist in der Systemsteuerung unter System, Reiter Remote die Option Benutzern erlauben, eine Remoteverbindung herzustellen zu aktivieren. Unter Remotebenutzer auswählen... sind entsprechende Benutzer anzugeben. Um den Login-Vorgang zu beschleunigen, ist in der Systemsteuerung unter Verwaltung, Dienste der Starttyp für Terminaldienste auf Automatisch zu setzen. Die Windows-Firewall ist für das Port 3389 zu öffnen. Die Farbtiefe für den RDP-Client ist in der Registry anzupassen. Zunächst ist dazu der Registry-Editor zu öffnen (Menü Start, Ausführen, regedt32). Man wechselt in den Schlüssel HKEY_LOCAL_MACHINE\ SYSTEM \CurrentControlSet \Control \Terminal Server\ WinStations\RDP-Tcp. Der Wert ColorDepth wird auf 4 geändert. Die Farbtiefe wird damit auf 24 Bit erhöht.

Unter Microsoft Windows XP und neuer steht ein RDP-Client unter Menü Start, Alle Programme, Zubehör, Remotedesktopverbindung zur Verfügung. Unter unix-ähnlichen Betriebssystemen sowie unter OS/2 und eComstation wird das Open-Source-Programm rdesktop (http://www.rdesktop.org) verwendet. Unter Debian/Ubuntu ist die Installation des Paketes rdesktop mit einer Befehlszeile erledigt.

 ~$ sudo apt-get install rdesktop

rdesktop wird beispielsweise mit folgenden Optionen aufgerufen. Die Übertragung wird mit -z komprimiert. Die Option -k legt das Tastatur-Layout fest. Mit der Option -g wird die Bildschirmauflösung vorgegeben.

~$ rdesktop -z -g 1000x800 -k de Rechnername

Soll nicht auf den gesamten Desktop, sondern nur auf eine Applikation zugegriffen werden, kann das Tool SeamlessRDP (http://www.cendio.com/seamlessrdp/) verwendet werden.

[bearbeiten] Synergy

Website: http://synergy2.sourceforge.net/

Das Programm Synergy (Open-Source) ermöglicht die Nutzung von einer Maus und einer Tastatur an mehreren Rechnern im Netzwerk. Ein Rechner wird dabei als Synergy-Server konfiguriert. Auf den anderen Rechnern wird Synergy jeweils als Client gestartet. Sobald der Maus-Kursor den Rand des jeweiligen Desktops überschreitet, leitet Synergy die Eingaben von Maus und Tastatur über das Netzwerk vom Host-PC an die entsprechenden Clients weiter. Die Desktops aller angeschlossenen Rechner werden damit zu einer Arbeitsfläche verbunden. Weiterhin gleicht Synergy die Inhalte der Zwischenablagen der Rechner ab. Da Synergy für Microsoft Windows (ab 95/NT) und alle unix-artigen Betriebssysteme (Mac OS X, Linux, Solaris) verfügbar ist, können die Desktops von Rechnern mit unterschiedlichen Betriebssystemen verbunden werden. Für Microsoft Windows ist das Installationsprogramm von der Website herunterzuladen und zu starten. Nach der Installation ist die Konfiguration von Synergy per GUI möglich. Unter Debian/Ubuntu ist die Installation mit einer Befehlszeile erledigt.

~$ sudo apt-get install synergy quicksynergy

Zur einfachen Konfiguration ist quicksynergy zu starten

~$ quicksynergy

Soll der Rechner als Synergy-Server arbeiten, ist mindestens in einem der Felder Above, Left, Right und Below die IP-Adresse eines Clients einzutragen. Soll der Rechner als Client konfiguriert werden, ist nur unter dem Reiter Use die IP-Adresse des Servers anzugeben. Eine ausführliche Anleitung zu Synergy findet man unter http://www.elsniwiki.de/index.php/Main/SynergyKonfigurieren.

[bearbeiten] dnsmasq

Download: http://thekelleys.org.uk/dnsmasq/doc.html

Für kleine Netzwerke ist der einfache DHCP- und DNS-Server dnsmasq zu empfehlen. DNS-Anfragen werden entsprechend der Datei /etc/hosts aufgelöst oder an andere DNS-Server weitergeleitet. Anleitungen zur Konfiguration findet man unter http://wiki.ubuntuusers.de/Dnsmasq und http://www.martin-bock.de/pc/pc-0604.html. Die Bibliothek libvirt verwendet auch dnsmasq, um Gast-Systemen per DHCP IP-Adressen zuzuweisen (siehe http://qemu-buch.de/d/Managementtools/_libvirt-Tools).

[bearbeiten] Kompilieren

Um Software unter Unix/Linux aus dem Quellcode zu kompilieren, werden nach dem Herunterladen der Quellen und dem Entpacken die folgenden Schritte in dem angelegten Verzeichnis angewendet:

~$ ./configure
~$ make
~$ sudo make install

Als erster Schritt wird das Skript ./configure aufgerufen. Mögliche Optionen zeigt ./configure --help an. Das Skript ./configure überprüft, ob alle zur Konfiguration gehörenden Komponenten vorhanden sind. Weiterhin legt es entsprechend der ermittelten Bedingungen Konfigurationsdateien und eventuell Unterverzeichnisse für make an. Diese Konfigurationsdateien heißen jeweils Makefile und liegen in den angelegten Verzeichnissen und beschreiben was make dort ausführen soll. Danach erfolgt der Aufruf von make. Das Programm make führt Kommandos in Abhängigkeit von Bedingungen, die in den Makefiles beschrieben sind, aus. Genutzt wird es beispielsweise, um in einem Projekt, das aus vielen verschiedenen Dateien mit Quellcode besteht, automatisiert alle Arbeitsschritte zu steuern. Mitunter muss vorher das Paket make installiert werden. Im letzten Schritt, der mit root-Rechten ausgeführt wird, werden mit make install die generierten Dateien (Binaries, Konfigurationsdateien, Manuals) in die entsprechenden Verzeichnisse des Systems kopiert.

In einigen Distriubutionen sind die Werkzeuge zum Kompilieren nicht per Default installiert. Unter Ubuntu ist das Paket build-essential zu installieren. In anderen Distributionen werden die Pakete gcc und make benötigt.

~$ sudo apt-get install build-essential

Selbst kompilierte Software wird nicht von dem Paket-Manager verwaltet. Dadurch erscheint diese Software nicht in der Liste der installierten Pakete und kann auch nicht so ohne weiteres deinstalliert werden. Abhilfe schafft das Programm checkinstall. Damit baut man Slackware-TGZ-, RPM- oder DEB-Paketen beim Kompilieren. Die Installation ist unter Debian/Ubuntu mit einer Befehlszeile erledigt.

~$ sudo apt-get install checkinstall

Statt make install wird beim Kompilieren der Befehl checkinstall verwendet. Eine Hilfestellung erhält man mit checkinstall --help.

~$ ./configure
~$ make
~$ sudo checkinstall

Das Programm checkinstall stellt einige Fragen, die meist mit den Default-Vorgaben beantwortet werden können. Eindeutig ist aber der Paket-Name vorzugeben. Im aktuellen Verzeichnis wird das Paket angelegt und installiert. Unter Debian/Ubuntu listet es der Befehl dpkg -l auf und mit dpkg -r deinstalliert man es bei Bedarf.

<<<|###| >>> http://qemu-buch.de

Von „http://qemu-buch.de/de/index.php?title=QEMU-KVM-Buch/_Anhang/_N%C3%BCtzliche_Tools

Diese Seite wurde bisher 76.778 mal abgerufen. Diese Seite wurde zuletzt am 30. Juli 2014 um 08:46 Uhr geändert. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.


Finden

Blättern

News

Deutsch
Weitersagen
Tipps für Autoren
Autoren
Impressum


English
Recommendation
The Authors
Contact



Letzte Änderungen


Ändern
Seite bearbeiten
Bearbeitungshilfe
Seitenoptionen
Diskussion
Kommentar hinzufügen
Druckversion
Seitendaten
Versionen
Links auf diese Seite
Änderungen an verlinkten Seiten
Meine Seiten
Anmelden
Spezialseiten
Neue Seiten
Dateiliste
Statistik
Kontakt
Mehr …