2022年8月22日 ジェシー・ゴルジンスキー
IBMはIBM i RPMリポジトリを編成し直しています。この変更が行われている理由と、更新プログラムを受け取り続けるために何をする必要があるかをジェシー・ゴルジンスキー氏が説明します。
恐らくあなたは、インターネットを基盤とする多くのオープンソースパッケージ用のIBM iの配布技法のことをよくご存知だと思います。今日の時点で、IBMはその公開方法と場所を編成し直しています。今日の記事でこの変更が必要な理由と、プログラムの更新を受け取り続けるためにどのような処置を行う必要があるかを説明していきます。
「リポジトリ」という言葉を頻繁に使うつもりですので、その概念を復習しましょう。オープンソースパッケージは、ひとまとめにされリポジトリに送られます。リポジトリは、ウェブでホストされる基本的なアーカイブで、次の2つの部分で構成されています:
- 一連のRPMパッケージ(.rpmファイル)を格納しているディレクトリ
- RPMパッケージに関するメタデータ
言い換えるなら、リポジトリ(しばしば「リポ(repo)」と略されます)はウェブサーバー上の単なるディレクトリに過ぎません。
変更が必要な理由とは?
最近までIBMはすべてのオープンソースのRPMパッケージを単一のリポジトリで配信していました。数年間このアプローチは申し分なくコミュニティに役立っていました。それは、オープンソースパッケージを使用する人々にとって考え得る最も簡単な方法でした。
しかし、単一のリポジトリというアプローチには問題があります。初心者にとってIBM iクライアントには、ネットワークトポロジー、DNSの設定またはインターネットアクセスという点で多様な束縛があります。その結果、お客様はプロトコルを切り替え、ハードコーディングされたIPアドレスを使い、あるいは他の通信上の問題を回避するために構成ファイルを手作業で修正しなければなりませんでした。
しかし最も顕著なことに、単一のリポジトリというアプローチは、OSの複数のリリースをサポートする場合不十分なのです。RPMは、しばしばサポートされているOSの最も初期のリリースで作られています。リリースのサポートが終了すると、RPMはそのOSのもっと新しいバージョンを元に作られます。たとえば、単一リポジトリは最初IBM i 7.2用に作られたパッケージをホストしました。これらのパッケージはIBM i 7.2またはそれより新しいOSで動きます。もしもそのリポジトリがIBM i 7.3用に作成されたパッケージを含んでいると、現在7.2のユーザーと積極的に絶交することになります。
その上、幾つかのパッケージにはそれが動作する最低限のリリースという要件があります。他のパッケージには複数リリース用に作成され、そのOSのもっと新しい機能を活用できるビルドがあるかも知れません。
全体として見れば、次のことが明らかになりました:
- ユーザーはネットワークや接続の問題を回避するための、もっと良い方法を必要としている。
- パッケージはリリース毎の単位で配布され、管理される必要がある。
新しいIBM i RPMリポジトリとは何か?
これらの懸念事項に対処するために、IBMは元々のRPMリポジトリを終了させました。2022年の初めから、IBMは幾つかの新しいリポジトリを積極的に維持しています。それらは次のようなものです:
- IBM i Base: RPMエコシステムがサポートしているIBM iの最も古いリリース用のRPMをホストしています。元々これは、私達が最初から使ってきたIBM i 7.2のリポジトリと同じものを指し示していましたが、リリースされたばかりの「ibmi-repos」更新版は新しいIBM i 7.3を指し示すことになります。 時が来れば、それは新しいIBM i 7.4を指し示すことになる筈です!
- IBM i Release あなたが現在使用しているOSレベル専用に作成されたRPMをホストしています。IBM i Releaseリポジトリのバージョンは、サポートされているIBM i毎に存在します。IBM iをアップグレードすると、自動的に新しいバージョン用のリポジトリを指し示します。
「ibmi-repos」というパッケージは、現在これらの「セキュアでない」バージョンも供給しています。このバージョンは、幾つかの共通の接続上/構成上の問題を容易に回避するために使用できます。
今何をするべきか?
これら4つの新しいリポジトリの定義は、「ibmi-repos」という新しいRPMパッケージで配信されています。ですから、これらの新しいリポジトリを設定するのは「yum install ibmi-repos」コマンドを実行するだけであり、簡単です(あるいは、同等のことをACSのUIから実行するだけです)。
インストールまたは更新を実行するプロセスは次のようにまとめられます:
- 「ibmi-repos」パッケージをインストールすることで、新しいリポジトリが設定される。
- 「ibmi-repos」パッケージを最新バージョンに更新し、間違いなく正しくかつ最新の構成にする。
- インストールまたは更新を実行することで、新しいリポジトリを使用するようにする。
この記事が公開された後、オープンソース環境(しばしば「ブートストラップ」と呼ばれます)をインストールすると、既に新しいリポジトリが設定されていることに注意してください。それでも、「ibmi-repos」が間違いなく最新のものであることを確認することをお勧めします。
「ibmi-repos」パッケージは古い(終了した)リポジトリを削除しません。一部の人達は手作業で単純にファイル/QOpenSys/etc/yum/repos.d/ibm.repoを削除することを選ぶでしょう(このファイルを自分独自のリポジトリ情報でカスタマイズしている場合はこれをやらないでください)。
お使いのIBM iのバージョンがサポート切れになっている場合、そのOSレベル用の「IBM i Base」リポジトリは、まだ機能しており使用できます。もっと新しいユーザーは、もっと新しいリリース用の適切な別のBaseリポジトリに案内されます。
対応策をとらなければどうなるか?
「ibmi-repos」をインストールしていない場合、すべてが通常通り機能し続けますが、パッケージマネージャーは古い(終了した)リポジトリのことしか知りません。その結果、いかなるパッケージ更新も見えなくなります。ある意味、あなたは2022年秋の状態に止め置かれます!
新しいIBM iリポジトリに関する結論
信じようが信じまいが、今やIBM iチームはRPMパッケージを通じてパッケージを配信するという経験を5年有しています! 新しい複数リポジトリ戦略は、ここまで見てきた多くのお客様がお困りの事に対処しています。そしてあなたの経験が、可能な限り切れ目のないものであることを望みます。
主な点をまとめると以下の様になります:
- 古い単一のIBMリポジトリは終了しました。それはまだ利用可能ですが、更新版が配信されることはありません。
- 「IBM i Base」リポジトリは、IBM i 7.3またはそれより新しいOSを使用しているユーザー向けにIBM i 7.3リポジトリに変更されています。
- サポートされているIBM iのリリースを使い、間違いなく「ibmi-repos」パッケージがインストールされ、最新の更新を受け取るために最新状態にあるようするのが最善です。
- IBM i 7.2ユーザーは、これ以上の更新は利用できないことを除けば、影響を受けません。
「ibmi-repos」パッケージをインストールするのに何らかの問題に直面した場合は、私達のオープンソース文書化サイトのトラブルシューティングの章を見てください。それでもまだ手助けが必要な場合は、気兼ねなくIBMに連絡し支援を求めてください。