はじめに
OCI上のOracle Linuxでは、Ksplice(Kernel LivePatch)や、glibc / OpenSSL のLivePatch を利用できます。
また、OCI上のOracle Linuxインスタンスでは、Kspliceは初期状態でインストールおよび有効化されており、ULN(Unbreakable Linux Network)への登録は不要です。
しかし実際の運用では、OS Management Hub(OSMH)で管理されている環境において、ソフトウェア・ソースの設定状況によりKspliceの更新が利用できない場合があります。
本記事では、その原因と対処方法を整理します。
事象
以下のコマンドを実行すると、エラーが発生することがあります。
sudo ksplice -n all upgrade
エラー例:
Error: Unknown repo: 'ol8_aarch64_userspace_ksplice'
failed to upgrade on-disk packages
原因
結論としては、OS Management Hub(OSMH)によりリポジトリ管理が制御されているためです。
OSMH環境では、dnf / yum で直接リポジトリを操作するのではなく、OCIコンソール側のソフトウェア・ソースで管理します。
そのため、以下のような操作は期待通りに動作しません。
sudo dnf config-manager --enable xxx
よくある誤解
Kspliceが使えない?
いいえ、Ksplice自体は利用可能です。
実際に rpm -qa | grep ksplice で確認すると、Ksplice関連パッケージがインストールされていることがあります。
コマンドが間違っている?
いいえ、コマンド自体は正しいです。
問題は、Kspliceのuserspace用ソフトウェア・ソースが未設定であることです。
実際の状態確認
Ksplice関連パッケージが入っているかは、以下で確認できます。
rpm -qa | grep ksplice
例:
ksplice-release-el8-1.0-4.el8.aarch64
ksplice-core0-1.0.62-1.el8.aarch64
ksplice-1.0.62-1.el8.aarch64
ksplice-tools-1.0.62-1.el8.aarch64
この場合、Ksplice自体はインストール済みです。
ただし、インストール済みであっても、LivePatchが実際に適用できるかどうかは別確認が必要です。
対処方法
OCIコンソールで OS Management Hub の設定を確認します。
手順
- OCIコンソールを開く
- OS Management Hub を開く
- 対象の Managed Instance を選択する
- 「ソフトウェア・ソース」を開く
- 以下のソースを追加する
追加するソース
-
ol8_ksplice(Kernel向け) -
ol8_aarch64_userspace_ksplice(Userspace向け)
設定後、以下を再実行します。
sudo ksplice -n all upgrade
これにより、Unknown repo エラーが解消され、userspace の更新が可能になります。
ハマりポイント
ソフトウェア・ソースが表示されない
「表示するアイテムがありません」と出る場合は、以下を確認してください。
- コンパートメント違い
- ソース未作成
- Activeでないソースを見ている
Kernelだけ追加している
Kernel向けだけ追加していて、Userspace向けを追加していないケースがあります。
その場合、ol8_aarch64_userspace_ksplice が見つからずエラーになります。
Kspliceと通常アップデートの違い
| 項目 | Ksplice | 通常アップデート |
|---|---|---|
| 対象 | メモリ上のパッチ | RPMパッケージ |
| 再起動 | 不要 | 必要な場合あり |
| 管理 | ksplice | dnf / OSMH |
まとめ
OCIのOracle LinuxではKspliceはインストール済み・有効化済みであることが多いですが、OSMH環境ではソフトウェア・ソースの設定が重要です。
ポイントは以下の通りです。
- ULN登録は不要
- dnf での repo 操作は不可
- OCIコンソールの Software Source で設定する
- Kernel向けだけでなく Userspace向けも追加する
おわりに
OCIではKspliceが「デフォルトで使える」と見なされがちですが、OSMHで管理されている環境では別途設定が必要になることがあります。
必要に応じて、Kspliceの動作確認、自動適用設定、監視連携も合わせて検討することをおすすめします。
