ubuntu 18.04 安装配置 tftp

因为最近要开始搞 Camera 了,初步看了下开发文档,发现需要使用 tftp 来进行烧录,因此在电脑上配置好 tftp 服务先。

1. 安装 tftp 服务端,客户端

一行命令即可:

1
qiushao@qiushao-pc:~$ sudo apt-get install tftp-hpa tftpd-hpa

其中 tftp-hpa 是客户端, tftpd-hpa 是服务端。

2. 配置服务端

修改 /etc/default/tftpd-hpa 文件内容如下

1
2
3
4
5
6
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/qiushao/tftp-root"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
  • TFTP_DIRECTORY : tftp 启动根目录, 修改成自己想要的目录

  • TFTP_OPTIONS : tftp 启动选项,各选项解析如下:

    • -l –Listen

    • -c –create

    • -s –secure

如果你在客户端获取文件时出现 Error code 1: File not found 这个错误,请检查一下 TFTP_OPTIONS="-l -c -s"
配置好后,重启 tftp 服务:

1
qiushao@qiushao-pc:~$ sudo service tftpd-hpa restart

检查一下服务是否在运行了:

1
2
3
4
qiushao@qiushao-pc:~$ netstat -a | grep tftp
udp 0 0 0.0.0.0:tftp 0.0.0.0:*
udp6 0 0 [::]:tftp [::]:*
qiushao@qiushao-pc:~$

有 tftp 监听了,说明服务已经启动了。

3. 客户端测试

我们先在 /home/qiushao/tftp-root 目录下创建一个文件 foobar,
然后在 /home/qiushao 目录执行 tftp get 来下载文件:

1
2
3
4
5
6
7
8
9
10
qiushao@qiushao-pc:~$ cd tftp-root/
qiushao@qiushao-pc:~/tftp-root$ touch foobar
qiushao@qiushao-pc:~/tftp-root$ ls
foobar
qiushao@qiushao-pc:~/tftp-root$ cd
qiushao@qiushao-pc:~$ tftp localhost
tftp> get foobar
qiushao@qiushao-pc:~$ ls foobar
foobar
qiushao@qiushao-pc:~$

tftp get 下载文件成功了,说明我们的 tftp 服务应该是没有问题的了。