金子邦彦研究室インストールUbuntu, WSL2MongoDB 最新版のインストール(ソースコードを使用)(Ubuntu 上)

MongoDB 最新版のインストール(ソースコードを使用)(Ubuntu 上)

Ubuntu で,MongoDB をソースコードからビルドして,インストールする手順を説明する.

前準備

Ubuntu のシステム更新

UbuntuUbuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.

UbuntuUbuntu のインストールは別ページ »で説明

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 は,次のコマンドで起動できる.

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 上)

次のページの記載による.

https://github.com/mongodb/mongo/blob/master/docs/building.md

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 を用いる場合

  1. MongoDB のソースコードのダウンロード
    cd /usr/local
    sudo rm -rf mongodb
    sudo git clone --recursive https://github.com/mongodb/mongo
    sudo chown -R $USER mongo
    
  2. 隔離された Python 仮想環境の作成(venv を使用)
    python3 -m venv /usr/local/mongo/mypython
    source /usr/local/mongo/mypython/bin/activate
    
  3. ビルドに必要な前提ソフトウエアのインストール
    python3 -m pip install -r etc/pip/compile-requirements.txt
    
  4. ソースコードからのビルドとインストール

    終了までしばらく待つ.

    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
    
  5. 終了の確認

    エラーメッセージが出ていないこと.

    [image]

2. venv を用いない場合

こちらの方は,venv を用いるよりも,手間がかかる可能性があります.

  1. MongoDB のソースコードのダウンロード
    cd /usr/local
    sudo rm -rf mongodb
    sudo git clone --recursive https://github.com/mongodb/mongo
    sudo chown -R $USER mongo
    
  2. ビルドに必要な前提ソフトウエアのインストール
    # 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
    
  3. ソースコードからのビルドとインストール

    最初の方でエラーが出たときは,「ビルドに必要な前提ソフトウエアのインストール」に戻って,バージョン等をチェックしてからやり直す.

    終了までしばらく待つ.

    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
    
  4. 終了の確認

    エラーメッセージが出ていないこと.

MongoDB の起動チェックと動作確認

  1. 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
    

    [image]
  2. テスト実行
    /usr/local/mongo/build/install/bin/mongo 
    db.test.save( { a: 1 } )
    db.test.find()
    exit
    

    [image]