web-dev-qa-db-ja.com

MongoDBをアップグレードした後、起動せず、ログが空になります

この問題を手伝ってくれませんか。システムDebianGNU/Linux 7.6(wheezy)を更新(apt-get upgrade)しましたが、 ディスク容量の問題 操作が失敗しました。ディスク容量を解放した後、MongoDBが起動しません。私はいくつかの手順を試しました。

最初のapt-get --purge remove mongodb-org:

invoke-rc.d: unknown initscript, /etc/init.d/mongod not found.
dpkg: error processing mongodb-org-server (--configure):
 subprocess installed post-installation script returned error exit status 100
Errors were encountered while processing:
 mongodb-org-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

/etc/init.d/には次のようなものがありました。

mongod -> /lib/init/upstart-job 

これを削除して、他のシステムの他のmongoDBインストールのmongodに置き換えました。その後、アンインストールは正しかった。

apt-get install -y mongodb-orgを実行した後、次の問題で失敗しました。

invoke-rc.d: unknown initscript, /etc/init.d/mongod not found.
dpkg: error processing mongodb-org-server (--configure):
 subprocess installed post-installation script returned error exit status 100
Setting up MongoDB package-org-Mongos (2.6.4) ...
Setting up MongoDB package-org-tools (2.6.4) ...
dpkg: unmet dependencies prevent configuration package MongoDB-org:
  MongoDB-org depends on MongoDB-org-server; but:
   MongoDB package-org-server is not configured yet.

/etc/init.d/には次のようなものがありました。

mongod -> /lib/init/upstart-job 
mongod.dpkg-bak

Mongodを削除し、mongod.dpkg-bakの名前をmongodに変更しました。その後、インストールは正しかった。しかし、MongoDBは起動しません。

Reading package lists ... Done
It creates a dependency tree
Reading state information ... Done
MongoDB-org is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation will be used to drive other 0 B.
Setting up MongoDB package-org-server (2.6.4) ...
[FAIL] Starting database: mongodb failed!
invoke-rc.d: initscript mongod, action "start" failed.
dpkg: error processing MongoDB-org-server (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: unmet dependencies prevent configuration package MongoDB-org:
MongoDB-org depends on MongoDB-org-server; but:
MongoDB package-org-server is not configured yet.

dpkg: error processing MongoDB-org (--configure):
   dependency problem - leave it unconfigured
Errors were encountered while processing:

MongoDB-org-server MongoDB-org E:サブプロセス/ usr/bin/dpkgがエラーコードを返しました(1)

service mongod startを実行した場合:

[FAIL] Starting database: mongodb failed!

ただし、/var/log/mongod/mongod.logにはこの時点からのエントリは含まれていません。助けてくれてありがとう。

dpkg-query -l "MongoDB-org *"出力:

+++-=================================-=====================-=====================-=======================================================================
    iU  mongodb-org                       2.6.4                 i386                  MongoDB open source document-oriented database system (metapackage)
    ii  mongodb-org-mongos                2.6.4                 i386                  MongoDB sharded cluster query router
    iF  mongodb-org-server                2.6.4                 i386                  MongoDB database server
    ii  mongodb-org-Shell                 2.6.4                 i386                  MongoDB Shell client
    ii  mongodb-org-tools                 2.6.4                 i386                  MongoDB tools
    un  mongodb-org-unstable              <none>                                  (no description available)
    un  mongodb-org-unstable-mongos       <none>                                  (no description available)
    un  mongodb-org-unstable-server       <none>                                 (no description available)
    un  mongodb-org-unstable-Shell        <none>                                  (no description available)
    un  mongodb-org-unstable-tools        <none>                                  (no description available)

dpkg --configure mongodb-org-server mongodb-org:

Setting up mongodb-org-server (2.6.4) …
[FAIL] Starting database: mongodb failed!
invoke-rc.d: initscript mongod, action "start" failed.
dpkg: error processing mongodb-org-server (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: unmet dependencies prevent configuration package MongoDB-org:
MongoDB-org depends on MongoDB-org-server; but:
MongoDB package-org-server is not configured yet.

dpkg: error processing MongoDB-org (--configure):
dependency problem - leave it unconfigured
Errors were encountered while processing:
MongoDB-org-server
MongoDB-org

dpkg --configure --force-depends mongodb-org-server mongodb-org:

Setting up mongodb-org-server (2.6.4) …
[FAIL] Starting database: mongodb failed!
invoke-rc.d: initscript mongod, action "start" failed.
dpkg: error processing mongodb-org-server (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems, but configuring as per your requirement:
 mongodb-org depends on mongodb-org-server; however:
  MongoDB package-org-server is not configured yet.

Setting org-package MongoDB (2.6.4) ...
Errors were encountered while processing:
 mongodb-org-server
2
Mato

オプション1:

mongodb-org-serverが半分構成され、解凍されているが(構成されていない)mongodb-orgであるように見えるので、次のコマンドを試してください。

dpkg --configure mongodb-org-server mongodb-org

依存関係の問題でも失敗する場合は、次のことを試してください。

dpkg --configure --force-depends mongodb-org-server mongodb-org

オプション2:

あなたのケースではパッケージの構成がうまく行われていないように思われるので、次に、前のインストールのシステムをクリーンアップしてから、新規インストールを実行することをお勧めします。ただし、以下はそれを行うためのかなり大まかな方法​​であり、最初にそれを読んで、私が実際にそれをテストしていないことを覚えておくことをお勧めします。

まず、mongodb-orgパッケージによってインストールされたファイルのリストを取得します。

dpkg-query -L mongodb-org mongodb-org-server mongodb-org-mongos mongodb-org-Shell mongodb-org-tools | grep "^\/[^\.]" > mongo.files

次に、次の手順を実行して、mongo.filesの内容を検証します(削除しても問題のないパスのみが含まれていることを確認します)。

less mongo.files

次に、以下を発行して、これらのファイルをシステムから削除します。

 rm `cat mongo.files`

次に、手動で/var/lib/dpkg/statusを変更して、これらのパッケージが現在システムにインストールされていないことをパッケージマネージャーに通知します。そのファイルに何かをする前に、何か問題が発生した場合に備えてバックアップしてください(パッケージマネージャーの内部データに対して手術を行っていることを忘れないでください...)。ファイルは、テキストの連続する行のセクションでフォーマットされ、セクションは空の行で区切られます。 Package: mongodb-orgで始まるファイル内のすべてのセクションを見つけて、それらを削除します( 'Package'で始まる行から空の行までのすべての行を削除します)。完了したら、ファイルを保存してapt-get updateを実行してからapt-get install mongodb-orgを実行します。

私は確かにそれが何も壊さないことを願っています、そして最終的にあなたはMongoDBの機能するコピーを手に入れます。

2
zagrimsan