Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1830763
  • 博文数量: 237
  • 博客积分: 9995
  • 博客等级: 中将
  • 技术积分: 2890
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-30 10:33
文章分类

全部博文(237)

文章存档

2011年(1)

2007年(59)

2006年(177)

我的朋友

分类: BSD

2006-10-14 10:12:52

昨天晚上在 4.6.2 上面安装 pure-ftpd,然后自己写了一个启动脚本,放在 /usr/local/etc/rc.d/ 目录中。
因为我的马虎大意,脚本中写错了一处,但是自己没有察觉,于是就重新启动机器。这台机器没有连接键盘和显示器,上面的操作全都在 ssh 远端操作。
后来重新启动了以后,ftp 好用了,就没在意。过了一会儿想 ssh 上去,发现机器无法连接,而且 webmin 也不好用了,这下可把我急坏了,想了半天想不出是为什么!
后来干脆强行关机,接上键盘、显示器,重新启动,发现启动到 pure-ftpd 脚本的时候卡住了,按Ctrl-C可以过去,这下才正常。
原来,FreeBSD 启动时运行 /usr/local/etc/rc.d/ 中的启动脚本的时候,是按照文件名的次序来运行的,由于 pure 按照文件名排在 sshd、webmin 之前,因此当 pure 脚本卡住的时候,后面的脚本都不能运行了,所以才会出现 ssh、webmin 连不通,因为 sshd 和 webmin 的服务都还没有启动。
那么,如何改变脚本的启动顺序呢?FreeBSD 自带的 PostgreSQL 已经给出了例子,那就是把脚本名字加上一个前缀,比如 020.sshd.sh 030.webmin.sh,这样,数字名字就会比普通的字符先运行,排号越低的越先运行。这样,把 sshd 的运行等级提高到第一,就可以保障一旦出现了启动脚本的问题,仍可以通过 ssh 登录到服务器作修改。
阅读(2412) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~