Linux bietet eine breite Palette an Protokollen, mit deren Hilfe Sie Dateien zwischen Computern kopieren können. Welches Protokoll Sie verwenden, hängt davon ab, wie viel Aufwand Sie investieren möchten und ob Sie Kompatibilität mit zukünftigen Windows-Installationen wünschen. Die folgenden Abschnitte behandeln verschiedene Methoden der Dateiübertragung von und zu Linux-Computern. Stellen Sie sicher, dass Sie über eine aktive Netzwerkverbindung verfügen, damit Übertragungen möglich sind. Alle Szenarien setzen eine funktionierende Namensauflösung im Netzwerk voraus. Wenn Ihr Netzwerk keinen Namensdienst umfasst, verwenden Sie IP-Adressen direkt oder fügen Sie die IP-Adressen mit dem jeweils zugehörigen Hostnamen auf allen Clients in /etc/hosts
ein.
Die folgenden Beispiel-IP-Adressen und -Hostnamen werden durchgehend in diesem Abschnitt verwendet:
Ziel-Hostname |
|
Ziel-IP |
|
Quell-Hostname |
|
Source IP |
|
Benutzer |
|
Beide Computer, auf die über SSH zugegriffen wird, müssen die folgenden Anforderungen erfüllen:
Wenn Sie einen Hostnamen verwenden, stellen Sie sicher, dass jeder Hostname auf beiden Computern unter /etc/hosts
aufgelistet ist (siehe Abschnitt „/etc/hosts“ (Kapitel 20, Grundlegendes zu Netzwerken, ↑Referenz)). Wenn Sie SSH mit IP-Adressen verwenden, müssen Sie keine Änderungen vornehmen.
Wenn Sie eine Firewall verwenden, öffnen Sie den SSH-Port. Starten Sie in dem Fall YaST und wählen Sie
+ aus. Navigieren Sie zu und prüfen Sie, ob als Teil der Liste angezeigt wird. Wenn nicht, wählen Sie SSH aus und klicken Sie auf . Klicken Sie auf und , um die Änderungen anzuwenden und YaST zu schließen.
Um Dateien von einem Computer auf einen anderen kopieren zu können, müssen Sie wissen, wo die Dateien abgelegt sind. Um beispielsweise eine einzelne Datei /srv/foo_file
vom Computer jupiter.example.com
in das aktuelle Verzeichnis zu kopieren, verwenden Sie das folgende scp-Kommando (der Punkt entspricht dem aktuellen Verzeichnis als Zielspeicherort der kopierten Datei):
scp tux@jupiter.example.com:/srv/foo_file .
Um eine vollständige Verzeichnisstruktur zu kopieren, verwenden Sie den rekursiven Modus von scp:
scp -r tux@jupiter.example.com:/srv/foo_directory .
Wenn Ihr Netzwerk keine Namensauflösung bietet, verwenden Sie direkt die IP-Adresse des Servers:
scp tux@192.168.2.100:/srv/foo_file .
Falls Sie den exakten Speicherort Ihrer Dateien nicht kennen, verwenden Sie den Befehl sftp. Das Kopieren von Dateien in KDE oder GNOME mithilfe von SFTP ist sehr leicht. Führen Sie dazu die folgenden Schritte aus:
Drücken Sie Alt+F2.
Geben Sie in der Adressleiste Folgendes ein:
sftp://tux@jupiter.example.com
Geben Sie das Passwort von tux
auf jupiter.example.com
ein.
Ziehen Sie die gewünschten Dateien oder Verzeichnisse auf Ihren Desktop oder in ein lokales Verzeichnis und legen Sie sie dort ab.
KDE bietet zusätzlich das Protokoll fish
, das verwendet werden kann, wenn sftp
nicht zur Verfügung steht. Dieses Protokoll wird auf ähnliche Weise verwendet wie sftp
. Ersetzen Sie einfach das sftp
-Protokollvorzeichen der URL durch fish
:
fish://tux@jupiter.example.com
Bevor Sie Dateien und Verzeichnisse mit rsync zwischen verschiedenen Computern synchronisieren, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:
Das Paket rsync
ist installiert.
Identische Benutzer sind auf beiden Systemen verfügbar.
Auf dem Server ist genügend Speicherplatz frei.
Wenn Sie das Potenzial von rsync voll ausschöpfen möchten, stellen Sie sicher, dass rsync auf dem System installiert ist, das als Server dienen soll.
rsync ist nützlich zum Archivieren oder Kopieren von Daten und kann auch als Daemon zur Bereitstellung von Verzeichnissen auf dem Netzwerk verwendet werden (siehe Erweitertes Setup für rsync-Synchronisierung).
Für die Basisbetriebsart von rsync ist keine besondere Konfiguration erforderlich. rsync spiegelt vollständige Verzeichnisse auf andere Systeme. Die Verwendung unterscheidet sich nur unwesentlich von einem normalen Kopierwerkzeug, wie etwa scp. Mit folgendem Befehl kann ein Backup des Home-Verzeichnisses von tux
auf einem Backupserver jupiter
angelegt werden:
rsync -Hbaz -e ssh /home/tux/ tux@jupiter:backup
Stellen Sie Ihr Backup mit dem folgenden Kommando wieder her:
rsync -Haz -e ssh tux@jupiter:backup /home/tux/
Starten Sie den Daemon rsyncd auf einem Ihrer Systeme, um die volle Funktionalität von rsync zu nutzen. In diesem Modus können Sie Synchronisierungspunkte (Module) erstellen, auf die ein Zugriff ohne Konto möglich ist. Gehen Sie für die Verwendung des Dämons rsyncd wie folgt vor:
Prozedur 11.1. Erweitertes Setup für rsync-Synchronisierung
Melden Sie sich als root
an und installieren Sie das Paket rsync
.
Konfigurieren Ihrer Synchronisierungspunkte in /etc/rsyncd.conf
. Fügen Sie einen Punkt mit Namen in Klammern hinzu und fügen Sie das Schlüsselwort für den Pfad
, wie im folgenden Beispiel angegeben, hinzu:
[FTP] path = /srv/ftp comment = An Example
Starten Sie den rsyncd-Daemon als root
mit rcrsyncd start. Führen Sie zum automatischen Starten des rsync-Dienstes bei jedem Systemstart den Befehl insserv rsyncd aus.
Listen Sie alle Dateien auf, die sich im Verzeichnis /srv/ftp
befinden (und beachten Sie dabei den doppelten Doppelpunkt):
rsync -avz jupiter::FTP
Initiieren Sie die Übertragung, indem Sie ein Zielverzeichnis angeben (in diesem Beispiel wird das aktuelle Verzeichnis durch einen Punkt dargestellt):
rsync -avz jupiter::FTP .
Standardmäßig werden bei der Synchronisierung mit rsync keine Dateien gelöscht. Um das Löschen von Dateien zu erzwingen, fügen Sie die Option --delete
hinzu. Wenn Sie sicherstellen möchten, dass --delete
nicht versehentlich neuere Dateien entfernt, verwenden Sie stattdessen die Option --update
. Dadurch entstehende Konflikte müssen manuell aufgelöst werden.
Bevor Sie Dateien und Verzeichnisse mit Unison zwischen verschiedenen Computern synchronisieren, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:
Das Paket Unison
ist installiert.
Sowohl auf Ihrem lokalen als auch auf Ihrem entfernten Computer steht ausreichend Speicherplatz zur Verfügung.
Wenn Sie das Potenzial von Unison voll ausschöpfen möchten, stellen Sie sicher, dass Unison auch auf Ihrem entfernten Computer installiert ist und ausgeführt wird.
Falls Sie Hilfe benötigen, führen Sie Unison mit der Option -doc topics
aus, um eine vollständige Liste aller verfügbaren Abschnitte zu erhalten.
Für dauerhafte Einstellungen ermöglicht Unison die Erstellung vonProfile, die Unison-Einstellungen wie zu synchronisierende Verzeichnisse (Roots), zu ignorierende Dateitypen sowie andere Optionen angeben. Die Profile werden als Textdateien in ~/.unison
mit der Dateierweiterung *.prf
gespeichert.
Zum Synchronisieren verschiedener Verzeichnisse mithilfe der grafischen Bedienoberfläche von Unison gehen Sie wie folgt vor:
Unison starten Sie mit Alt+F2 und dem Befehl unison.
Wenn Sie Unison zum ersten Mal ohne weitere Optionen ausführen, werden Sie aufgefordert, ein Quellverzeichnis anzugeben. Geben Sie das zu synchronisierende Quellverzeichnis ein und klicken Sie auf
.Geben Sie das Zielverzeichnis ein. Es kann entweder lokal oder entfernt vorhanden sein. Wenn Sie die Synchronisierung mit einem entfernten Verzeichnis durchführen möchten, wählen Sie die Methode (SSH, RSH oder Socket) aus und geben Sie den Hostnamen und einen optionalen Benutzer ein.
Wenn Sie diese beiden Verzeichnisse noch nie vorher synchronisiert haben, wird ein Dialogfeld mit einer Warnmeldung angezeigt, um Sie darüber zu informieren, dass Unison den Inhalt dieser Verzeichnisse nun vergleicht. Schließen Sie die Warnmeldung mit
und warten Sie, bis Unison die Informationen der beiden Verzeichnisse gesammelt hat und die Unterschiede im Hauptfenster anzeigt.In der linken Spalte wird das von Ihnen ausgewählte Quellverzeichnis angezeigt, in der dritten Spalte das Zielverzeichnis. Wenn die Verzeichnisse Unterschiede aufweisen, wird in der Spalte
ein Symbol angezeigt und eine Aktion vorgeschlagen. Ein grüner Pfeil gibt an, dass eine Datei im Quell- oder Zielverzeichnis geändert, hinzugefügt oder gelöscht wurde. Die Richtung des Pfeils gibt die Richtung an, in die die Änderung propagiert werden würde, wenn Sie die Synchronisierungen zu diesem Zeitpunkt durchführen würden. Ein Fragezeichen gibt einen Konflikt an (beide Dateien wurden geändert und Unison kann nicht entscheiden, welche Datei überschrieben werden soll).Um die von Unison für die jeweilige Datei gezeigten Vorschläge zu ändern (beispielsweise die Richtung), wählen Sie die Datei aus und klicken Sie auf
oder . Mit schließen Sie eine Datei von der Synchronisierung aus. Das Symbol in der Spalte ändert sich dann entsprechend.Klicken Sie zum Starten der Synchronisierung auf
.Beim nächsten Start von Unison werden in einem Dialogfeld die vorhandenen Profile mit den jeweils zu synchronisierenden Verzeichnissen angezeigt. Wählen Sie ein Profil aus oder erstellen Sie ein neues Profil (für ein anderes Verzeichnispaar) und führen Sie die Synchronisierung wie oben beschrieben durch.
Unison kann auch mithilfe der Kommandozeile bedient werden. Zur Synchronisierung eines lokalen Verzeichnisses mit einem entfernten Computer gehen Sie wie folgt vor:
Öffnen Sie eine Shell und geben Sie den folgenden Befehl ein:
unison -ui textDIR
ssh://tux@jupiter.example.com//PATH
Ersetzen Sie die Platzhalter durch die entsprechenden Werte.
Unison fragt Sie, was mit den Dateien und Verzeichnissen zu tun ist, wie zum Beispiel:
local jupiter <---- new file dir [f]
Drücken Sie F, wenn Sie der Empfehlung von Unison folgen möchten. Für weitere Befehle drücken Sie auf ?.
Fahren Sie fort mit y, wenn Sie Ihre Aktualisierungen propagieren möchten.
Vergewissern Sie sich, dass die folgenden Anforderungen erfüllt sind, bevor Sie Ihren FTP-Server konfigurieren:
Das Paket vsftp
ist installiert.
Sie haben root
-Zugriff auf Ihren FTP-Server.
Auf Ihrem Computer ist genügend Speicherplatz frei.
Nur für private Netzwerke | |
---|---|
Diese Einrichtung ist nur für private Netzwerke geeignet. Verwenden Sie es nicht für Standorte, die nicht durch Firewalls geschützt sind, und aktivieren Sie nicht weltweiten Zugriff. |
Gehen Sie zur Konfiguration eines FTP-Servers wie folgt vor:
Bereiten Sie den FTP-Server vor:
Öffnen Sie eine Shell, melden Sie sich als root
an und speichern Sie eine Sicherungskopie von /etc/vsftpd.conf
:
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Erstellen eines Zugriffspunkts für anonymes FTP
mkdir ~ftp/incoming chown -R ftp:ftp ~ftp/incoming
Ersetzen Sie die Konfigurationsdateien entsprechend Ihres bevorzugten Szenarios (erweiterte Konfigurationsoptionen finden Sie auf der man-Seite zu vsftpd.conf.):
# listen=YES # Enable anonymous access to FTP server anonymous_enable=YES # local_enable=YES # Enable write access write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES # Write log file xferlog_enable=YES connect_from_port_20=YES chown_uploads=YES chown_username=ftp ftpd_banner=Welcome to FTP service. anon_root=/srv/ftp
chroot_local_users=YES
Starten Sie den FTP-Server:
rcvsftp start
Geben Sie am Client einfach den URL ftp://
in Ihren Browser oder FTP-Client ein. Ersetzen Sie HOST
HOST
durch den Hostnamen oder die IP-Adresse Ihres Servers. Es sind viele grafische Bedienoberflächen erhältlich, die sich zum Navigieren im Inhalt Ihres FTP-Servers eignen. Um eine Liste zu sehen, geben Sie einfach FTP an der Eingabeaufforderung des YaST-Paket-Managers ein.