mongodbの公式の鮮やかなパッケージは2.xであり、MongoDBがhttp://repo.mongodb.org/apt/ubuntu/dists/trusty/で提供するパッケージは、LTSリリースでのみ使用できます。
別の方法として、14.04 LTSに戻すこともできますが、vividでのみ利用可能なopenjdk-8-jdkをインストールする必要があります。
mongodbの公式の鮮やかなパッケージは2.xであり、MongoDBがhttp://repo.mongodb.org/apt/ubuntu/dists/trusty/で提供するパッケージは、LTSリリースでのみ使用できます。
別の方法として、14.04 LTSに戻すこともできますが、vividでのみ利用可能なopenjdk-8-jdkをインストールする必要があります。
回答:
Trustyパッケージを使用している場合、MongoDBが起動しない可能性があります。
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
この場合、最後に説明されているようにDebian Wheezyパッケージをインストールします。
DEBファイルをダウンロードする
cd
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-mongos_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-server_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-shell_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-tools_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.3_amd64.deb
でインストールします(この順序で)
sudo dpkg -i mongodb-org-server_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-tools_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-shell_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-mongos_3.0.3_amd64.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb
そしてコメントから取られて、ありがとう@ Pilot6:
それらは相互に依存関係があるかもしれません。そのため、インストールパッケージを1つずつインストールするとエラーが発生する場合があります。私は提案します
sudo dpkg -i mongodb*.deb
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Trustyパッケージを使用している場合、MongoDBが起動しない可能性があります。
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
この場合、以下の説明に従ってDebian Wheezyパッケージをインストールします。
sudo apt-get remove mongodb-org
sudo apt-get autoremove
sudo rm /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo 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 dpkg -i mongodb*.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb
、最後のコマンドとして
service mongod start
ですか?
debian wheezyリポジトリを使用して、Ubuntu 15.04にmongoバージョン3.0.6で正常にインストールされました-以下の手順を参照してください
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 -y mongodb-org
ただし、上記のすべての手順とmongodbがマシンにインストールされた後、mongodbサービスを開始しようとsudo service mongod start
すると失敗します。次のエラーメッセージを投げます
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
だからここに私が解決し、通常mongodbを起動する方法があります
MongoDBのデフォルトのデータストアファイルを/ var / lib / mongodbから/ data / dbに変更します。
sudo mkdir -p /data/db
sudo gedit /etc/mongod.conf
次のように「dbpath」行を変更します
dbpath = / var / lib / mongodb TO dbpath = / data / dbを置き換え、ファイルを保存します。
次に、古いデフォルトの/ var / lib / mongodbを削除します
次に、mongodユーザーが所有するすべてのディレクトリ/ファイルを作成する必要があります
走る sudo chown -R mongodb:mongodb /data/db
そして今、私はモンゴを始めることができます sudo service mongod start
そして、サービスが実行されている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.orgから直接公開されているものによって残された穴を埋めるために、Debian / Ubuntuパッケージにはsystemdサービスユニットがパッチされています。しかしmongodb.service
、WWW上のユニットファイルが不足することはありません。書くのも難しくありません。(私が持っています。)
具体的には、Ubuntuバージョン15のmongodb-serverバージョン2.6パッケージにそのようなサービスユニットがあります。実際、mongodb.orgによって公開されたサービスユニットもあります。mongodb.orgの人々がRPMの使用とディストリビューション固有のものでのsystemdの使用を誤って混同したのは、まさにその場合です。
皮肉なことに、mongodb.orgが提供するサービスユニットは、mongodb.org自体が推奨するsystemdサービスユニットディレクティブを適用しないことに注意してください。Debian / Ubuntuが提供するものも同様です。しかし、繰り返しになりますが、これらのディレクティブを使用して手書きのサービスユニットを書くのは難しくありません。または実際に変更して、numactlなどを追加します。☺