前言:
可以在一台服务器(虚拟机)上搭建TFTP服务,将需要向其他客户端(开发板)共享的文件放在服务器的指定路径,客户端可以使用tftp命令从服务器路径下载文件。
操作:
1- 服务端(虚拟机)安装必要软件
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
2- 服务端创建共享文件夹
mkdir /var/tftpboot/
chmod 777 /var/tftpboot/
3- 配置参数
3.1- vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/
disable = no
per_source= 11
cps = 100 2
flags = IPv4
}
3.2- vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/tftpboot/"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"
4- 重启服务
sudo service tftpd-hpa start
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
5- 本地测试
5.1- 在/var/tftpboot/路径建立文件test.log
内容:
hello tftp test
5.2- 新开一个cmd窗口
切换到root,输入:
# tftp 127.0.0.1
tftp> get test.log
tftp> q
可以看到当前路径将/var/tftpboot/test.log文件下载到当前路径下。
6- 服务端、客户端间测试
确保笔记本、ubuntu、开发板处于同一网段,参考:2440开发板环境搭建---很重要_u010743406的博客-CSDN博客
前提:开发板和ubuntu服务器可以互ping通
ubuntu IP: 192.168.31.5
开发板IP : 192.168.31.9
开发板上操作:
tftp -g -l test.log -r test.log 192.168.31.5
输入完,可以看到ubuntu上的test.log文件下载到开发板当前路径下。
如果操作失败,检查开发板是否和ubuntu是否可以ping 通!
其中tftp参数如下:
# tftp
BusyBox v1.7.0 (2008-01-22 10:04:09 EST) multi-call binary
Usage: tftp [OPTION]... HOST [PORT]
Transfer a file from/to tftp server using "octet" mode
Options:
-l FILE Local FILE
-r FILE Remote FILE
-g Get file
-p Put file
-b SIZE Transfer blocks of SIZE octets