ARM学习心得之 TFTP安装配置


今天忙了整整一个下午带半个晚上,终于把tftp给安装上了,费了老大的劲儿,怪不得人们都不愿意在LINUX安装软件,真是不好整。

把整个过程写下来,记个方法。

下午首先是在公司的Fedora8上安装,直接YUM INSTALL TFTP ,倒是挺快,只是总是快到完成时,便报网络错误然后重新再下,过了好几次,我就只好放弃,自己手动在网上找这个软件。可是还真是不好找,大多是WINDOWS下的,LINUX下的没找到。只好作罢。

回家从FEDORA6里面的3和5CD里分别找到了服务器端和客户端的安装包。客户端很顺利的安装上了。

rpm -ivh tftp-0.42-3.1.i386.rpm,只有一个警告,可以不用理他。但是在安装服务器端时出现了一个错误:

xinetd is needed by tftp-server,下午就知道这个东西得需要这个网络服务,于是从网上下了一个xinetd-2.3.14.tar.gz,然后按网上说的,先是tar -zxvf xinetd-2.3.14.tar.gz,然后make,然后make install,没有出现什么错误。但是一安装TFTP SERVER还是报上面那个依赖错误。按照网上说的,在etc/目录下也找不到XINETD.CONF,虽然在安装完那个XINETD软件后提示让把其下面的一个SAMPLE.CONF拷了过去,但一直还是不能配置好。

心中真是郁闷了,后来在网上看到一个初学者安装用的是RPM包,心下一亮,这个东西是打包好的,应该不会错,于是就从网上下,还真是麻烦,找不到,直到在GOOGLE上搜到了一个台湾的服务器,把xinetd-2.3.14-14.fc8.i386.rpm给下载了,安装,结果报缺少一个libc.so.6 is needed by  XXXX,上网一查,版本低的原因,我的内核没有编译上网络驱动,唉,没法子更新,只好下一个低版本的XINETD,心中一怒,把4,10,12都下了来,直接用得是10,结果一下子就编译成功了。呵呵。

下载xinetd-2.3.14-14.fc8.i386.rpm

Q然后把/etc/xinetd.d/tftp将其中将disable=yes改成no。启动服务:/etc/init.d/xinetd start

后来估计那个源包编译不能通过可能也是版本的问题,真是害死人啊。

这么简单的东西,可怜的老范做了有大约五个小时吧。

记得启动服务:

    service xinetd start
    chmod o+w /tftpboot

或者:chmod 777 /tftpboot

其目录下的文件等也必须有这个权限。

与本机测试时,如果用虚拟机记得要把NAT方式改成桥接方式:

然后:

 tftp 192.168.1.208 PUT(GET)  11.txt

下载没问题,上传会报:Error code 0: Permission denied

这是因为在FC4后对SELINUX默认对TFTP都是关闭的,用VI打开/etc/sysconfig/selinux将其中的SELINUX=enforce改成SELINUX=disabled,重启电脑,OK。

如果上传时报找不到文件,可以先在LINUX服务器端新建一个文件来解决,但是我记得有一个命令可以强制上传的,但是找不到了。

tftpd启动参数中没有指定-c选项,允许上传文件:

在/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"

更详细说明见TFTP服务下的WORD文件第二部分。

(注意,如果立刻使用TFTP无效,请重启LINUX操作系统即可)

继续努力!!!!!!!!!!!!!!!!!!!!!!!

相关内容