IBM iでpythonやNode.js、Rなど、オープンソースを試したいけど、サーバーであるIBM iの環境で開発を試すのは気が引ける。。と思ったのでchrootを導入、活用してみたいと思います。

事前にこちらの手順でyumまで導入済みの環境で試します。

chrootの導入

IBM i用に用意されているchrootのパッケージをyumで導入します。

bash-4.4$ yum install -y ibmichroot

試した環境では、他に4つのパッケージも合わせてインストールされました。

==================================================================================================
 Package                     Arch                 Version                 Repository         Size
==================================================================================================
Installing:
 ibmichroot                  noarch               2.1.3-0                 ibm                20 k
Installing for dependencies:
 coreutils-gnu               ppc64                8.25-2                  ibm                27 M
 findutils                   ppc64                4.6.0-4                 ibm               1.8 M
 tar-gnu                     ppc64                1.29-1                  ibm               1.1 M
 unzip                       ppc64                6.0-3                   ibm               249 k

Transaction Summary
==================================================================================================
Install       5 Packages

chroot環境のセットアップ

chrootで/QOpenSys配下の任意のディレクトリを仮想環境のルートにする機能です。これによってオリジナル環境に影響を与えずにオープンソースが導入できます。
ここでは、/QOpenSys/chroot_test というディレクトリをルートにします。ディレクトリは事前に作成しなくて大丈夫でした。

bash-4.4$ chroot_setup /QOpenSys/chroot_test minimal nls

セットアップは数分かかります。進捗ログを見ていると、/QOpenSys配下の環境を指定したディレクトリに複製しているようなイメージです。


  #####  #     # ######  ####### ####### #######
 #     # #     # #     # #     # #     #    #
 #       #     # #     # #     # #     #    #
 #       ####### ######  #     # #     #    #
 #       #     # #   #   #     # #     #    #
 #     # #     # #    #  #     # #     #    #
  #####  #     # #     # ####### #######    #

  #####  ####### ####### #     # ######
 #     # #          #    #     # #     #
 #       #          #    #     # #     #
  #####  #####      #    #     # ######
       # #          #    #     # #
 #     # #          #    #     # #
  #####  #######    #     #####  #


**********************
Live IBM i session (changes made).
**********************
/QOpenSys/chroot_test
/QOpenSys/chroot_test Does not Exist
+++/QOpenSys/chroot_test creation was successful!+++
Chroot type is: minimal
Chroot type is: nls
=====================================
setting up based on /QOpenSys/pkgs/lib/ibmichroot/config/chroot_minimal.lst
=====================================
action = :file
action = :mkdir
mkdir -p /QOpenSys/chroot_test/QOpenSys/usr/sbin

(中略)

Extracting the tar file  /QOpenSys/pkgs/lib/ibmichroot/config/icu4c.tar

To enter Your Chroot
RUN: chroot /QOpenSys/chroot_test /QOpenSys/usr/bin/sh

DONE!

作成したchroot環境はクリーンな状態なので、yumを使ってバッケージを導入していきます。まずはbashとyumを入れます。

bash-4.4$ yum --installroot=/QOpenSys/chroot_test install -y bash yum

chroot環境にyumのrepolistを用意します。

bash-4.4$ mkdir /QOpenSys/chroot_test/QOpenSys/etc/yum/repos.d/
bash-4.4$ cp /QOpenSys/etc/yum/repos.d/ibm.repo /QOpenSys/chroot_test/QOpenSys/etc/yum/repos.d/ibm.repo

chroot環境に入る

セットアップ済みの環境に入ります。
セッションを区別するためにbashプロンプトを変更します。

bash-4.4$ chroot /QOpenSys/chroot_test /QOpenSys/usr/bin/bash
bash-4.4$ export PS1='chroot_test \$ '
chroot_test $

chroot環境でJupyter notebookを動かす

yumでpythonと必要パッケージ等を入れていきます。

chroot_test $ yum install -y python3 python3-pip python3-pyzmq yum-utils vim

pipでJupyterを入れます。

chroot_test $ pip3 install --upgrade pip
chroot_test $ pip3 install jupyter

Jupyter notebookの設定ファイルを生成します。

chroot_test $ jupyter notebook --generate-config
chroot_test $ vim /home/DEMO/.jupyter/jupyter_notebook_config.py

パラメーターを編集します。
xxx.xxx.xxx.xxxは接続元PCのアドレスを入れる(0.0.0.0だと全許可)

#c.NotebookApp.ip = 'localhost'
c.NotebookApp.ip = 'xxx.xxx.xxx.xxx'

#c.NotebookApp.open_browser = True
c.NotebookApp.open_browser = False

Jupyter notebookを起動します。

chroot_test $ jupyter notebook
[I 13:12:16.529 NotebookApp] Writing notebook server cookie secret to /home/DEMO/.local/share/jupyter/runtime/notebook_cookie_secret
[I 13:12:16.952 NotebookApp] Serving notebooks from local directory: /
[I 13:12:16.952 NotebookApp] The Jupyter Notebook is running at:
[I 13:12:16.952 NotebookApp] http://xxx.xxx.xxx.xxx:8888/?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ブラウザでアクセスして確認します。

image.png

chroot環境でセットアップしたJupyter Notebookが使えるようになりました。

jupyter notebook on IBM i のセットアップはこちらの記事も参考にさせていただきました!

广告
将在 10 秒后关闭
bannerAds