1.安装TFTP软件 tftp-hpa是客户端,tftpd-hpa是服务器端 sudo aptitude install tftp-hpa tftpd-hpa 2.配置TFTP服务器 sudo gedit /etc/default/tftpd-hpa 将原来的内容改为: # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" #TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS="0.0.0.0:69" #TFTP_OPTIONS="--secure" #服务器目录,需要设置权限为777,chomd 777 #这个目录要改为你自己的TFTP根目录~~~ TFTP_DIRECTORY="/home/stone/tmp" TFTP_OPTIONS="-l -c -s" 3.重新启动TFTP服务 sudo service tftpd-hpa restart 4.测试下 cd ~/tftpboot echo "hello tftp service">>a.txt echo "hello tftp service,put to tftp serive">>b.txt tftp localhost get a.txt put b.txt 其中get是取得文件,put是将文件上传到TFTP服务器上~ . sudo in.tftpd -l /tftpboot 这样tftp服务器就启动了,下面可以做一个测试 4. cd /tftpboot touch test 建立一个文件 5. cd /home/usrname 登录另一个目录 6. tftp 192.168.0.59 换成自己的ip > get /tftpboot/test 打开目录 /etc/xinetd.d/ 新建文件tftp tftp内容: service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 } 重新启动服务: sudo /etc/init.d/xinetd restart sudo in.tftpd -l /tftpboot 安装过程中出现的问题及原因 现象一: tftp> get test.log Transfer timed out. 原因: tftpd服务没有启动 现象二: tftp> get test.log Error code 2: Only absolute filenames allowed 原因: 在/etc/xinetd.d/tftpd中设置的server_args为/etc/default/tftpd-hpa //使用这个默认的 cat /etc/default/tftpd-hpa #Defaults for tftpd-hpa RUN_DAEMON="no" OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd" 设置的时候只要将server_args=改为你自己设定的服务器文件夹就行了 现象三: tftp> put ex070416.log Error code 1: File not found 原因: 指定的文件不存在;或tftpd启动参数中没有指定-c选项,允许上传文件 1. sudo apt-get install tftp-hpa tftpd-hpa 2. cd / sudo mkdir /tftpboot sudo chmod 777 /tftpboot 3. sudo in.tftpd -l /tftpboot 这样tftp服务器就启动了,下面可以做一个测试 4. cd /tftpboot touch test 建立一个文件 5. cd /home/usrname 登录另一个目录 6. tftp 192.168.0.59 换成自己的ip > get /tftpboot/test 如果能够得到文件,那么就成功了. PS:不要忘了 sudo apt-get install xinetd sudo apt-get install netkit-inetd 关于不能上传(put)的解决 打开目录 /etc/xinetd.d/ 新建文件tftp tftp内容: service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 } 重新启动服务: sudo /etc/init.d/xinetd restart sudo in.tftpd -l /tftpboot uboot使用这个来下载kernel, 对ubuntu用户来讲,配置这个不是很友好. 安装程序 sudo apt-get install tftp tftpd 前者是客户端,后者是服务程序. 只这样是不行的,tftp是要inetd来控制的,而ubuntu或debian类的系统,默认是没有安装inetd的,安装一下: sudo apt-get install netkit-inetd 在/目录下建一个tftpboot, 把属性改成777. cd / sudo mkdir tftpboot sudo chmod 777 tftpboot 修改/etc/inetd.conf tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot 重新加载inetd进程 sudo /etc/init.d/inetd reload 测试一下,在/tftpboot文件夹下新建立一个文件 touch aaa 进入另外一个文件夹 tftp 10.0.0.1 tftp> get aaa 是不是工作正常了呢? 现在把你编译好的内核文件拷贝到/tftpboot下面,使用u-boot的tftp命令加栽内核到目标板内存了. 下面介绍我们接下来要安装的三个包: 2.tftpd :服务端 第一步:安装相关软件包 sudo apt-get install tftpd (服务端) 第二步:建立配置文件 cd /etc/xinetd.d/ QUOTE:
存盘退出 3、建立tftp服务文件目录 提示:在执行了这个命令后,可能显示一些信息,但是不会影响使用(具体什么原因我也不太清楚),下面的步骤顺利通过就可以了. 安装完成!测试方法: 然后 运行tftp 服务器ip(比如tftp 192.168.1.1), 进入tftp命令行 输入get abc 看看是不是能把文件下下来,如果可以就可以了,也可以put 文件上去. |
|
来自: langhuayipian > 《linux commd》