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 Arbeit 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 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 |
|
|
Quell-IP |
|
|
Benutzer |
|
Die folgenden Anforderungen müssen sowohl auf dem Server als auch auf dem Client erfüllt sein:
Stellen Sie sicher, dass die Hostnamen zu den IP-Adressen von Server und Client bekannt sind. Jeder Hostname muss für Server und Client in /etc/hosts aufgelistet sein (siehe Abschnitt „
/etc/hosts
“ (Kapitel 21, Grundlegendes zu Netzwerken, ↑Referenz).)
Wenn Sie eine Firewall verwenden, öffnen Sie den SSH-Port. Starten Sie YaST und wählen Sie +. 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.
Für das Kopieren von Dateien von einem Server zu einem Client müssen Sie wissen, wo sich die Dateien auf dem Server befinden. Um beispielsweise die einzelne Datei /srv/foo_file vom Server in das aktuelle Verzeichnis zu kopieren, verwenden Sie den Befehl scp (und vergessen Sie dabei nicht den Punkt!):
scp tux@sun.example.com:/foo_file .
Um eine vollständige Verzeichnisstruktur zu kopieren, verwenden Sie den rekursiven Modus von scp:
scp -r tux@sun.example.com:/foo_directory .
Wenn Ihr Netzwerk keine Namensauflösung bietet, verwenden Sie direkt die IP-Adresse des Servers:
scp tux@192.168.0.20:/foo_file .
Falls Sie den exakten Speicherort Ihrer Dateien nicht kennen, verwenden Sie den Befehl sftp. Weitere Informationen finden Sie unter Abschnitt 11.4.1.1: Verwenden des sftp-Protokolls oder man sftp.
Das Kopieren von Dateien in KDE oder GNOME mit SFTP ist sehr einfach. Führen Sie dazu die folgenden Schritte aus:
Drücken Sie Alt-F2.
Geben Sie in der Adressleiste Folgendes ein:
sftp://tux@sun.example.com
Geben Sie das Passwort von tux auf sun.example.com ein.
Ziehen Sie Ihre Serverdateien 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. Die Verwendung dieses Protokolls ist ähnlich wie sftp, Sie müssen nur das Protokollpräfix sftp der URL durch fish ersetzen.
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 volle Potenzial von rsync nutzen möchten, stellen Sie sicher, dass rsyncd auf einem der Systeme installiert ist.
rsync ist nützlich zum Archivieren oder Kopieren von Daten. Sie brauchen nur eine Remote-Shell (wie ssh) auf dem Zielsystem. rsync kann auch als Dämon benutzt werden, um dem Netzwerk Verzeichnisse zu liefern (siehe Erweitertes Setup für rsync-Synchronisierung).
Die grundlegende Verwendung von rsync erfordert keine besondere Konfiguration. Mit rsync ist es ohne weitere Konfiguration möglich, komplette Verzeichnisse auf ein anderes System zu spiegeln. 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 sun angelegt werden:
rsync -Hbaz -e ssh /home/tux/ tux@sun:backup
Wenden Sie Ihre Backupkopie mit dem folgenden Befehl an:
rsync -Haz -e ssh tux@sun:backup /home/tux/
Starten Sie den Dämon 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 Sie Ihre „Synchronisierungspunkte“:
gid = nobody uid = nobody read only = true use chroot = no transfer logging = true log format = %h %o %f %l %b log file = /var/log/rsyncd.log [FTP] path = /srv/ftp comment = An Example
Starten Sie den Dämon rsyncd als Benutzer root:
rcrsyncd start
Rufen Sie für den automatischen Start des rsync-Dienstes beim Systemboot Folgendes auf:
insserv rsyncd
Listen Sie alle Dateien auf, die sich im Verzeichnis /srv/ftp befinden (und beachten Sie dabei den doppelten Doppelpunkt):
rsync -avz sun::FTP
Initiieren Sie die Übertragung, indem Sie ein Zielverzeichnis angeben (in diesem Beispiel wird das aktuelle Verzeichnis durch einen Punkt dargestellt):
rsync -avz sun::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.
![]() | Verwenden von Setup nur für Heimnetzwerke |
|---|---|
Das in den folgenden Abschnitten beschriebene Setup eignet sich nur für Heimnetzwerke. Verwenden Sie es nicht für Standorte, die überhaupt 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:
Installieren Sie das Paket vsftp.
Ö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 abhängig von Ihrem bevorzugten Szenario (Erweiterte Konfigurationsoptionen finden Sie auf der Manualpage 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 die URL ftp:// in Ihren Browser oder FTP-Client ein. Ersetzen Sie HOSTHOST 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.