Difference between revisions of "TFTP"
m (Moved to category "networking") |
(→Run: Add systemd start command.) |
||
(12 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category: | + | [[Category:File Transfer Protocol]] |
− | [[ | + | The [[Wikipedia:Trivial File Transfer Protocol|Trivial File Transfer Protocol]] (TFTP) provides a minimalistic means for transferring files. It is generally used as a part of [[PXE]] booting or for updating configuration and firmware on devices which have limited memory such as routers and printers. |
− | + | This article describes how to set up a tftpd server under Arch Linux using the {{Pkg|tftp-hpa}} package. | |
− | |||
− | |||
− | This | ||
== Installation == | == Installation == | ||
− | + | [[pacman|Install]] the package {{Pkg|tftp-hpa}} which can be found in the [[Official Repositories|official repositories]]. | |
− | |||
== Configuration == | == Configuration == | ||
− | + | The configuration for tftpd is in {{ic|/etc/conf.d/tftpd}} | |
− | + | The default configuration is: | |
− | + | # | |
− | + | # Parameters to be passed to TFTPD | |
− | + | # | |
− | + | TFTPD_ARGS="-l -s /srv/tftp/" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | The directory {{ic|/srv/tftp}} is created automatically when {{Pkg|tftp-hpa}} is installed. | |
− | + | For a complete list of parameters: | |
+ | $ man in.tftpd | ||
− | + | == Run == | |
− | + | === Systemd === | |
+ | To start the daemon at boot, run: | ||
+ | # systemctl enable tftpd.socket | ||
− | + | To start the daemon manually: | |
− | + | # systemctl start tftpd.socket | |
− | |||
− | # | ||
− | |||
− | |||
− | + | === Sysvinit === | |
− | + | To start the daemon at boot, add {{ic|tftpd}} to the {{ic|DAEMONS}} array in {{ic|/etc/[[rc.conf]]}}. | |
− | |||
− | |||
− | |||
− | + | To start the daemon manually: | |
# /etc/rc.d/tftpd start | # /etc/rc.d/tftpd start | ||
− | + | To start the daemon without a configuration file: | |
− | + | # /usr/sbin/in.tftpd -l -s path/to/folder/to/export | |
− | |||
− | |||
− | + | == Troubleshooting == | |
+ | === tftpd startup fails if ipv6 is disabled === | ||
+ | If tftpd startup fails without leaving error messages, it might be because ipv6 is disabled and you are not explicitly telling tftpd not to use ipv6. You can make tftpd start by enabling ipv6 or by telling tftpd to only use ipv4, adding the '-4' switch to /etc/conf.d/tftpd | ||
− | + | {{hc|/etc/conf.d/tftpd|<nowiki> | |
+ | TFTPD_ARGS="-l -4 -s /srv/tftp/" | ||
+ | </nowiki>}} |
Revision as of 04:24, 24 November 2012
The Trivial File Transfer Protocol (TFTP) provides a minimalistic means for transferring files. It is generally used as a part of PXE booting or for updating configuration and firmware on devices which have limited memory such as routers and printers.
This article describes how to set up a tftpd server under Arch Linux using the tftp-hpa package.
Contents
Installation
Install the package tftp-hpa which can be found in the official repositories.
Configuration
The configuration for tftpd is in /etc/conf.d/tftpd
The default configuration is:
# # Parameters to be passed to TFTPD # TFTPD_ARGS="-l -s /srv/tftp/"
The directory /srv/tftp
is created automatically when tftp-hpa is installed.
For a complete list of parameters:
$ man in.tftpd
Run
Systemd
To start the daemon at boot, run:
# systemctl enable tftpd.socket
To start the daemon manually:
# systemctl start tftpd.socket
Sysvinit
To start the daemon at boot, add tftpd
to the DAEMONS
array in /etc/rc.conf
.
To start the daemon manually:
# /etc/rc.d/tftpd start
To start the daemon without a configuration file:
# /usr/sbin/in.tftpd -l -s path/to/folder/to/export
Troubleshooting
tftpd startup fails if ipv6 is disabled
If tftpd startup fails without leaving error messages, it might be because ipv6 is disabled and you are not explicitly telling tftpd not to use ipv6. You can make tftpd start by enabling ipv6 or by telling tftpd to only use ipv4, adding the '-4' switch to /etc/conf.d/tftpd
/etc/conf.d/tftpd
TFTPD_ARGS="-l -4 -s /srv/tftp/"