IBM、オープンソース ソフトウェア向けのRPMリポジトリーを再編成
IBMは、IBM i プラットフォーム向けのオープンソース ソフトウェアの配布方法を変更しています。この5年間、IBMは、IBM i オペレーティング システムのすべてのリリース向けのソフトウェアを、単一のRPMリポジトリーを使用して配布してきましたが、そうする代わりに、オペレーティング システムの個別リリースを通じてソフトウェアを提供することになります。変更を行ったのは、IBM i のすべてのリリースで単一のリポを使用することで生じていた問題に対処するためだとIBMは述べています。
IBMは、2018年に、オープンソース ソフトウェアの配布を簡略化する方法として、新たなRPM(Red Hat Package Manager)の提供を開始し、IBM i のオープンソース ソフトウェアの配布を業界標準に合わせた形で行えるようになりました。RPMパッケージには、IBM i で特定のソフトウェアをインストールするのに必要となるすべてのソフトウェアが含まれ、これらのパッケージはインターネット上でホスティングされているリポジトリーでホスティングされます。
IBMは、IBM i のソフトウェア配布方式の変更について、公式な発表は行っていません。しかし、オープンソースの権威であるJesse Gorzinski氏が、その変更について TechChannelサイトにコラム記事を書いています(ちなみに、実際に変更が行われたのは、2022年の初めのことです)。
8月に投稿されたGorzinski氏のコラム記事( こちらでお読みになれます)によると、単一リポ アプローチにまつわる最大の問題は、IBM i OSの特定のリリースをサポートするために変更が加えられたときに、オープンソース ソフトウェアのビルドの破損につながる可能性があることでした。
「複数のOSリリースをサポートする際には、単一のリポジトリーというのは不適当なアプローチです」とGorzinski氏は記しています。「RPMは、たいてい、サポート対象となっている最も早期のOSリリースでビルドされます。リリースがサポート対象から外れると、RPMは、新しいOSバージョンでビルドし直されます。たとえば、当初、唯一あるリポジトリーは、IBM i 7.2向けにビルドされたパッケージをホスティングしていました。これらのパッケージは、IBM i 7.2以降で稼働します。そのリポジトリーにIBM i 7.3ビルドがホスティングされたら、現行7.2ユーザーのビルドは破損するでしょう。」
IBMは、IBM i 7.1およびIBM i 7.2についてはメインストリーム サポートの提供を終了しています。ただし、2024年4月までは、顧客はこれらのオペレーティング システムの延長サポートを有償で受けることができます(7.1の延長サポートは、一定のハードウェアでのみ利用可能です。詳細については、 IBM i リリース ライフサイクルのドキュメント を参照してください)。
しかし、こうした以前のオペレーティング システムを稼働している企業もまだ多く、使用しているサーバーで無償のオープンソース ソフトウェアをダウンロードして稼働したいというケースもあるかもしれません。以前のOSリリースがサポート対象から外れるときにリポを更新するという、IBMのこれまでのRPMアプローチの下では、以前のOSのユーザーは、オープンソース ソフトウェアの破損したバージョンを手にすることになりかねません。
もうひとつの問題は、ネットワークおよび接続性の問題を回避するために、IBM i 顧客が構成を調整する必要が生じる場合があることです。「IBM i クライアントは、ネットワーク トポロジー、DNS設定、またはインターネット アクセスに関して、様々な制約を受けています」とGorzinski氏は記しています。「その結果、顧客は、手作業で構成ファイルを修正して、プロトコルを切り替えたり、ハードコーディングされたIPアドレスを使用したり、その他の接続性問題に対処したりする必要がありました。」
「ibmi-repos」と呼ばれる新たなRPMアプローチの下では、IBM i リポは、オペレーティング システムのリリース レベル別に編成されます。まず、IBM i Baseリポ(「ibmi-base」)には、サポート対象となっている、最も古いオペレーティング システムのリリース(現時点ではIBM i 7.3)向けのオープンソース ソフトウェアのRPMが格納されます。
また、IBM i Releaseリポ(「ibmi-release」)には、一定のIBM i リリース向けに特別にビルドされたRPMが格納されます。IBM i 7.2専用のリポがあるため、7.2ユーザーは、使用しているオペレーティング システムで稼働するRPMパッケージを入手することが可能になります(7.1リポはありません。これは、 2018年にIBMが5733-OPSライセンス製品からRPMおよびYum方式へ移行した時点で、7.1はすでにメインストリーム サポートの対象から外れていたためです)。
さらに、ibmi-reposパッケージには、それらのビルドの「非セキュア(unsecure)」バージョンも含まれるようになっています。これらの非セキュア バージョンは、「よく起こりがちな接続性/構成の問題を回避する」ために必要になる場合があるとGorzinski氏は述べています。
「IBM i OSS Docs」Webサイトによると、ibmi-releaseリポは、稼働しているオペレーティング システムのバージョンに合わせて、ユーザーに自動的に適切なディレクトリーを指定するということです。ibmi-baseリポには、「そのリポによってサポートされているすべてのリリースに適用可能なパッケージが格納されます(すなわち、最小リリースがある)」と同サイトは述べています。「このリポは、より以前のIBM i リリースがサポート対象から外れると、新たな最小リリースのベース リポが作成されるため、時間が経つにつれて変更されることになります。」
新しいリポは、現在、IBMによってサポートされている両方のRPMコントロール ポイントで指定されています。すなわち、IBM i で稼働しているYumを介して、およびAccess Client Solutionsユーザー インターフェースを通じてです。8月18日以降、IBM i 7.3以上のユーザーは、ibmi-releaseリポでibmi-reposのアップデートを確認できるとIBMは「IBM i OSS Docs」サイトで述べています。「このアップデートは、ibmi-baseリポのURLを、従来の7.2+リポから新しい7.3+リポへ変更します」とIBMは述べています。
正式な役職がオープンソース テクノロジー担当ビジネス アーキテクトであるGorzinski氏は、IBM i顧客にibmi-reposパッケージをインストールするよう推奨しています。これにより、新たなリポジトリーが自動的に構成されます。新しいibmi-reposパッケージをインストールしない場合、ユーザーは元のリポジトリーを使用し続けることができます。これは、引き続き使用可能であり、これまで通り機能し続けます。
ただし、新たなibmi-reposを無視し、旧式とされている古いリポを使用していると、ユーザーは「2022年9月には行き止まりになってしまう」リスクがあるとGorzinski氏は警告しています。