Ubuntu 20.04 LTSへのインストール手引き書(.deb版) ============================================================== :ステータス: 作成中 :著者: 稲村泰弘 :最終更新日: Jul. 13th, 2021 --------- 概要 --------- この文書では、空蟬4.0環境をUbuntu 20.04 に対しDebianバイナリパッケージでインストールする方法を示す。 なお、2021年7月13日現在で、対応しているMLFにおけるビームラインは以下の通りである。 +---------+---------------+--------+ |BL(code) |注意点 |状況 | +=========+===============+========+ |BL01(SIK)|特になし |対応済み| +---------+---------------+--------+ |BL02(DNA)|QENSfitは含まず|対応済み| +---------+---------------+--------+ |BL14(AMR)|特になし |対応済み| +---------+---------------+--------+ |BL11(HPN)|Teuseは含まず |対応済み| +---------+---------------+--------+ |BL15(SAS)|Dviewは含まず |対応済み| +---------+---------------+--------+ .. warning:: 2021年7月現在、Debianバイナリパッケージは試験的に公開しているだけである。各自の責任で使用すること。 --------------- 対象とするOS --------------- 本稿での対象OSは *Ubuntu 20.04 LTS* である。また **amd64** ( **x86_64** )のみに対応する。 .. Ubuntuは、もっとも導入が優しいLinuxディストリビューションの一つであり、必要なライブラリが全てパッケージ化されていることから選択された。 **Ubuntuは目的のPCに既に導入されていることを想定** している。また極力OSで提供されているパッケージを利用するため、そのOSに対応したインストール用レポジトリにアクセスできる、つまりPCがネットに接続された状態にしておくこと。 他のOS(CentOSなど)にインストールしたい場合は、開発マニュアルを参照のこと。 --------------------- 準備 --------------------- Ubuntuに空蟬環境をコンパイル・インストールするためのパッケージには以下のものが存在する。 +-+----------------------+-------------------------------+----------------------+----------------+ | |パッケージ名 |インストール対象 |必要なパッケージ |BL | +=+======================+===============================+======================+================+ |1|mlf-manyo1 |Manyoライブラリ | |全BL共通 | +-+----------------------+-------------------------------+----------------------+----------------+ |2|mlf-utsusemi-with-ugao|空蟬一式(夕顔も含む) |mlf-manyo1 |全BL共通 | +-+----------------------+-------------------------------+----------------------+----------------+ |3|mlf-utsusemi-sas |BL15(大観)データ処理用コード |mlf-utsusemi-with-ugao|BL15 | +-+----------------------+-------------------------------+----------------------+----------------+ |4|mlf-utsusemi-dna |BL02(DNA)データ処理用コード |mlf-utsusemi-with-ugao|BL02 | +-+----------------------+-------------------------------+----------------------+----------------+ 具体的なファイル名は以下のように、パッケージ名にバージョンなどがついた名前となる。 +-+-------------------------------------------------+ | |ファイル名の例 | +=+=================================================+ |1|mlf-manyo1_0.3.4.210713-ubu20_amd64.deb | +-+-------------------------------------------------+ |2|mlf-utsusemi-with-ugao_4.0.210713-ubu20_amd64.deb| +-+-------------------------------------------------+ |3|mlf-utsusemi-sas_4.0.210713-ubu20_amd64.deb | +-+-------------------------------------------------+ |4|mlf-utsusemi-dna_4.0.210713-ubu20_amd64.deb | +-+-------------------------------------------------+ ファイル名に含まれる *0.3.4* (mlf-manyo1) および *4.0* (mlf-utsusemi-with-ugao)はリリース番号と呼ばれ、比較的大きなバージョンアップがあった場合に新たに付与される。 *210713* はソースコードの最終変更日でリリース番号とは独立にコードのアップデートとともに増加する。 *ubu20* はインストール先のUbuntuのバージョンによる。入手方法は、空蟬のポータルサイト( https://mlfinfo.jp/groups/comp/ja/utsusemi.html )のダウンロードから。 ---------------- インストール ---------------- 主な手順としては、以下の通りである。 0) 以前のインストールスクリプト版空蟬の削除(必要に応じて) 1) インストールするPCのインターネットへの接続確認 2) 各種パッケージ(mlf-manyo1パッケージ, mlf-utsusemi-with-ugaoパッケージなど)のインストール 3) 環境設定 古い空蟬(スクリプト版)の削除 -------------------------------- 目的のUbuntuに、スクリプトでインストールするタイプの空蟬( python3 Install.py でインストールしたもの)があれば、下記のように削除する。 :: $ sudo rm -rf /opt/mlfsoft もし、どのようにインストールされたかわからない場合は以下のコマンドを試すこと。 Debianパッケージによってインストールされている場合は以下のように表示される。 :: $ sudo dpkg -l mlf-manyo1 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-================-==================-============-==========================> ii mlf-manyo1:amd64 0.3.4.210713-ubu20 amd64 Manyo Library Debianパッケージでインストールされていない場合は下記のように表示される。 :: $ sudo dpkg -l mlf-manyo1 [sudo] password for hoge: dpkg-query: no packages found matching mlf-manyo1 なお、Debianパッケージで古い空蟬がインストールされていた場合は、下記のインストールを行うことでアップデートされる。 インターネットへの接続確認 --------------------------- インストール途中でインターネットへの接続を行うので、インターネットに接続していることを確認する。Webブラウザなどで確認する程度でよい。ネットワークの設定や、確認方法は割愛する。 各種パッケージのインストール ------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ 万葉ライブラリ(コア) ^^^^^^^^^^^^^^^^^^^^^^^ ダウンロードしたファイル(mlf-manyo1_0.3.4.210713-ubu20_amd64.deb)を以下のように指定して実行する。 :: $ sudo apt install ./mlf-manyo1_0.3.4.210713-ubu20_amd64.deb ここでファイルの指定として、フォルダなども含めたパス(フルパス)が必要である。上記は同じファイルと同じフォルダにいるので、 **./** で代用できる。下記のようにファイル名だけ書いてもエラーになるので注意すること。 :: $ sudo apt install mlf-manyo1_0.3.4.210713-ubu20_amd64.deb # ERROR : Unable to locate package ちなみに実行時のログは以下のようなものである。 :: $ sudo apt install ./mlf-manyo1_0.3.4.210713-ubu20_amd64.deb [sudo] password for hoge: Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'mlf-manyo1' instead of '/media/psf/Home/Ubuntu20.04/mlf-manyo1_0.3.4.210713-ubu20_amd64.deb' The following additional packages will be installed: libaec0 libboost-program-options1.71.0 libboost-serialization1.71.0 libgfortran5 libgsl23 libgslcblas0 libhdf4-0 libhdf5-103 libnexus1 libsz2 Suggested packages: gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html libhdf4-doc libhdf4-dev hdf4-tools The following NEW packages will be installed: libaec0 libboost-program-options1.71.0 libboost-serialization1.71.0 libgfortran5 libgsl23 libgslcblas0 libhdf4-0 libhdf5-103 libnexus1 libsz2 mlf-manyo1 0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded. Need to get 4,050 kB/5,722 kB of archives. After this operation, 27.1 MB of additional disk space will be used. Do you want to continue? [Y/n] 途中で確認のメッセージが表示される。インストールに支障がなければ、 **y** を入力する。こののちインストールが始まる。特にエラーが起きていなければ良い。もしくは、aptのオプションに **-y** を加えておけば確認されることはない。 :: $ sudo apt install -y ./mlf-manyo1_0.3.4.210713-ubu20_amd64.deb ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 空蟬環境(+夕顔)のインストール ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ダウンロードしたファイル(mlf-utsusemi-with-ugao_4.0.210713-ubu20_amd64.deb)を以下のように指定して実行する。 :: $ sudo apt install ./mlf-utsusemi-with-ugao_4.0.210713-ubu20_amd64.deb 実行時のログは以下のようなものである。 :: $ sudo apt install ./mlf-utsusemi-with-ugao_4.0.210713-ubu20_amd64.deb Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'mlf-utsusemi-with-ugao' instead of '/media/psf/Home/Ubuntu20.04/mlf-utsusemi-with-ugao_4.0.210210-ubu20_amd64.deb' The following additional packages will be installed: blt fonts-lyx javascript-common libblas3 libdouble-conversion3 libjs-jquery libjs-jquery-ui liblapack3 (中略) python3-pyside2.qtgui python3-pyside2.qtwidgets python3-scipy python3-tk qt5-gtk-platformtheme qttranslations5-l10n tk8.6-blt2.5 ttf-bitstream-vera 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. Need to get 43.2 MB/63.7 MB of archives. After this operation, 243 MB of additional disk space will be used. Do you want to continue? [Y/n] 途中で確認のメッセージが表示される。インストールに支障がなければ、 **y** を入力する。こののちインストールが始まる。特にエラーが起きていなければ良い。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BL15環境のインストール ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BL15は別途専用パッケージがあるので、それをダウンロードし(mlf-utsusemi-sas_4.0.210713-ubu20_amd64.deb)、同様に指定して実行する。 :: $ sudo apt install -y ./mlf-utsusemi-sas_4.0.210713-ubu20_amd64.deb ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BL02環境のインストール ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ BL02は別途専用パッケージがあるので、それをダウンロードし(mlf-utsusemi-dna_4.0.210713-ubu20_amd64.deb)、同様に指定して実行する。 :: $ sudo apt install -y ./mlf-utsusemi-dna_4.0.210713-ubu20_amd64.deb また、BL02の環境では、ホームフォルダに以下のようなフォルダ(ana/DNA)を作成して必要なファイルなどをコピーしておく必要がある。 :: $ mkdir -p ~/ana/DNA $ cp -r /opt/mlfsoft/python-utsusemi/utsusemi/DNA/environ-home/ana/* ~/ana/DNA ----------- 環境設定 ----------- 空蟬における環境設定は、 1. 必要なデータフォルダの作成 2. 環境変数の設定 である。 なお、デフォルトのインストール先は、下記のようになっている。 +------------------------+----------------------+----------------------------------------------------------------+ | **表現** | **場所** | **説明** | +========================+======================+================================================================+ | MLF software directory | /opt/mlfsoft/ | Manyo-lib、空蟬用Manyoライブラリをインストールする場所。 | +------------------------+----------------------+----------------------------------------------------------------+ 1. データフォルダの作成 -------------------------- RAWデータを格納する場所である。 デフォルトの場所(既存の環境変数設定ファイルでの設定)は以下のようになる。 +------------------------+----------------------+----------------------------------------------------------------+ | **表現** | **場所** | **説明** | +========================+======================+================================================================+ | RAW data directory | /data | 各分光器のイベントデータディレクトリが置かれる場所。 この場所に| | | | 解析に必要となる各装置のデータを置くためのフォルダである | | | | | | | | SIK/ | | | | | | | | AMR/ | | | | | | | | などが作成される。 | +------------------------+----------------------+----------------------------------------------------------------+ この場所は、環境変数 ( **UTSUSEMI_DATA_DIR** )にて指定されている必要がある(後述)。 データフォルダは使用するBLのコードを使用して下記のように作成しておく。 :: $ sudo mkdir -p /data/SIK $ sudo mkdir -p /data/AMR $ sudo mkdir -p /data/HPN $ sudo mkdir -p /data/SAS $ sudo mkdir -p /data/DNA 2. 環境変数の設定 -------------------------- 空蟬を動作させるのに必要な環境変数を設定する。それらはBLごとに異なり、雛形となるファイルはそれぞれ下記の場所にある。 +------------------+--------------------------------------------------------+ |対象BL |設定ファイル | +==================+========================================================+ |BL01(四季) |/opt/mlfsoft/python-utsusemi/utsusemi/SIK/bashrc.py3.SIK| +------------------+--------------------------------------------------------+ |BL02(DNA) |/opt/mlfsoft/python-utsusemi/utsusemi/DNA/bashrc.py3.SIK| +------------------+--------------------------------------------------------+ |BL10(PLANET) |/opt/mlfsoft/python-utsusemi/utsusemi/HPN/bashrc.py3.HPN| +------------------+--------------------------------------------------------+ |BL14(アマテラス)|/opt/mlfsoft/python-utsusemi/utsusemi/AMR/bashrc.py3.AMR| +------------------+--------------------------------------------------------+ |BL15(大観) |/opt/mlfsoft/python-utsusemi/utsusemi/SAS/bashrc.py3.SAS| +------------------+--------------------------------------------------------+ これらの雛形ファイルにおける、空蟬用環境変数は以下のようになる。 .. table:: 空蟬環境変数 :widths: 25 30 45 +------------------+---------------------------+------------------------------------------------+ |環境変数 |デフォルト値 |役割、意味 | +==================+===========================+================================================+ |UTSUSEMI_INST_CODE| |装置コード(SIK,AMRなど) | +------------------+---------------------------+------------------------------------------------+ |UTSUSEMI_DATA_DIR |"/data" |データフォルダの指定 | +------------------+---------------------------+------------------------------------------------+ |UTSUSEMI_USR_DIR |${UTSUSEMI_USR_DIR-${HOME}}|ユーザーのフォルダ(デフォルトはホームフォルダ)| +------------------+---------------------------+------------------------------------------------+ |UTSUSEMI_LOG_QUIET|n |データ処理実行時のログ表示。"Y"だとかなり減る | +------------------+---------------------------+------------------------------------------------+ |UTSUSEMI_MULTH |8 |データ処理実行時のマルチプロセッシングの数 | +------------------+---------------------------+------------------------------------------------+ |UTSUSEMI_DEBUGMODE|n |デバッグ用フラグ(デフォルトnで良い) | +------------------+---------------------------+------------------------------------------------+ これらのファイルに書かれている環境変数の設定を有効にするには、以下のようなコマンドを実行する。 :: $ source /opt/mlfsoft/python-utsusemi/utsusemi/SIK/bashrc.py3.SIK =========================================== Welcome to Utsusemi Environment for SIK ver 4.0 =========================================== Ana : Sequencer M2Plot: M2PlotPlus D4mat : D4MatSlicer D4mat2: D4Mat2Slicer =========================================== ただ、このやり方では扱いにくいので、下記のような設定を、例えば ~/.bashrcに追記するとよい。 :: # Utsusemi4 environments # For BL01 (SIK) if [ -f /opt/mlfsoft/python-utsusemi/utsusemi/SIK/bashrc.py3.SIK ]; then alias SIK="source /opt/mlfsoft/python-utsusemi/utsusemi/SIK/bashrc.py3.SIK" fi # For BL02 (DNA) if [ -f /opt/mlfsoft/python-utsusemi/utsusemi/DNA/bashrc.py3.DNA ]; then alias DNA="source /opt/mlfsoft/python-utsusemi/utsusemi/DNA/bashrc.py3.DNA" fi # For BL11 (HPN) if [ -f /opt/mlfsoft/python-utsusemi/utsusemi/HPN/bashrc.py3.HPN ]; then alias HPN="source /opt/mlfsoft/python-utsusemi/utsusemi/HPN/bashrc.py3.HPN" fi # For BL14 (AMR) if [ -f /opt/mlfsoft/python-utsusemi/utsusemi/AMR/bashrc.py3.AMR ]; then alias AMR="source /opt/mlfsoft/python-utsusemi/utsusemi/AMR/bashrc.py3.AMR" fi # For BL15 (SAS) if [ -f /opt/mlfsoft/python-utsusemi/utsusemi/SAS/bashrc.py3.SAS ]; then alias SAS="source /opt/mlfsoft/python-utsusemi/utsusemi/SAS/bashrc.py3.SAS" fi これを ~/.bashrc に追記したのち、有効にするために以下のようにコマンドを打つ。 :: $ source ~/.bashrc もしくは、ターミナルを閉じて、再度開くと有効となっている。 環境が有効になったかどうかは、それぞれの分光器の環境へ移るためのキーワードを打ち込む。キーワードは、各分光器の略称である。 +----------------+----------+ |装置 |キーワード| +================+==========+ |四季(BL01) |SIK | +----------------+----------+ |DNA (BL02) |DNA | +----------------+----------+ |プラネット(BL11)|HPN | +----------------+----------+ |アマテラス(BL14)|AMR | +----------------+----------+ |大観(BL15) |SAS | +----------------+----------+ 例えば四季の場合なら以下のように表示される。 :: $ SIK =========================================== Welcome to Utsusemi Environment for SIK ver 4.0 =========================================== Ana : Sequencer M2Plot: M2PlotPlus D4mat : D4MatSlicer D4mat2: D4Mat2Slicer =========================================== $ BL01環境への移行が完了したことがわかるメッセージが表示される。 なお、自分の環境で個別に環境変数を設定したい場合は、それぞれのbashrc.py3.XXXファイルをコピーして改変すれば良いだろう。特にデータファイルの置き場所を変更した場合、例えばホームフォルダ以下に設置する場合などには、 **UTSUSEMI_DATA_DIR** の設定を変更した bashrc.py3.XXX を準備し、.bashrc内で設定を有効にするようにすれば良いだろう。 ただし詳細は述べない。 --------------------- アンインストール --------------------- 下記のコマンドを実行すれば良い。順番はインストールの時の逆順で、 mlf-utsusemi-sas, mlf-utsusemi-with-ugao、最後に mlf-manyo1 である。 :: $ sudo apt remove mlf-utsusemi-sas $ sudo apt remove mlf-utsusemi-with-ugao $ sudo apt remove mlf-manyo1 なお、まだいくつかの設定ファイルが残っている。これの消去はまた別項で述べる(予定)。 ------------------------- 空蟬のバージョン確認 ------------------------- 前節の空蟬環境の有効化を済ませたのちに下記のコマンドを入力する。 :: $ python3 >>> import utsusemi >>> utsusemi.__version__ '4.0.0' >>> >>> import UtsusemiInfo --------------------------------------------- Utsusemi Info --------------------------------------------- version : 4.0 (rev 190703) Contact person : Yasuhiro Inamura e-mail : yasuhiro.inamura@j-parc.jp --------------------------------------------- Manyo>>> リリース番号とバージョン番号が表示される。何か空蟬で問題が発生した場合はこの情報も一緒に連絡していただきたい。 もしくはパッケージ自体のバージョンでも良い。 :: $ sudo apt show mlf-utsusemi-with-ugao [sudo] password for hoge: Package: mlf-manyo1 Version: 4.0.210713-ubu20 Status: install ok installed (後略) ----------- APPENDIX ----------- 万票ライブラリパッケージ(mlf-manyo1)に必須のパッケージ --------------------------------------------------------------- +--------------------------------+ |パッケージ名(バージョンは省略)| +================================+ |libboost-system | +--------------------------------+ |libboost-filesystem | +--------------------------------+ |libboost-serialization | +--------------------------------+ |libboost-program-options | +--------------------------------+ |libgsl | +--------------------------------+ |libhdf5 | +--------------------------------+ |libnexus | +--------------------------------+ |libssl | +--------------------------------+ 空蟬環境パッケージ(mlf-utsusemi-with-ugao)に必須のパッケージ --------------------------------------------------------------------- **Ubuntu20.04用** +--------------------------------+ |パッケージ名(バージョンは省略)| +================================+ |mlf-manyo1 | +--------------------------------+ |python3-matplotlib | +--------------------------------+ |python3-scipy | +--------------------------------+ |python3-pyside2.qtcore | +--------------------------------+ |python3-pyside2.qtgui | +--------------------------------+ |python3-pyside2.qtwidgets | +--------------------------------+ **Ubuntu18.04用** (未完成) +--------------------------------+ |パッケージ名(バージョンは省略)| +================================+ |mlf-manyo1 | +--------------------------------+ |python3-matplotlib | +--------------------------------+ |python3-scipy | +--------------------------------+ |python3-pyside.qtcore | +--------------------------------+ |python3-pyside.qtgui | +--------------------------------+