I MongoDB 2.6をインストール クリーンインストールされたUbuntu 15.04:
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | Sudo tee /etc/apt/sources.list.d/mongodb.list
Sudo apt-get update
Sudo apt-get install -y mongodb-org
問題なく終了しました。ただし、起動しようとすると、次のエラーが発生しました。
$ Sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
どうすれば修正できますか?
debian wheeze repository からインストールしましたが、正常に動作します。
まず、mongodb-orgパッケージとそのすべての依存関係を必ず削除してください。
Sudo apt-get purge mongodb-org
Sudo apt-get autoremove
作成した古いmongodb.listを削除します。
Sudo rm /etc/apt/sources.list.d/mongodb.list
代わりにDebianリポジトリを使用します。
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
更新して再インストールします。
Sudo apt-get update
Sudo apt-get install -y mongodb-org
その後、サーバーを正常に起動できます。
Sudo service mongod start
または
systemctl start mongod
(Roman Gaufmanのコメントへの返信でErnie Hersheyが明らかにしたように: https://jira.mongodb.org/browse/SERVER-17742 )
MongoDBチームは、Ubuntu 15.04をサポートせず、代わりに16.04をサポートする予定であると述べています( https://jira.mongodb.org/browse/SERVER-17742 を参照)。
Ubuntu 15.04は、デフォルトのinitシステムをUpstartからsystemdに進めます。 systemdを使用してMongoDB 3.0を起動することに成功しませんでした。
upstart-sysv
をインストールすると、Upstartに切り替えることができます。
Sudo apt-get install upstart-sysv
再起動すると、MongoDBが起動します。
時間をさかのぼることなく、Ubuntu 15.04でMongoDBを実行する簡単な方法を見つけたいと思っています。
Ubuntu 15.04+およびMongo 3.0+で動作するように見えるSystemdスクリプトを作成しました。
[Unit]
Description=High-performance, schema-free document-oriented database
Documentation=man:mongod(1)
After=network.target
[Service]
Type=forking
User=mongodb
Group=mongodb
RuntimeDirectory=mongod
PIDFile=/var/run/mongod/mongod.pid
ExecStart=/usr/bin/mongod -f /etc/mongod.conf --pidfilepath /var/run/mongod/mongod.pid --fork
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
https://Gist.github.com/benileo/ada486d73f58dd93a0ee
必ず/etc/mongod.conf
にデータディレクトリを設定してください
Mongodb.orgから直接公開されたパッケージからインストールしています。 Ubuntuリポジトリで提供されるパッケージからインストールする必要があります。 Debian/Ubuntuパッケージには、mongodb.orgが残した穴を埋めるためにsystemdサービスユニットがパッチされています。
(WWW上のmongodb.service
ユニットファイルの不足はありません。1つを書くことも難しくありません。私は持っています。)
具体的には、 そのようなサービスユニット in buntuバージョン15のmongodb-serverバージョン2.6パッケージ にあります。したがって、そのパッケージをインストールするだけです。
(Debian/Ubuntu提供のサービスユニットは適用されないことに注意してください mongo-recommended systemdサービスユニットディレクティブ 。)
「mongod」の代わりに「mongodb」を使用する
すなわち
Sudo service mongodb start
Sudo service mongodb stop
これが最良の答えではありませんか?重複した質問から: https://askubuntu.com/a/694226/255468 by @sclausen
Systemdのサービスファイルが不足しているだけです。 Kartikのように新興企業に戻ったり、 https://docs.mongodb.org/manual/installation/ で説明されているものとは異なるリポジトリを使用する必要はありません。
次の内容のファイル/lib/systemd/system/mongodb.serviceを作成します。
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
https://jira.mongodb.org/browse/SERVER-17742
これは、強力な抗議がない限り、Ubuntu 16.04まで2.6.3以上では完全に修正されない可能性があるようです。
だから私にとっての解決策は以下を発行することでした:
Sudo apt-get install --reinstall mongodb
これらの回答の多くはMongo 3.0に関連していますが、質問では特に2.6について質問しました。
10genのDebianリポジトリを使用して2.6をインストールすることに成功しました。これはUbuntu 15.04で完全に動作するようです。
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | Sudo tee /etc/apt/sources.list.d/mongodb.list
Sudo apt-get update
Sudo apt-get install mongodb-org
検索から数時間後、解決策は次のコマンドを使用してubuntuを15.04から16.04にアップグレードすることでした:
ステップ1
Sudo do-release-upgrade -d
Mongodbを削除するよりも数分かかるので、パニックにならないでください。
ステップ2
Sudo apt-get purge mongodb-org
Sudo apt-get autoremove`
rm /etc/apt/sources.list.d/mongodb-org-3.0.list`
そして今、mongodbをインストールしますが、このソースを使用します:
echo 'deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main' | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
ステップ
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo ‘deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main’ | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Sudo apt-get update
Sudo apt-get install mongodb-org
Sudo service mongod status
以上です。
注: 'E:最初の行のタイプ' deb 'のようなエラーが表示された場合。 。 。ファイルmongodb-org-3.0.list内
必要なことは、geditを使用してこのファイルを取得し、文の最初と最後の「」を削除することだけです。
Ubuntu 15.04+は pstartの代わりにsystemd を使用します。 MongoDBの公式インストールガイド で開始します。次に、公式の mongod.service
を使用します。
[Unit]
Description=High-performance, schema-free document-oriented database
[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/local/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid
[Install]
WantedBy=multi-user.target
$ curl -OL https://raw.githubusercontent.com/mongodb/mongo/1663f45b4e33e058a0203a81f50574a870882c34/rpm/mongod.service
$ sed -i 's/\/usr\/local/\/usr/g' mongod.service
$ sed -i '/Desc/a After=network.target' mongod.service
$ Sudo sed -i '0,/\/var\/lib\/mongodb/s//\/data\/db/' /etc/mongod.conf
$ Sudo cp mongod.service /lib/systemd/system/mongo.service
$ Sudo mkdir -p /data/db
$ Sudo chown -R mongodb:mongodb /data
$ Sudo systemctl daemon-reload
$ Sudo systemctl enable mongod
$ Sudo systemctl start mongod
$ Sudo systemctl status mongod
質問はバージョン2.6向けです。バージョン3.0.6のUbuntu 15.04でまったく同じエラーUnit mongod.service failed to load
が発生していました。上記のDielson Salesが言及した同じwheezyリポジトリを使用して最終的に解決されました。
そして、インストール後(@Dielson Salesが詳述した手順に従って)、上記のエラーに直面しました。これが私が最終的に解決した方法です。
A)MongoDBのデフォルトのデータストアファイルを/ var/lib/mongodbから/ data/db
最初に新しい/ data/dbディレクトリを作成しますSudo mkdir -p /data/db
Mongod.confファイルSudo gedit /etc/mongod.conf
を開き、「dbpath」行を次のように変更します
置換dbpath =/var/lib/mongodbTOdbpath =/data/dbファイルを保存します。
次に、古いデフォルトの/ var/lib/mongodbを削除します
ここで、mongodユーザーが所有するすべてのディレクトリ/ファイルを作成する必要があります
B)Sudo chown -R mongodb:mongodb /data/db
を実行します
そして、ついにSudo service mongod start
でmongoを起動できます
サービスがSudo systemctl status mongod
で実行されていることを確認します-以下のようなメッセージが表示されます
Loaded: loaded (/etc/init.d/mongod)
Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago
ブログ投稿 で手順を詳しく説明してください
まず、mongodbをダウンロードします。
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
ダウンロードの抽出:
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
-dbpath属性を指定してmongod(mongodb-linux-x86_64-3.0.6.tgz/bin/mongod)を実行します。
Sudo ./mongod --dbpath /path/of/the/directory
任意の空のディレクトリにすることができます
そして最後に、mongo(mongodb-linux-x86_64-3.0.6.tgz/bin/mongo)を実行します
./mongo
私のubuntu 15で働いた:)
私の悪い英語をすみません、私はブラジルに住んでいます
コマンドでタイプミスをしました。
代わりにこれを使用してみてください:Sudo service mongodb start