Chinaunix首页 | 论坛 | 博客
  • 博客访问: 466948
  • 博文数量: 100
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 955
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-21 09:30
文章分类

全部博文(100)

文章存档

2017年(1)

2016年(16)

2015年(83)

我的朋友

分类: 嵌入式

2015-06-27 10:58:04

之前只装了tftpd-hpa,发现开机不能自动启动tftp服务器,装了xinetd也没用。
而且xinetd之后,必须/etc/default/tftpd-hpa xinetd.conf两个文件的服务器路径都要改成一致才行,很麻烦。
后来看同事用的是openbsd-inetd,试了一下,很方便,记录下来。
首先确保没有装xinetd,装了的话卸载掉。

sudo apt-get install tftp-hpa tftpd-hpa openbsd-inetd

vim /etc/inetd.conf
tftp        dgram   udp wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /home/richard/work/tftpboot
修改红色字体路径为tftp路径即可.
重启服务:
sudo service openbsd-inetd restart

测试:
在tftpboot目录下新建一个文件
touch test
tftp localhost
tftp> get test

inetd我猜测是internet superserver daemon的缩写。

20151209:
在重装系统时发现,其实inetd早就被xinetd替代了,所以最好还是用xinetd。另外,如果只安装 tftpd-hpa,也可以开启tftp服务,但是每次开机都需要手动执行一次service  tftpd-hpa restart(注意是restart,不是start)。而安装xinetd后,每次开机,只要不执行service tftpd-hpa restart,都会以/etc/xinetd.d中的配置目录为准。一旦执行service tftpd-hpa restart,就会以/etc/default/tftpd-hpa配置为准。


xinetd.d的配置也很简单,只需在xinetd.d目录下新建一个tftp文件,内容为

service tftp
{
disable         = no
socket_type     = dgram
protocol        = udp
wait            = yes
user            = root
server          = /usr/sbin/in.tftpd
server_args     = -s /tftpboot
source          = 11
cps             = 100 2
flags =IPv4
}
 
可见xinetd的配置是以server为关键字,括号为界限配置的。配置好之后执行sudo server xinetd restart即可,注意一定要用sudo权限执行,即使是root用户也必须用sudo执行,否则会出现start: 未知任务: xinetd的错误,弄了一整天才发现是这个问题。
英文则提示为start: unknown jobs : xinetd


补充:
如果想开机自启动的话,可以执行sysv-rc-conf或update-rc.d配置,ubuntu10.04是chkconfig。

阅读(2873) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~