Ubuntu 20.04 LTSへの最新版MongoDBのインストール

Ubuntu 20.04 LTSへの最新版MongoDBのインストール サーバー

「sudo apt-get install mongodb」

上記のコマンドを流すだけでは、最新版のMongoDBをインストールできません。
最新版以前に、2年半以上前の古いMongoDBをインストールすることになります。

最新版のMongoDBをインストールするためには、一工夫が必要です。

本記事の内容

  • OS標準のMongoDB
  • aptコマンドによる最新版MongoDBのインストール
  • インストールしたMongoDBの動作確認

それでは、上記に沿って解説していきます。

OS標準のMongoDB

UbuntuやDebianには、公式のリポジトリが存在しています。
aptコマンドで簡単にインストールできるのは、その公式リポジトリがあるからです。

その公式リポジトリには、MongoDBが登録されています。
一般的に利用されるモノは、公式リポジトリに登録されているということです。

そんな便利な公式リポジトリですが、デメリットもあります。
OS毎にそれぞれのバージョンが固定されています。

時間の経過とともに、そうやって指定されたバージョンは古くなっていきます。
UbuntuとMongoDBのバージョン対応関係は、以下。

OSMongoDBリリース日
Ubuntu 18.04 LTS3.6.32018/1/23
Ubuntu 20.04 LTS3.6.92018/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 &amp; 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の動作確認を説明しました。

タイトルとURLをコピーしました