2012-05-24 10 views
6

Ich bin ein seltsames Problem mit mongodb nach der Installation mit es mit einer Nachricht endetMongoDB startet nicht in ubuntu

invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found. 
dpkg: error processing mongodb-10gen (--configure): 

Was ist hier falsch Ich folgte den hier angegebenen Schritten: http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

+0

Überprüfung der Pfad mongod und dann ./mongod – gsagrawal

+0

Welche Version von Ubuntu/Debian benutzt du? Welche Version von MongoDB? Kannst du ../bin/mongod finden? Läuft es in der Konsole? – mayhewr

+0

@mayhewr kein kein/bin/mongod –

Antwort

10

Das Problem ist, dass Sie für Upstart init Dienste verpackt eine Version zu installieren versuchen, aber Debian Squeeze noch SysV init standardmäßig verwendet.

Es gibt einen Hinweis auf das in der Dokumentation installieren: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux/#installing-mongodb

Falls Sie Debian oder Ubuntu verwenden, die SysV-Stil Init-Prozess verwendet, verwenden Sie die folgende Zeile:

deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen 
4

Dieses Mittel dass Sie erstellen müssen MongoDB dieses script

#!/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 
Skript in /etc/init.d/

Versuchen starten

nach Typ im Terminal:

sudo chmod +x /etc/init.d/mongodb 
sudo /etc/init.d/mongodb start 
ps -A | grep mongod 
+0

Ja ich habe das versucht, aber ich arbeite nicht. Ich speichere diese Umbenennung in mongodb in /etc/init.d und mache sie dann ausführbar, aber es funktioniert nicht. –

+0

Sie müssen einige Aktionen im Terminal und geben Sie mir Ausgabe-Informationen –

+0

in /etc/init.d Ich habe eine Zeile $ lrwxrwxrwx 1 root root 21 24. Mai 12.08 mongodb ->/lib/init/upstart-job /etc/init.d/mongodb \\ /etc/init.d/mongodb starten: Linie 10: /etc/rc.d/init.d/functions: Keine solche Datei oder das Verzeichnis dieser Fehler –