9
0

IBM i でYumリポジトリをオフラインで使用する

Last updated at Posted at 2023-12-11

はじめに

IBM i はRPM(RedHat Package Manager)をサポートしています。Yumを使ってPythonやNode.js、Rといった多様なオープンソースをIBM i 上で利用できます。

しかし、RPMでモジュールをインストールするというのは、インターネットに接続していることが前提の仕組みです。でもIBM iってほとんどのケースでインターネットに接続してないですよね?実はこの点を解決する機能がIBM iユーザーにはお馴染みのACSに実装されています。

ACSを経由して、インターネットに接続したPCからIBM i にRPMパッケージを送り込むことができるのですが、オープン系エンジニアにとっては、ACSを毎回使うのは面倒(!?)ではないでしょうか。そこで、LinuxライクにSSHでYumでいつでもオープンソースを入れられるようにYumリポジトリ―をオフライン化する方法を試したいと思います。

目的

この記事のゴールは、
「インターネットに接続されていないIBM i で、Yum(CUI)を使ったオープンソース管理を実現する」
です。

検証環境

  • IBM i 7.5 on PowerVS
  • ACS 1.1.9.0
  • Cliet to Site VPN越しにIBM i にアクセス(VPNはVPCがGW)
  • IBM i 自体はインターネットへの疎通なし
  • PC(ACS)からSSHアクセスを許可

手順

ACSを開いて、[アクション] メニューから [管理] -> [オープン・ソース・パッケージ管理] を開きます。
acs_oss_offline_01.png

システム: IPアドレス or ホスト名
ユーザー: SSH アクセスするUSRPRF
と、パスワードもしくはSSH鍵を指定します。(IBM i のSSHはQSECOFRはデフォルトでは許可されてないので、別ユーザーが推奨)
acs_oss_offline_02.png

オープン・ソース・パッケージ管理画面の[ユーティリティー]メニューから[オフライン使用のためにリポジトリ―を複製] を開きます。
acs_oss_offline_03.png

いくつか設定項目ありますが、今回はデフォルトのまま進めました。
画面中央にあるリポジトリ―の複製 ボタンで開始します。
acs_oss_offline_04.png

複製中はモジュールごとに進捗が確認できます。
acs_oss_offline_05.png

全部複製するまでにはそれなりの時間がかかります。ネットワーク環境に依存しますが、試した際には20分くらいかかりました。

あまり参考にならないかもしれませんが、リポジトリ複製中のPCのスループットは50Mbps程度がMAXでした。
acs_oss_offline_06.png

完了するとメッセージが出ます。
image.png

複製完了時点のIBM i 側のディレクトリサイズは約 3 GBでした。
(/QOpenSys/QIBM/UserData/rpm_repos/ibm の容量)
acs_oss_offline_07.png

オフラインでYumを使う

リポジトリが複製できた後は、インターネットに接続していないIBM iにsshアクセスしてyumコマンドによるパッケージ管理ができるようになります。

Trouble Shooting

オフラインリポジトリ―を作成したのに、インターネット上のリポジトリにアクセスしようとしてyum installが失敗することがあります。そういったときには、ACSの[ユーティリティー]メニューの

  • Clear Metadata
  • Rebuild RPM Database

を実行すると機能するようになるかもしれません。

image.png

最後に

オープンソースツールをいつ使いたくなるかはわからないので、IBM iの初期セットアップ時に最新のパッケージでオフラインリポジトリーを作成しておくと良いかもしれません。

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0