Debian的开机登录网络启动脚本

来源:互联网 发布:深圳万户网络 编辑:程序博客网 时间:2024/06/05 08:55
刚刚,参照着Debian的帮助,解决了开机登录上网的问题。
由于我们学校的教育网登录要用一个认证软件,Linux下面没有对应的,我用的这个登录软件是mystar(应该是某些人自己开发的),不过这个mystar只有启动,而且不判断重复启动,没有后台模式,读取配置文件mystar.conf又必须在当前目录下,感觉上很麻烦,所以一直没去弄。
最近,看Debian参考手册时候,终于清楚了Debian的启动脚本放置办法。/etc/init.d就是放置所有脚本的地方,然后/rc?.d/下面是实际启动的地方,都是/etc/init.d/下脚本的链接。根据/etc/init.d/README的解释,我下了Debian-Policy包,看init.d下脚本的写法(9.3 System run levels and init.d scripts)。主要是一定要实现start,stop,restart,force-reload(还有一个reload方法可选),然后可以由update-rc.d来生成链接(我直接用了rcconf……)。附了一个样例,我照葫芦画瓢搞定了mystar的登录。
/etc/init.d/mystar内容如下:
#!/bin/sh
#
# A shell for start mystar to log on network

#test -x /usr/local/bin/mystar || exit 0 

case "$1" in
start)
  echo -n "Starting Log in network: "
  start-stop-daemon --start --exec /usr/local/bin/mystardaemon.sh /
               --chdir /usr/local/bin/
  echo "."
  ;;
stop)
  echo -n "Stop from log in network"
  ;;
restart)
  ;;
force-reload|reload)
  ;;
*)
  echo "Usage: /etc/init.d/mystar" /
    "{start}" >&2
  exit 1
  ;;
esac

exit 0

由于是后台启动,需要用&,所以在/usr/local/bin下面我写了一个mystardaemon.sh用来启动mystar:
/usr/local/bin/mystardaemon.sh如下:
#!/bin/sh

cd /usr/local/bin
./mystar &

都很简单的。而且……其实这个也根本不符合Debian的规范。我到现在为止都不知道如何把mystar给停下来……kill不掉……不知道该怎么弄了……所以启动脚本真正的只能启动了……
最后就简单了,执行rcconf,把mystar勾上就行了。
等有时间再研究一下能不能写得更规范些。另外,这个mystar似乎还是有点呆,看能不能找到资料把它重写一下作为练手……