背景:在嵌入式Linux开发过程中,需要使用tftp方式从Linux主机下载文件到板子中,因此需要在主机Linux系统中安装tftp服务器。
环境:环境:Ubuntu 11.10
1、安装tftp和tftpd,前者是客户端,后者是服务程序。
$ sudo apt-get install tftp tftpd openbsd-inetd
(openbsd-inedt需要写上)
2、在根目录下创建tftpboot,属性改为777。
$ cd /
$ sudo mkdir tftpboot
$ sudo chmod 777 tftpboot
3、修改存放目录。
$ sudo gedit /etc/inetd.conf
最后一行加入:
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
4、重新启动服务。
$ sudo /etc/init.d/openbsd-inetd reload
$ sudo /etc/init.d/openbsd-inetd restart(每次启动系统的时候,都要执行一下)
$ sudo in.tftpd -l /tftpboot
5、
$ netstat -an |grep udp
可以看到69端口已经启用:
udp 0 0 0.0.0.0:69 0.0.0.0:*
6、测试tftp服务器。
在/tftpboot文件夹下新建文件:
$ cd /tftpboot
$ touch test
进入另外一个文件夹:
$ tftp 127.0.0.1
或者$ tftp localhost
tftp>get test
如果没有出现错误代码且在home目录下出现test文件则证明tftp服务建立成功。
错误提示:
1、如果出现Permission denied,则操作者权限不够,需要提升权限:
su root
输入密码后进行正常tftp传输操作。
2、如果出现Access violation,则是文件权限没有解开,需解开文件操作权限:
chmod 777 文件名
记录:
tftp>q 退出