简述
:TFTP是一种网络协议,主要用于文件的传输。在嵌入式交叉编译开发环境中被广泛使用。TFTP使用的是CS模式,即client server,客户端上传、下载不需要账户,和FTP相比,实现起来比较简单。进行嵌入式交叉开发时,开发主机上先要安装TFTP服务器并进行正确的配置。
配置TFTP服务前,必须要安装TFTP软件包,它包括服务端和客户端。Ubuntu下可用的TFTP软件很多。常用的是fttpd-hpa(服务器软件)和tftp-hpa(客户端软件).
下面我们进行TFTP服务配置,配置步骤如下。
TFTP配置及使用
1.安装TFTP服务软件
可以先通过 dpkg 命令检查系统中是否已经安装了相应的软件包。如果没有,可通过 apt-get 命令进行安装。
在shell终端输入 dpkg -s tftpd-hpa 查看 tftp 服务端软件是否安装。
如果显示出来 的Status 显示install ok,表示系统中已经安装此软件。
apt-get install tftpd-hpa
sudo apt-get install tftp-hpa
2.修改 tftpd-hpa 配置文件
TFTP 服务配置文件存放在 /etc/default/tftpd-hpa 路径下。默认配置文件中 TFTP的工作目录在/var/lib/tftpboot,而且只允许下载文件,不允许上传文件。 因此修改工作目录路径,打开编辑配置文件。
sudo vi /etc/default/tftpd-hpa
将 /var/lib/tftpboot 修改为 /tftpboot (自己可选)
将 --secure 修改为 --secure -c 以允许上传文件。
3.在根目录下新建tftpboot目录(就是上面你修改的工作目录路径)
sudo mkdir /tftpboot
4.重启tftpd-hpa服务
sudo service tftpd-hpa restart
若重启成功,就能查看相应的进程,可以在Shell 终端上输入 ps -ef | grep in.tftpd 从而查看对应的进程。
5.使用 TFTP服务
TFTP服务配置成功后,就可以从TFTP工作目录 /tftpboot 里面下载文件到本地文件目录,也可以将本地目录下的文件上传到 /tftpboot 目录下。
TFTP 是C/S模型,是客户端 和 服务端的交互。通过前面的配置已经启动了TFTP的服务器端程序。接下来只需要启动TFTP客户端程序就可以实现文件上传和文件下载了。
操作流程如下。
第一步,在Shell终端上输入 tftp ip 启动客户端程序。
tftp 192.168.88.128
这里 的ip地址如果是别人主机的,TFTP客户端连接的就是别人主机上的TFTP服务端。
第二步,输入put file 上传文件,输入 get file 下载文件,输入 quit 退出客户端程序。
例如向TFTP服务器端上传文件note.txt,从TFTP服务器端下载hello.c文件。
tftp 192.168.88.128
put note.txt
get hello.c
quit
这里是笔者自己主机的ip,将note.txt 上传到了我的 /tftpboot 目录下,然后下载了hello.c文件在此目录。