MongoDB purge zachová chybný init

MongoDB purge zachová chybný init
« kdy: 06. 05. 2014, 01:09:31 »
Snazim sa nainstalovat mongodb, ale vzdy mi ho nainstaluje s prazdnym init skriptom, cim nie je mnozne mongodb spustit. Snazil som sa uplne cez apt-get --purge remove odstranit mongodb ale po opatovnom nainstalovani nainstalovalo rovnaky init skritp...skusal som aj cez dpkg a deb balicek..to iste..hadze tuto chybu:

Citace
dpkg -i mongodb-10gen_2.4.10_amd64.deb
Selecting previously deselected package mongodb-10gen.
(Reading database ... 37320 files and directories currently installed.)
Unpacking mongodb-10gen (from mongodb-10gen_2.4.10_amd64.deb) ...
Setting up mongodb-10gen (2.4.10) ...
Starting database: mongod.
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
insserv: warning: script 'mongodb' missing LSB tags and overrides
insserv: Default-Start undefined, assuming empty start runlevel(s) for script `mongodb'
insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `mongodb'

neviete ako to vsetko uplne odstranit...a nanovo nainstalovat so spravnym init skriptom? dakujem
« Poslední změna: 06. 05. 2014, 10:08:47 od Petr Krčmář »


Asi by neškodilo, kdybys aspoň napsal, odkud jsi ten balíček získal, jakou verzi Debianu máš a jaké initscripty (pokud se nepletu, Debian umí víc initů).

Když jsem se letmo podíval do obsahu balíčku http://downloads-distro.mongodb.org/repo/debian-sysvinit/dists/dist/10gen/binary-amd64/mongodb-10gen_2.4.10_amd64.deb, tak tam init script i korektní post-install script vidím... A ten initscript se jmenuje "mongodb", ne "mongod". Na první pohled mi to přijde, jako že instaluješ nějakej vadnej balíček kdo ví odkud...

instalujem tak ze som si toto pridal do /etc/apt/sources.list:
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

skusal som aj z oficialnej stranky stiahnut balicek...a cez dpkg...
vies mi tu prosim poslat ten obsha toho init skriptu..neviem sa k tomu dostat...

nech preinstalujem 10 roznych balickov, odstranim, restartujem...stale tam je ten isty /etc/init.d/mongodb (s rovnakym obsahom), co zabranuje aj spusteniu mongodb....

mhepp

Hmmm... http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/

Pokud Ti staci verze 2.4.X, tak ta je primo v repozitarich debianu.

Tvuj postup nefunguje nejspis proto,ze pouzivas verzi pro upstart init...


skusal som aj priamo stiahnut balicek:

a toto ukazuje:

dpkg -i mongodb-10gen_2.4.10_amd64.deb
Selecting previously deselected package mongodb-10gen.
(Reading database ... 37367 files and directories currently installed.)
Unpacking mongodb-10gen (from mongodb-10gen_2.4.10_amd64.deb) ...
Obsolete conffile /etc/init.d/mongodb has been modified by you, renaming to .dpkg-bak
Setting up mongodb-10gen (2.4.10) ...

Configuration file `/etc/mongodb.conf'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** mongodb.conf (Y/I/N/O/D/Z) [default=N] ? y
Installing new version of config file /etc/mongodb.conf ...
Starting database: mongod.
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
insserv: warning: script 'K02mongodb' missing LSB tags and overrides
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
Usage: /etc/init.d/mongod {start|stop|force-stop|restart|force-reload|status}
insserv: warning: script 'mongodb' missing LSB tags and overrides
Processing triggers for man-db ...

vzdy to nainstaluje s rovnakym /etc/init.d/....a je mozne ze aj niekde inde instaluje nieco chybne...ako zabezpecit aby nainstalovalo defaultne to co je v instalacnom baliku? a komplet odinstalovalo vsetky veci co tam nemaju byt?

Lol Phirae

Krucifix, proč instaluješ Blbuntu verzi z nějakého obskurního repozitáře, která potřebuje upstart? Na co se furt ptáš, už ti to tady napsali.

mhepp ti to píše správně - verze pro upstart ti asi těžko bude fungovat na Debianu. Jak jsi přišel na instalaci téhle verze, v manuálu je to snad jasně, ne?

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/

Re:MongoDB purge zachová chybný init
« Odpověď #9 kdy: 06. 05. 2014, 10:18:04 »
robim to podla manualu a to iste....ostava tam ten isty init, ktory je zly...nejde ho vymazat, po odinstalovani sa vymaze po opatovnom nainstalovani je tam znova ten isty

Re:MongoDB purge zachová chybný init
« Odpověď #10 kdy: 06. 05. 2014, 10:22:02 »
V tom balíku, co jsem odkazoval, žádnej soubor "mongod" není, takže ta chyba nemůže být ta stejná. Asi v tom máš nějakej chaos. Buď pošli kompletní výpisy všech příkazů a případně dotčených konfiguráků (apt), nebo se s tím budeš asi muset poprat sám :)

Re:MongoDB purge zachová chybný init
« Odpověď #11 kdy: 06. 05. 2014, 10:38:56 »
nie mongod, mongodb, tu je /etc/init.d/mongodb:

Citace
#!/bin/sh
#
# init.d script with LSB support.
#
# Copyright (c) 2007 Javier Fernandez-Sanguino <jfs@debian.org>
#
# This is free software; you may redistribute it and/or modify
# it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2,
# or (at your option) any later version.
#
# This is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License with
# the Debian operating system, in /usr/share/common-licenses/GPL;  if
# not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
#
### BEGIN INIT INFO
# Provides:          mongodb
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $network $local_fs $remote_fs
# Should-Start:      $named
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: An object/document-oriented database
# Description:       MongoDB is a high-performance, open source, schema-free
#                    document-oriented  data store that's easy to deploy, manage
#                    and use. It's network accessible, written in C++ and offers
#                    the following features:
#                   
#                       * Collection oriented storage - easy storage of object-
#                         style data
#                       * Full index support, including on inner objects
#                       * Query profiling
#                       * Replication and fail-over support
#                       * Efficient storage of binary data including large
#                         objects (e.g. videos)
#                       * Auto-sharding for cloud-level scalability (Q209)
#                   
#                    High performance, scalability, and reasonable depth of
#                    functionality are the goals for the project.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/mongod
DESC=database

NAME=mongodb
# Defaults.  Can be overridden by the /etc/default/$NAME
# Other configuration options are located in $CONF file. See here for more:
# http://dochub.mongodb.org/core/configurationoptions
CONF=/etc/mongodb.conf
PIDFILE=/var/run/$NAME.pid
ENABLE_MONGODB=yes

# Include mongodb defaults if available
if [ -f /etc/default/$NAME ] ; then
   . /etc/default/$NAME
fi

# Handle NUMA access to CPUs (SERVER-3574)
# This verifies the existence of numactl as well as testing that the command works
NUMACTL_ARGS="--interleave=all"
if which numactl >/dev/null 2>/dev/null && numactl $NUMACTL_ARGS ls / >/dev/null 2>/dev/null
then
    NUMACTL="`which numactl` -- $NUMACTL_ARGS"
    DAEMON_OPTS=${DAEMON_OPTS:-"--config $CONF"}
else
    NUMACTL=""
    DAEMON_OPTS="-- "${DAEMON_OPTS:-"--config $CONF"}
fi

if test ! -x $DAEMON; then
    echo "Could not find $DAEMON"
    exit 0
fi

if test "x$ENABLE_MONGODB" != "xyes"; then
    exit 0
fi

. /lib/lsb/init-functions

STARTTIME=1
DIETIME=10                   # Time to wait for the server to die, in seconds
                            # If this value is set too low you might not
                            # let some servers to die gracefully and
                            # 'restart' will not work

DAEMONUSER=${DAEMONUSER:-mongodb}

set -e

running_pid() {
# Check if a given process pid's cmdline matches a given name
    pid=$1
    name=$2
    [ -z "$pid" ] && return 1
    [ ! -d /proc/$pid ] &&  return 1
    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
    # Is this the expected server
    [ "$cmd" != "$name" ] &&  return 1
    return 0
}

running() {
# Check if the process is running looking at /proc
# (works for all users)

    # No pidfile, probably no daemon present
    [ ! -f "$PIDFILE" ] && return 1
    pid=`cat $PIDFILE`
    running_pid $pid $DAEMON || return 1
    return 0
}

start_server() {
# Start the process using the wrapper
            start-stop-daemon --background --start --quiet --pidfile $PIDFILE \
                        --make-pidfile --chuid $DAEMONUSER \
                        --exec $NUMACTL $DAEMON $DAEMON_OPTS
            errcode=$?
   return $errcode
}

stop_server() {
# Stop the process using the wrapper
            start-stop-daemon --stop --quiet --pidfile $PIDFILE \
                        --retry 300 \
                        --user $DAEMONUSER \
                        --exec $DAEMON
            errcode=$?
   return $errcode
}

force_stop() {
# Force the process to die killing it manually
   [ ! -e "$PIDFILE" ] && return
   if running ; then
      kill -15 $pid
   # Is it really dead?
      sleep "$DIETIME"s
      if running ; then
         kill -9 $pid
         sleep "$DIETIME"s
         if running ; then
            echo "Cannot kill $NAME (pid=$pid)!"
            exit 1
         fi
      fi
   fi
   rm -f $PIDFILE
}


case "$1" in
  start)
   log_daemon_msg "Starting $DESC" "$NAME"
        # Check if it's running first
        if running ;  then
            log_progress_msg "apparently already running"
            log_end_msg 0
            exit 0
        fi
        if start_server ; then
            # NOTE: Some servers might die some time after they start,
            # this code will detect this issue if STARTTIME is set
            # to a reasonable value
            [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
            if  running ;  then
                # It's ok, the server started and is running
                log_end_msg 0
            else
                # It is not running after we did start
                log_end_msg 1
            fi
        else
            # Either we could not start it
            log_end_msg 1
        fi
   ;;
  stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        if running ; then
            # Only stop the server if we see it running
         errcode=0
            stop_server || errcode=$?
            log_end_msg $errcode
        else
            # If it's not running don't do anything
            log_progress_msg "apparently not running"
            log_end_msg 0
            exit 0
        fi
        ;;
  force-stop)
        # First try to stop gracefully the program
        $0 stop
        if running; then
            # If it's still running try to kill it more forcefully
            log_daemon_msg "Stopping (force) $DESC" "$NAME"
         errcode=0
            force_stop || errcode=$?
            log_end_msg $errcode
        fi
   ;;
  restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
      errcode=0
        stop_server || errcode=$?
        # Wait some sensible amount, some server need this
        [ -n "$DIETIME" ] && sleep $DIETIME
        start_server || errcode=$?
        [ -n "$STARTTIME" ] && sleep $STARTTIME
        running || errcode=$?
        log_end_msg $errcode
   ;;
  status)

        log_daemon_msg "Checking status of $DESC" "$NAME"
        if running ;  then
            log_progress_msg "running"
            log_end_msg 0
        else
            log_progress_msg "apparently not running"
            log_end_msg 1
            exit 1
        fi
        ;;
  # MongoDB can't reload its configuration.
  reload)
        log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
        log_warning_msg "cannot re-read the config file (use restart)."
        ;;

  *)
   N=/etc/init.d/$NAME
   echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
   exit 1
   ;;
esac

exit 0

Ono sa to nainstaluje...len vyzera ze to nebezi v ps ax...nemam ziadny mongodb, mongod....
a nejde spustit ani program zavisly na mongodb

Re:MongoDB purge zachová chybný init
« Odpověď #12 kdy: 06. 05. 2014, 10:44:20 »
Jak říkám - buď sem nahoď všechno, nebo si budeš muset poradit sám. Nikdo není tak strašně natěšenej jenom aby ti mohl pomoct, aby z tebe informace tahal jak z chlupaté deky.

podlesh

Re:MongoDB purge zachová chybný init
« Odpověď #13 kdy: 06. 05. 2014, 11:18:02 »
Pokud purge nezafunguje (což je docela podezřelé), tak si to prostě smaž ručně.
No a až budeš mít všechen bordel odmazán a odstraněnou tu nesmyslnou repository, tak začni znova - a tentokrát si dávej pozor co instaluješ a odkud.

Re:MongoDB purge zachová chybný init
« Odpověď #14 kdy: 04. 07. 2014, 09:51:09 »
po dlhsom case som sa k tomu dostal:



môj /etc/apt/sources/list:

deb http://www.ubnt.com/downloads/unifi/distros/deb/debian debian ubiquiti
deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen

Robím to podľa tohto návodu:

http://community.ubnt.com/t5/UniFi-Updates-Blog/UniFi-3-2-1-is-released/ba-p/872360

 
A tu je výpis chyb:

dpkg: error processing mongodb-10gen (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
                                      dpkg: dependency problems prevent configuration of unifi-beta:
 unifi-beta depends on mongodb-10gen (>= 2.0.0) | mongodb-server (>= 2.0.0); however:
  Package mongodb-10gen is not configured yet.
  Package mongodb-server is not installed.
dpkg: error processing unifi-beta (--configure):
 dependency problems - leaving unconfigured
configured to not write apport reports
                                      Errors were encountered while processing:
 mongodb-10gen
 unifi-beta
E: Sub-process /usr/bin/dpkg returned an error code (1)