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は目的の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 )のダウンロードから。

インストール

主な手順としては、以下の通りである。

  1. 以前のインストールスクリプト版空蟬の削除(必要に応じて)

  2. インストールするPCのインターネットへの接続確認

  3. 各種パッケージ(mlf-manyo1パッケージ, mlf-utsusemi-with-ugaoパッケージなど)のインストール

  4. 環境設定

古い空蟬(スクリプト版)の削除

目的の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

これらの雛形ファイルにおける、空蟬用環境変数は以下のようになる。

空蟬環境変数

環境変数

デフォルト値

役割、意味

UTSUSEMI_INST_CODE

<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