最近,我在搞一套NMS,其中用到Ntop,希望server每次启动时能自动加载Ntop,于是,按照以前RHEL中的习惯,在/etc/rc.local文件中加入
“ntop -i wlan0 -d -L -u ntop &> /dev/null",可是重启后,发现Ntop根本未执行!如下所示:
qijie@sunshine:~$ ps aux |grep ntopqijie 2124 0.0 0.0 4012 752 pts/0 S+ 14:51 0:00 grep --color=auto ntop于是,开始google又百度,遇到同样问题的还不少,皆说是须将命令行写在exit 0前,也有说须将rc.local开头的“#!/bin/sh -e”中的
-e去掉(
据说可以忽略脚本执行的错误,否则脚本就会停止执行),然皆无效!在N+1次百度后,终于找到属于Ubuntu的原因和解决方法。
从下面可看出,Ubuntu的默认Shell是dash,而不是Bash!
root@sunshine:/home/qijie# ls -al /bin/shlrwxrwxrwx 1 root root 4 2010-10-03 23:42 /bin/sh -> dashUbuntu的wiki 里面有官方的解释,主要原因是dash更小,运行更快,且与POSIX兼容!但目前存在的问题是,由于shell的更换,致使很多脚本出错,毕竟现在的很多脚本不是100%POSIX兼容。
解决方法就是将其默认的Shell更改为Bash:
方法一: 在终端执行 sudo dpkg-reconfigure dash,然后选择 no (recommend);方法二:重新进行软链接sudo rm /bin/shsudo ln -s /bin/bash /bin/sh我在采用方法一后,Ntop能自动加载了。如下所示:root@sunshine:/home/qijie# ps aux |grep ntopntop 2493 0.5 1.5 127536 31580 ? Ssl 14:52 0:02 ntop -i wlan0 -d -L -u ntoproot 2738 0.0 0.0 4012 752 pts/0 S+ 14:59 0:00 grep --color=auto ntop问题得到圆满解决!利用 DRBL 建立电脑教室 PC 群播还原机制Ubuntu下用Conky Colors轻松配置漂亮的Conky相关资讯 Ubuntu教程 - Ubuntu教程 - 使用Ubuntu拷贝CD和 (12/18/2013 14:38:16)
- 让Ubuntu 12.10支持RAR和7Z文件解 (11/15/2012 18:51:50)
- Windows 7硬盘安装Ubuntu 12.10图 (11/03/2012 19:22:47)
| - 完美安装Ubuntu 12.10最新AMD显卡 (11/27/2012 08:17:47)
- Win 7硬盘安装Ubuntu 12.10 (11/05/2012 13:30:34)
- 虚拟机上Ubuntu 11.10升级到12.04 (10/12/2012 20:00:38)
|
本文评论 查看全部评论 (0)