sinlff 2011-01-10
由于在调试Linxu时需要使用网络来进行下载内核,平时使用的是在Windows下采用tftp软件来完成此操作,但是当调试内核是需要经常的来修改内核来进行调试,所以要经常的从Linux下拷贝内核到Windows下,非常麻烦,于是想在Linux下配置tftp服务来进行直接下载。从从网上找了好久,找了一个比较好的文章并试了一下,结果满意。
1、首先要打开root权限的终端。
Ubuntu 的 10.XX以上,已经可以找到root的终端,如果没有,可以使用普通的终端使用sudo命令前缀。
2、下载并安装tftp服务器。
一般网上的教程都要下三个文件,一个是tftp,一个是tftpd ,一个是openBSD-inetd。其实大部分的使用采用tftpd和openBSD-inetd就够了。不过为了统一和傻瓜性,还是用大家都喜欢用的命令。链接网线后,在终端输入。
sudo apt-get install tftpd tftp openbsd-inetd
按照提示确认并完成
3、重新启动系统。
4、打开终端,编辑配置文件/etc/inetd.conf
建议采用命令:sudo vim /etc/inetd.conf
在这个配置文件里面找到下面的位置:
#:BOOT: TFTP service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
#我把上面的默认的配置文件用井号注释掉了,自己配置了下面的一行
#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftp
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftp
保存文件退出。
5、创建TFTP服务器的文件目录。
打开终端,进入根目录(用cd / )(或cd ..)退到顶。
输入命令:
sudu mkdir tftp
sudu chmod 777 /tftp
如果有需要下载的文件这时可以拷贝进去,也用chmod 777命令把所有权限打开。
6、通过下面命令启动(或重启)xinetd服务
sudo /etc/init.d/openbsd-inetd restart
7、查看69端口是否有打开,使用下面命令
netstat -an | more
打印出的东西中找到如下即可:
udp 0 0 0.0.0.0:69 0.0.0.0:*
8、最好统一一下操作 ,reboot一下系统。
9、系统重启后再使用: sudo /etc/init.d/openbsd-inetd restart 命令 重置一下状态。
10、在本机测试一下:
在/tftp目下新建一个文件,并写入数据:
root@ubuntu:/tftp# echo tftp test > test.txt
到 home 目录下:
root@ubuntu:/tftp# cd /home/
root@ubuntu:/home# tftp 192.168.0.114
tftp> get test.txt
Received 11 bytes in 0.1 seconds
tftp> quit
root@ubuntu:/home# cat test.txt
tftp test
测试成功,大功告成。