安装后我遇到了一个奇怪的 mongodb 问题,它以一条消息结尾
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
dpkg: error processing mongodb-10gen (--configure):
这里有什么问题我按照这里给出的步骤操作:http ://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
安装后我遇到了一个奇怪的 mongodb 问题,它以一条消息结尾
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
dpkg: error processing mongodb-10gen (--configure):
这里有什么问题我按照这里给出的步骤操作:http ://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
问题是您正在尝试安装为 Upstart 初始化服务打包的版本,但 Debian Squeeze 默认仍使用 SysV init。
安装文档中有关于此的注释:http: //docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux/#installing-mongodb
如果您使用的是使用 SysV 风格的 init 进程的 Debian 或 Ubuntu,请使用以下行:
deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen
这意味着您需要在 /etc/init.d/ 中创建 mongodb 启动脚本
试试这个脚本
#!/bin/bash
#
# mongodb Startup script for the mongodb server
#
# chkconfig: - 64 36
# description: MongoDB Database Server
#
# processname: mongodb
#
# Source function library
. /lib/lsb/init-functions
if [ -f /etc/sysconfig/mongodb ]; then
. /etc/sysconfig/mongodb
fi
prog="mongod"
mongod="/usr/local/mongodb/bin/mongod"
RETVAL=0
start() {
echo -n $"Starting $prog: "
daemon $mongod "--fork --logpath /var/log/mongodb.log --logappend 2>&1 >>/var/log/mongodb.log"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}
reload() {
echo -n $"Reloading $prog: "
killproc $prog -HUP
RETVAL=$?
echo
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
condrestart)
if [ -f /var/lock/subsys/$prog ]; then
stop
start
fi
;;
reload)
reload
;;
status)
status $mongod
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|reload|status}"
RETVAL=1
esac
exit $RETVAL
在终端输入后:
sudo chmod +x /etc/init.d/mongodb
sudo /etc/init.d/mongodb start
ps -A | grep mongod