「sudo apt-get install mongodb」
上記のコマンドを流すだけでは、最新版のMongoDBをインストールできません。
最新版以前に、2年半以上前の古いMongoDBをインストールすることになります。
最新版のMongoDBをインストールするためには、一工夫が必要です。
本記事の内容
- OS標準のMongoDB
- aptコマンドによる最新版MongoDBのインストール
- インストールしたMongoDBの動作確認
それでは、上記に沿って解説していきます。
OS標準のMongoDB
UbuntuやDebianには、公式のリポジトリが存在しています。
aptコマンドで簡単にインストールできるのは、その公式リポジトリがあるからです。
その公式リポジトリには、MongoDBが登録されています。
一般的に利用されるモノは、公式リポジトリに登録されているということです。
そんな便利な公式リポジトリですが、デメリットもあります。
OS毎にそれぞれのバージョンが固定されています。
時間の経過とともに、そうやって指定されたバージョンは古くなっていきます。
UbuntuとMongoDBのバージョン対応関係は、以下。
OS | MongoDB | リリース日 |
Ubuntu 18.04 LTS | 3.6.3 | 2018/1/23 |
Ubuntu 20.04 LTS | 3.6.9 | 2018/11/16 |
LTS版は、Ubuntu 20.04が最新です。
そして、Ubuntu 20.04の場合、3.6.9がOS標準のMongoDBのバージョンとなります。
MongoDB 3.6.9は、2年半以上前のバージョンです。
しかし、 MongoDBの最新バージョンは4.4.6となります。
なお、MongoDB 4.4.6は2021年5月10日にリリースされています。
2年半以上前のソフトウェアは、さすがに古すぎます。
OS標準のソフトウェアは、便利な反面で、このようなデメリットが存在します。
以上、OS標準のMongoDBについて説明しました。
次は、aptコマンドで最新版MongoDBをインストールしていきます。
aptコマンドによる最新版MongoDBのインストール
OSは、次のモノを使っています。
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
次に、Ubuntu 20.04のOS標準であるMongoDBのパッケージを確認しましょう。
$ sudo apt show mongodb Package: mongodb Version: 1:3.6.9+really3.6.8+90~g8e540c0b6d-0ubuntu5 Priority: optional Section: universe/database Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian MongoDB Maintainers <pkg-mongodb-maintainers@lists.alioth.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 44.0 kB Depends: mongodb-server (>= 1:2.4.1-2) Homepage: https://www.mongodb.org Download-Size: 9,292 B APT-Sources: http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages Description: オブジェクト・ドキュメント指向データベース(メタパッケージ) MongoDB は、高性能な、オープンソースで、スキーマ非依存の、デプロイ・管理・ 利用が容易なドキュメント指向データストアです。ネットワークアクセスが可能 で、C++ により書かれており、次のような機能があります。 . * 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 . 高性能・スケーラビリティ・適当な深さの機能性の実現がこのプロジェクトの目的 です。 . このパッケージは、 mongodb の全てのパーツ(サーバ、クライアント、ヘッダおよ びライブラリといった開発用ファイル)に依存する便利メタパッケージです。
確かに、デフォルトでインストールされるバージョンは3.6.9です。
このバージョンではなく、最新であるMongoDB 4.4.6をインストールしたいわけです。
そこで、インストール対象となるパッケージを変更(更新)します。
その処理を行っていきます。
MongoDB公式ページ
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
上記の公式ページを参考にしています。
まずは、そのリポジトリ(パッケージ)の身元を確認するためにGPGキーをインストールします。
$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - OK
次に、リポジトリ定義を保存します。
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse
念のため、定義を確認します。
$ sudo cat /etc/apt/sources.list.d/mongodb-org-4.4.list deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse
パッケージの取得先が、定義に保存されています。
では、この取得先をパッケージ管理システムに認識させましょう。
$ sudo apt-get update ヒット:1 http://repo.mysql.com/apt/ubuntu focal InRelease ヒット:2 https://artifacts.elastic.co/packages/7.x/apt stable InRelease 無視:3 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 InRelease ~省略~ 2,168 kB を 8秒 で取得しました (256 kB/s) パッケージリストを読み込んでいます... 完了
ここで、再びMongoDBのパッケージを確認します。
$ sudo apt show mongodb Package: mongodb Version: 1:3.6.9+really3.6.8+90~g8e540c0b6d-0ubuntu5 ~省略~
「あれ?変わってない!!」
はい、変わっていません。
公式の手順に従うと、「mongodb-org」というパッケージ名で最新版MongoDBが登録されます。
「org」と付けることにより、公式のオリジナルをアピールしているのかもしれません。
それなら、その名前でパッケージを確認しましょう。
$ sudo apt show mongodb-org Package: mongodb-org Version: 4.4.6 Priority: optional Section: database Maintainer: MongoDB Packaging <packaging@mongodb.com> Installed-Size: 13.3 kB Depends: mongodb-org-shell, mongodb-org-server, mongodb-org-mongos, mongodb-org-tools Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-clients, mongodb-dev, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-server, mongodb-stable, mongodb18-10gen, mongodb20-10gen Homepage: http://www.mongodb.org Download-Size: 3,524 B APT-Sources: https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4/multiverse amd64 Packages Description: MongoDB open source document-oriented database system (metapackage) MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational flexibility. . MongoDB is an open-source database used by companies of all sizes, across all industries and for a wide variety of applications. It is an agile database that allows schemas to change quickly as applications evolve, while still providing the functionality developers expect from traditional databases, such as secondary indexes, a full query language and strict consistency. . MongoDB has a rich client ecosystem including hadoop integration, officially supported drivers for 10 programming languages and environments, as well as 40 drivers supported by the user community. . MongoDB features: * JSON Data Model with Dynamic Schemas * Auto-Sharding for Horizontal Scalability * Built-In Replication for High Availability * Rich Secondary Indexes, including geospatial * TTL indexes * Text Search * Aggregation Framework & Native MapReduce . This metapackage will install the mongo shell, import/export tools, other client utilities, server software, default configuration, and init.d scripts.
パッケージの説明も、がらりと変わっています。
そりゃ、ITの世界で2年半の年月は大きいですからね。
あとは、aptコマンドでインストールするだけです。
$ sudo apt-get -y install mongodb-org
インストールには、少しだけ時間がかかります。
インストールが完了したら、次のように表示されます。
mongodb-org-shell (4.4.6) を設定しています ... mongodb-database-tools (100.3.1) を設定しています ... mongodb-org-mongos (4.4.6) を設定しています ... mongodb-org-database-tools-extra (4.4.6) を設定しています ... mongodb-org-tools (4.4.6) を設定しています ... mongodb-org (4.4.6) を設定しています ... man-db (2.9.1-1) のトリガを処理しています ...
以上、aptコマンドによる最新版MongoDBのインストールについての説明でした。
最後に、MongoDBの動作確認を行います。
インストールしたMongoDBの動作確認
MongoDBの起動
$ sudo systemctl start mongod
実行しても、何も言いません。
あっさりしたもんです。
MongoDBの状況確認
$ sudo systemctl status mongod ● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-06-11 14:09:11 JST; 32s ago Docs: https://docs.mongodb.org/manual Main PID: 7737 (mongod) Memory: 56.4M CGroup: /system.slice/mongod.service └─7737 /usr/bin/mongod --config /etc/mongod.conf 6月 11 14:09:11 ubuntu-focal systemd[1]: Started MongoDB Database Server.
MongoDBの停止
$ sudo systemctl stop mongod
起動と同じく、何も言ってくれません。
ちゃんと停止したのかを確認したいなら、「MongoDBの状況確認」で確認します。
MongoDBの再起動
$ sudo systemctl restart mongod
同じく、何も言ってくれません。
これも状況が気になるなら、「MongoDBの状況確認」で確認します。
以上、MongoDBの動作確認を説明しました。