海王  
http://blog.sina.com.cn/s/blog_43bce9bb0100kx66.html


 

首先说明
在ubuntu10.4下,安装的是tftp-hpa和tftpd-hpa而不是tftp和tptpd。因为,通过网上搜索到的帖子,安装tftp和 tptpd后,如果在本地测试的话是OK的。而换台电脑,真正的远程通过tftp来get文件或put文件。则总是显示Transfor time out。但是,通过 $ netstat -nlp命令查看,tftpd的确已经启动了呀。不知何解,故放弃tftp和tftpd。

1.安装tftp的服务端和客户端:
sudo apt-get install tftpd-hpa ;安装tftp服务端
sudo apt-get install tftp-hpa 
  ;安装tftp客户端

2.安装xinetd
sudo apt-get install xinetd


3.在/下建立tftpboot目录,作为服务器的目录
sudo mkdir /tftpboot
释放权限:
sudo chmod 777 /tftpboot

4.配置TFTP服务器:

sudo gedit /etc/default/tftpd-hpa

打开tftpd-hpa文件,进行编辑。

其内容为:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"                   //tftp的名字

#TFTP_DIRECTORY="/var/lib/tftpboot"     //原来的共享路径

TFTP_DIRECTORY="/tftpboot"                  //我自己更改的路径

TFTP_ADDRESS="0.0.0.0:69"

#TFTP_OPTIONS="--secure"                   //可以查看mantftpd,看各种参数的意义。

#服务器目录,需要设置权限为777

mkdir /tftpboot

chmod 777 /tftpoot

#这个目录要改为你自己的TFTP根目录~~~

TFTP_DIRECTORY="/home/thexin/tftpboot"

#参数设置看个人需要

TFTP_OPTIONS="-l -c -s"


5.重启xinetd服务
sudo /etc/init.d/xinetd restart

6.重启tftpd服务
sudo /etc/init.d/tftpd-hpa restart

7.这样就可以了,在/home/tftpd中建立一个文件
touch haha

切换到另一个目录中,然后
tftp localhost(或者是自己的IP)
tftp>get haha

这样就能在当前目录下get到 haha文件了(put是上传)

如果 get的时候显示 time out,应该是服务没有启动
sudo /etc/init.d/xinetd restart
sudo /etc/init.d/tftpd-hpa restart
这样应该就可以了

遇到的问题:

#tftp 192.168.1.47

#get zImage

Error code 0: Permission denied

原因:zImage 权限太高

解决办法:

$cd /home/tftpd

$ls -l zImage

-rwx------ 1 yan yan 1978508 2009-08-23 17:24 zImage

$chmod 777 zImage

这样就可以访问该文件
 

 

 报错如下: TFTP error: 'Only absolute filenames allowed'

表示需要绝对路径: tftp c0000000 /srv/tftpdir/zImage

 

posted on 2011-03-17 11:43  海王  阅读(1585)  评论(0编辑  收藏  举报