MongoDB 最新版のインストール(ソースコードを使用)(Ubuntu 上)
Ubuntu で,MongoDB をソースコードからビルドして,インストールする手順を説明する.
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.
sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now
C/C++ コンパイラー,make,パッケージツールのインストール(Ubuntu 上)
インストールするには,端末で,次のコマンドを実行する.
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config
Python3 開発用ファイル,pip, setuptools, venv のインストール(Ubuntu 上)
Python のインストールは行わない(Ubuntu のシステム Python を用いる.)
Python, pip のコマンドでの起動のまとめ.
Ubuntu のシステム Python を用いるとき, python, pip は,次のコマンドで起動できる.
- python3 (Ubuntu のシステム Python)
- sudo pip3 (pip 3)
Ubuntu での Python 開発環境(JupyterLab, spyder, nteract)のインストール: 別ページ »で説明
Python3 開発用ファイル,pip, setuptools, venv のインストール
端末で,次のコマンドを実行する.
sudo apt -y update
sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential
MongoDB のインストール(ソースコードを使用)(Ubuntu 上)
MongoDB のビルドのためのソフトウエアのインストール
次のページの記載による.
sudo apt -y install libcurl4-openssl-dev python-dev-is-python3 libssl-dev
MongoDB のインストール(ソースコードを使用)
次のページの記載による.
sudo apt -y install libcurl4-openssl-dev python-dev-is-python3 libssl-dev
1. venv を用いる場合
- MongoDB のソースコードのダウンロード
cd /usr/local sudo rm -rf mongodb sudo git clone --recursive https://github.com/mongodb/mongo sudo chown -R $USER mongo
- 隔離された Python 仮想環境の作成(venv を使用)
python3 -m venv /usr/local/mongo/mypython source /usr/local/mongo/mypython/bin/activate
- ビルドに必要な前提ソフトウエアのインストール
python3 -m pip install -r etc/pip/compile-requirements.txt
- ソースコードからのビルドとインストール
終了までしばらく待つ.
cd /usr/local/mongo sed -i -e 's/"-Werror"/"-w"/g' /usr/local/mongo/SConstruct python3 buildscripts/scons.py install-mongod python3 buildscripts/scons.py install-all-meta
- 終了の確認
エラーメッセージが出ていないこと.
2. venv を用いない場合
こちらの方は,venv を用いるよりも,手間がかかる可能性があります.
- MongoDB のソースコードのダウンロード
cd /usr/local sudo rm -rf mongodb sudo git clone --recursive https://github.com/mongodb/mongo sudo chown -R $USER mongo
- ビルドに必要な前提ソフトウエアのインストール
# sudo pip3 install -r etc/pip/compile-requirements.txt sudo apt -y install python3-cryptography python3-setuptools python3-psutil python3-pymongo python3-requests python3-typing-extensions python3-cheetah python3-packaging python3-regex sudo pip3 install cryptography==36.0.2 sudo pip3 install psutil==5.8.0 # pymongo >= 3.9, < 4.0 sudo pip3 install PyYAML==6.0.0 sudo pip3 install types-PyYAML==6.0.5 # requests >= 2.0.0, <= 2.26.0 # typing-extensions >= 3.7.4 # Cheetah3 <= 3.2.6.post1 # src/mongo/base/generate_error_codes.py # packaging <= 21.3 # regex <= 2021.11.10 sudo pip3 install requirements_parser==0.3.1
- ソースコードからのビルドとインストール
最初の方でエラーが出たときは,「ビルドに必要な前提ソフトウエアのインストール」に戻って,バージョン等をチェックしてからやり直す.
終了までしばらく待つ.
cd /usr/local/mongo sed -i -e 's/"-Werror"/"-w"/g' /usr/local/mongo/SConstruct python3 buildscripts/scons.py install-mongod python3 buildscripts/scons.py install-all-meta
- 終了の確認
エラーメッセージが出ていないこと.
MongoDB の起動チェックと動作確認
- mongod の起動チェック
エラーメッセージが出ていないこと.
sudo mkdir /var/mongodb sudo chown -R $USER /var/mongodb sudo chmod 775 /var/mongodb /usr/local/mongo/build/install/bin/mongod -dbpath /var/mongodb
- テスト実行
/usr/local/mongo/build/install/bin/mongo db.test.save( { a: 1 } ) db.test.find() exit