Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Das Trivial File Transfer Protocol (TFTP) ist ein Vorgänger des FTP-Protokolls, wobei es weit weniger Möglichkeiten besitzt. Heute wird es nur noch für PXE-Bootvorgänge oder die Installation von alternativer Firmware verwendet, z.B. auf Hardware-Routern. Für einen "echten" FTP-Server ist TFTP nicht geeignet, hier sollte man ein reguläres Programm wie ProFTPD oder vsftpd einsetzen.
Ubuntu stellt verschiedene TFTP-Server und -Clients zur Verfügung. In dieser Anleitung wird die Benutzung des Advanced TFTP-Server erklärt. Alternativ kann der tftpd-hpa-Server für TFTP verwendet werden.
Der Advanced TFTP-Server beherrscht nur IPv4.
atftpd (universe, Serverkomponente)
atftp (universe, Client)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install atftpd atftp
sudo aptitude install atftpd atftp
Damit werden Server und Client installiert [1]. Der Client wird ausschliesslich zum Testen des Servers benötigt.
Bei der Installation des Servers wird automatisch das folgende Verzeichnis mit passenden Berechtigungen erstellt. Dieses kann zur Ablage von Dateien genutzt werden:
drwxr-xr-x 2 nobody root 4096 Aug 10 11:15 /srv/tftp/
Der Server reagiert sehr empfindlich auf eine Fehlerhafte Konfiguration. Er lässt sich dann unter Umständen nicht mehr deinstallieren.
Per Default wird atftpd von inetd ausgeführt. Um dieses Verhalten zu ändern, wird zuerst inetd beendet:
sudo /etc/init.d/inetutils-inetd stop
Anschließend wird die Konfigurationdatei /etc/default/atftpd leicht modifiziert [2], indem man den Wert USE_INETD=
von true
auf false
ändert:
USE_INETD=false
Abschliend kann atftpd wie gewohnt gestartet werden:
sudo service atftpd start
Wurde inetd bei der Installation von atftpd mit installiert und wird für keinen weiteren Dienst auf dem System benötigt, kann das Paket wieder entfernt werden:
sudo apt-get remove inetutils-inetd
Der TFTP-Server kann von nun an mit den üblichen Befehlen von service
gesteuert werden:
sudo service atftpd BEFEHL
wobei BEFEHL
einer der folgenden sein kann:start, stop, restart, reload, force-reload, status
Nun prüft man nur noch mit dem Client, ob der Zugriff auf den Server klappt:
atftp localhost
Falls ja, sieht man den Prompt des TFTP-Servers:
tftp>
Dateien können nun mit den Befehlen get <Dateiname>
und put <Dateiname>
von dem Server heruntergeladen bzw. dort abgelegt werden. Beendet wird die Verbindung mit quit
.
Weitere Hinweise sind der jeweiligen Manpage zu entnehmen.
Diese Revision wurde am 13. Februar 2017 14:38 von Aokuro erstellt.