Oracle Cloud上のOracle Linux 7インスタンスでyum check-updateを実行した際にELBA-2021-9629,ELBA-2021-9631のメッセージが出力される

Oracle Cloud上のOracle Linux 7インスタンスでyum check-updateを実行したところ、下記の様なメッセージが出力された。

[osakanataro@ocilinux ~]$ sudo yum check-update
読み込んだプラグイン:langpacks, ulninfo
Update notice ELBA-2021-9629 (ol7_developer から) is broken, or a bad duplicate, skipping.
You should report this problem to the owner of the ol7_developer repository.
To help pinpoint the issue, please attach the output of "yum updateinfo --verbose" to the report.
Update notice ELBA-2021-9631 (ol7_developer から) is broken, or a bad duplicate, skipping.
Security: kernel-uek-4.14.35-2047.510.5.2.el7uek.x86_64 is an installed security update
Security: kernel-uek-4.14.35-2047.504.2.el7uek.x86_64 is the currently running version
[osakanataro@ocilinux ~]$

とりあえず、出力にかいてある「yum updateinfo –verbose」を実行してみる。

[osakanataro@ocilinux ~]$ sudo yum updateinfo --verbose
無効になっているため、プラグイン「osmsplugin」は読み込みません
無効になっているため、プラグイン「rhnplugin」は読み込みません
プラグイン「ulninfo」を読み込んでいます
プラグイン「langpacks」を読み込んでいます
Adding en_US.UTF-8 to language list
Config time: 0.091
Yum version: 3.4.3
rpmdb time: 0.000
Setting up Package Sacks
pkgsack time: 0.255
Duplicate of ELBA-2021-9629 differs in some fields:
<<<<<<< ol7_developer:description
'[2.53.1-1]\n- Update to version 2.53.1\n\n[2.53.0-1]\n- Update to version 2.53.0\n\n[2.52.1-1]\n- Update to version 2.52.1\n\n[2.52.0-1]\n- Update to version 2.52.0\n\n[2.51.0-1]\n- Update to version 2.51.0\n\n[2.50.0-1]'
=======
'[2.53.1-1]\n- Update to version 2.53.1'
>>>>>>> ol7_addons:description
Update notice ELBA-2021-9629 (ol7_developer から) is broken, or a bad duplicate, skipping.
You should report this problem to the owner of the ol7_developer repository.
To help pinpoint the issue, please attach the output of "yum updateinfo --verbose" to the report.
Duplicate of ELBA-2021-9631 differs in some fields:
<<<<<<< ol7_developer:description
'[3.4.1-1]\n- Update to version 3.4.1\n\n[3.4.0-1]\n- Update to version 3.4.0\n\n[3.3.3-1]\n- Update to version 3.3.3\n\n[3.3.2-1]\n- Update to version 3.3.2\n\n[3.3.1-1]\n- Update to version 3.3.1\n\n[3.3.0-1]\n- Update to version 3.3.0\n\n[3.2.2-1]\n- Update to version 3.2.2\n\n[3.2.1-1]\n- Update to version 3.2.1\n\n[3.2.0-1]\n- Update to version 3.2.0\n\n[3.1.2-1]\n- Update to version 3.1.2\n\n[3.1.1-1]\n- Update to version 3.1.1\n\n[3.1.0-1]\n- Update to version 3.1.0\n\n[3.0.5-1]\n- Update to version 3.0.5\n\n[3.0.4-1]\n- Update to version 3.0.4\n\n[3.0.3-1]\n- Update to version 3.0.3\n\n[3.0.2-1]\n- Update to version 3.0.2\n\n[3.0.1-1]\n- Update to version 3.0.1\n\n[3.0.0-1]'
=======
'[3.4.1-1]\n- Update to version 3.4.1'
>>>>>>> ol7_addons:description
Update notice ELBA-2021-9631 (ol7_developer から) is broken, or a bad duplicate, skipping.
updateinfo time: 5.586
オブジェクトの更新を構築しています
up:Obs Init time: 4.605
up:simple updates time: 0.024
up:obs time: 0.008
up:condense time: 0.000
updates time: 10.097
Security: kernel-uek-4.14.35-2047.510.5.2.el7uek.x86_64 is an installed security update
Security: kernel-uek-4.14.35-2047.504.2.el7uek.x86_64 is the currently running version
updateinfo summary done
[osakanataro@ocilinux ~]$ 

よくわからん。

該当するErattaは下記と
ELBA-2021-9629 – python-oci-sdk bug fix update
ELBA-2021-9631 – python-oci-cli bug fix update

特に解決につながりそうな情報はない。

レポジトリ一覧を取得してみる

[osakanataro@ocilinux ~]$ 
 yum repolist all
読み込んだプラグイン:langpacks, ulninfo
リポジトリー ID                      リポジトリー名                                                                                               状態
ol7_MODRHCK/x86_64                   Latest RHCK with fixes from Oracle for Oracle Linux 7Server (x86_64)                                         無効
ol7_UEKR3/x86_64                     Latest Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7Server (x86_64)                             無効
ol7_UEKR3_OFED20/x86_64              OFED supporting tool packages for Unbreakable Enterprise Kernel on Oracle Linux 7 (x86_64)                   無効
ol7_UEKR4/x86_64                     Latest Unbreakable Enterprise Kernel Release 4 for Oracle Linux 7Server (x86_64)                             無効
ol7_UEKR4_OFED/x86_64                OFED supporting tool packages for Unbreakable Enterprise Kernel Release 4 on Oracle Linux 7 (x86_64)         無効
ol7_UEKR4_archive/x86_64             Unbreakable Enterprise Kernel Release 4 for Oracle Linux 7Server (x86_64) - Archive                          無効
ol7_UEKR5/x86_64                     Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 7Server (x86_64)                             有効:           592
ol7_UEKR5_RDMA/x86_64                Oracle Linux 7 UEK5 RDMA (x86_64)                                                                            無効
ol7_UEKR5_archive/x86_64             Unbreakable Enterprise Kernel Release 5 for Oracle Linux 7Server (x86_64) - Archive                          無効
ol7_UEKR6/x86_64                     Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 7Server (x86_64)                             無効
ol7_UEKR6_RDMA/x86_64                Oracle Linux 7 UEK6 RDMA (x86_64)                                                                            無効
ol7_addons/x86_64                    Oracle Linux 7Server Add ons (x86_64)                                                                        有効:           579
ol7_developer/x86_64                 Oracle Linux 7Server Development Packages (x86_64)                                                           有効:   1,571+1,295
ol7_developer_EPEL/x86_64            Oracle Linux 7Server EPEL Packages for Development (x86_64)                                                  有効: 28,888+12,373
ol7_developer_UEKR5/x86_64           Oracle Linux 7Server Unbreakable Enterprise Kernel Release 5  Packages for Development and test (x86_64)     無効
ol7_developer_UEKR6/x86_64           Developer Preview of UEK Release 6 (x86_64)                                                                  無効
ol7_developer_kvm_utils/x86_64       Oracle Linux 7Server KVM Utilities for Development and test (x86_64)                                         無効
ol7_developer_php70/x86_64           Oracle Linux 7Server PHP 7.0 Packages for Development and test (x86_64)                                      無効
ol7_developer_php71/x86_64           Oracle Linux 7Server PHP 7.1 Packages for Development and test (x86_64)                                      無効
!ol7_developer_php72/x86_64          Oracle Linux 7Server PHP 7.2 Packages for Development and test (x86_64)                                      無効
ol7_developer_php74/x86_64           Oracle Linux 7Server PHP 7.4 Packages for Development and test (x86_64)                                      有効:           806
ol7_ksplice                          Ksplice for Oracle Linux 7Server (x86_64)                                                                    有効:        19,729
ol7_kvm_utils/x86_64                 Oracle Linux 7Server KVM Utilities (x86_64)                                                                  無効
ol7_latest/x86_64                    Oracle Linux 7Server Latest (x86_64)                                                                         有効:        23,697
ol7_latest_archive/x86_64            Oracle Linux 7Server Latest (x86_64) - Archive                                                               無効
ol7_leapp/x86_64                     Leapp Upgrade Utilities for Oracle Linux 7Server (x86_64)                                                    無効
ol7_optional_archive/x86_64          Oracle Linux 7Server Optional (x86_64) - Archive                                                             無効
ol7_optional_latest/x86_64           Oracle Linux 7Server Optional Latest (x86_64)                                                                有効:        16,690
ol7_security_validation/x86_64       Oracle Linux 7Server Update 3 (x86_64) Security Validations                                                  無効
ol7_software_collections/x86_64      Software Collection Library release 3.0 packages for Oracle Linux 7 (x86_64)                                 有効:        17,074
ol7_u0_base/x86_64                   Oracle Linux 7Server GA installation media copy (x86_64)                                                     無効
ol7_u1_base/x86_64                   Oracle Linux 7Server Update 1 installation media copy (x86_64)                                               無効
ol7_u2_base/x86_64                   Oracle Linux 7Server Update 2 installation media copy (x86_64)                                               無効
ol7_u3_base/x86_64                   Oracle Linux 7Server Update 3 installation media copy (x86_64)                                               無効
ol7_u4_base/x86_64                   Oracle Linux 7Server Update 4 installation media copy (x86_64)                                               無効
ol7_u5_base/x86_64                   Oracle Linux 7Server Update 5 installation media copy (x86_64)                                               無効
ol7_u6_base/x86_64                   Oracle Linux 7Server Update 6 installation media copy (x86_64)                                               無効
ol7_u7_base/x86_64                   Oracle Linux 7Server Update 7 installation media copy (x86_64)                                               無効
ol7_u8_base/x86_64                   Oracle Linux 7Server Update 8 installation media copy (x86_64)                                               無効
ol7_u8_security_validation/x86_64    Oracle Linux 7Server Update 8 (x86_64) Security Validations                                                  無効
ol7_u9_base/x86_64                   Oracle Linux 7Server Update 9 installation media copy (x86_64)                                               無効
ol7_x86_64_userspace_ksplice         Ksplice aware userspace packages for Oracle Linux 7Server (x86_64)                                           無効
packages-microsoft-com-prod          packages-microsoft-com-prod                                                                                  有効:         1,085
repolist: 110,711
[osakanataro@ocilinux ~]$ $ ls /etc/yum.repos.d/
ksplice-ol7.repo               oracle-linux-ol7.repo.20200710      oracle-softwarecollection-ol7.repo.bkp         uek-ol7.repo.20200406
microsoft.repo                 oracle-linux-ol7.repo.bkp           oracle-softwarecollection-ol7.repo.rpmnew.bkp  uek-ol7.repo.bkp
oracle-epel-ol7.repo           oracle-linux-ol7.repo.rpmnew.bkp    oraclelinux-developer-ol7.repo                 uek-ol7.repo.rpmnew.bkp
oracle-epel-ol7.repo.20190815  oracle-php-ol7.repo                 oraclelinux-developer-ol7.repo.20200406        virt-ol7.repo
oracle-epel-ol7.repo.20210217  oracle-php-ol7.repo.20200406        public-yum-ol7.repo.sav                        virt-ol7.repo.bkp
oracle-linux-ol7.repo          oracle-softwarecollection-ol7.repo  uek-ol7.repo                                   virt-ol7.repo.rpmnew.bkp
[osakanataro@ocilinux ~]$

レポジトリがいろいろあるけど、ファイルはもっと多いなぁ・・・なんでだっけ?と記録を漁ったところ2021年6月に行った「Oracle Cloud上の古いOracle Linux 7インスタンスのyum設定を更新する」でのレポジトリ設定更新によるものだった。(Oracle側の記載は 2021.03 – Oracle Linux 7およびOracle Linux 8インスタンスのYumの更新 )

パッケージ情報捜索

ELBA-2021-9629のpython-oci-sdk

[osakanataro@ocilinux ~]$ yum info python-oci-sdk
読み込んだプラグイン:langpacks, ulninfo
利用可能なパッケージ
名前                : python-oci-sdk
アーキテクチャー    : x86_64
バージョン          : 2.36.0
リリース            : 1.el7
容量                : 15 M
リポジトリー        : ol7_developer/x86_64
要約                : Oracle Cloud Infrastructure Python SDK
URL                 : http://pypi.python.org/pypi/oci
ライセンス          : Apache2.0
説明                : Python SDK for Oracle Cloud Infrastructure.

[osakanataro@ocilinux ~]$ rpm -qa|grep oci-sdk
python36-oci-sdk-2.54.0-1.el7.x86_64
[osakanataro@ocilinux ~]$

ELBA-2021-9631のpython-oci-cli

[osakanataro@ocilinux ~]$ yum info python-oci-cli
読み込んだプラグイン:langpacks, ulninfo
利用可能なパッケージ
名前                : python-oci-cli
アーキテクチャー    : noarch
バージョン          : 2.9.0
リリース            : 1.el7
容量                : 1.2 M
リポジトリー        : ol7_developer/x86_64
要約                : Oracle Cloud Infrastructure CLI client
URL                 : http://pypi.python.org/pypi/oci-cli
ライセンス          : Apache2.0
説明                : Python SDK for Oracle Cloud Infrastructure command line client utilities.

[osakanataro@ocilinux ~]$ rpm -qa|grep oci-cli
python36-oci-cli-3.4.2-1.el7.noarch
[osakanataro@ocilinux ~]$

どちらもレポジトリにあるパッケージバージョンより新しいものがインストールされている状態になっている。

そういえば、いつだったかメンテナンスした時に、oci-sdkとoci-cliが古かったのでバージョンアップしたんだっけ、という思い出したので、状況はあるいみ解決した。

https://github.com/oracle/oci-cli/releases

Oracle Linux 8でphp 7.4.19-1にアップデート後からphp-fpmが起動しなくなった

Oracle Cloud上にARMインスタンスをたててOracle Linux 8をインストールしてwordpressサーバの運用を開始した。

ところが今日の朝実行された dnf automaticによる自動更新後、wordpressが「Service Unavailable」となり表示出来ない。

sshログインして確認するとphp-fpmが起動していない。

[root@retoge ~]# systemctl status php-fpm|cat
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2021-11-18 09:25:41 JST; 16s ago
  Process: 482320 ExecStart=/usr/sbin/php-fpm --nodaemonize (code=exited, status=127)
 Main PID: 482320 (code=exited, status=127)

Nov 18 09:25:41 retoge systemd[1]: Starting The PHP FastCGI Process Manager...
Nov 18 09:25:41 retoge php-fpm[482320]: /usr/sbin/php-fpm: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied
Nov 18 09:25:41 retoge systemd[1]: php-fpm.service: Main process exited, code=exited, status=127/n/a
Nov 18 09:25:41 retoge systemd[1]: php-fpm.service: Failed with result 'exit-code'.
Nov 18 09:25:41 retoge systemd[1]: Failed to start The PHP FastCGI Process Manager.
[root@retoge ~]#

SELinuxの問題で起動していなさそうなので/var/log/audit/audit.log を確認してみると下記の出力があった。

type=AVC msg=audit(1637195141.234:5827): avc:  denied  { execmod } for  pid=482320 comm="php-fpm" path="/usr/sbin/php-fpm" dev="dm-0" ino=369761 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_exec_t:s0 tclass=file permissive=0

type=SERVICE_START msg=audit(1637195141.238:5828): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=php-fpm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'^]UID="root" AUID="unset"

関連していそうなファイルのセキュリティコンテキストを確認

[root@retoge ~]# ls -lZ /usr/sbin/php-fpm
-rwxr-xr-x. 1 root root system_u:object_r:httpd_exec_t:s0 4656056 Oct 12 18:47 /usr/sbin/php-fpm
[root@retoge ~]# restorecon -R -v /usr/sbin
[root@retoge ~]# ls -lZ /usr/sbin/php-fpm
-rwxr-xr-x. 1 root root system_u:object_r:httpd_exec_t:s0 4656056 Oct 12 18:47 /usr/sbin/php-fpm
[root@retoge ~]# ls -lZ /usr/lib/systemd/systemd
-rwxr-xr-x. 1 root root system_u:object_r:init_exec_t:s0 1528680 Nov 11 09:41 /usr/lib/systemd/systemd
[root@retoge ~]# restorecon -R -v /usr/lib
[root@retoge ~]# ls -lZ /usr/lib/systemd/systemd
-rwxr-xr-x. 1 root root system_u:object_r:init_exec_t:s0 1528680 Nov 11 09:41 /usr/lib/systemd/systemd
[root@retoge ~]#

特に問題はなさそう?

ぐぐった時に出てきた「Bug 1670386 – AVC denied httpd_execmem for php-fpm when php-opcache is installed」が近いかな?と httpdのhttpd_execmemをonに変えてみたけど、これだけではダメな模様(後述のaudit2allowの結果を見ると、これ自体は必要そうでした)

[root@retoge ~]# getsebool httpd_execmem
httpd_execmem --> off
[root@retoge ~]# setsebool -P httpd_execmem on
[root@retoge ~]# getsebool httpd_execmem
httpd_execmem --> on
[root@retoge ~]# 
[root@retoge ~]# systemctl start php-fpm
Job for php-fpm.service failed because the control process exited with error code.
See "systemctl status php-fpm.service" and "journalctl -xe" for details.
[root@retoge ~]# systemctl restart httpd
[root@retoge ~]# systemctl start php-fpm
Job for php-fpm.service failed because the control process exited with error code.
See "systemctl status php-fpm.service" and "journalctl -xe" for details.
[root@retoge ~]#

今回はとりあえずphp-fpmが動けばいいか、ということで、問題となっているものを無視して起動できるようにしてしまうことにした。

まず、ausearchコマンドで関係するものをピックアップして、audit2allowで作成される予定のルールを確認する。

[root@retoge ~]# ausearch -m AVC |grep php| audit2allow


#============= httpd_t ==============

#!!!! This avc is allowed in the current policy
allow httpd_t http_port_t:tcp_socket name_connect;
allow httpd_t httpd_exec_t:file execmod;

#!!!! This avc can be allowed using the boolean 'httpd_unified'
allow httpd_t httpd_sys_content_t:dir write;

#!!!! This avc can be allowed using the boolean 'httpd_unified'
allow httpd_t httpd_sys_content_t:file write;
[root@retoge ~]#

これをモジュール化して組み込みます。

[root@retoge ~]# ausearch -m AVC |grep php| audit2allow -M php-fpm
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i php-fpm.pp

[root@retoge ~]# ls -l php-fpm*
-rw-r--r--. 1 root root 1594 Nov 18 09:51 php-fpm.pp
-rw-r--r--. 1 root root  597 Nov 18 09:51 php-fpm.te
[root@retoge ~]#

[root@retoge ~]# semodule -l |grep php
[root@retoge ~]# semodule -i php-fpm.pp
[root@retoge ~]# semodule -l |grep php
php-fpm
[root@retoge ~]#

php-fpmを起動してみます。

[root@retoge ~]# systemctl start php-fpm
[root@retoge ~]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-11-18 09:53:45 JST; 5s ago
 Main PID: 489019 (php-fpm)
   Status: "Ready to handle connections"
    Tasks: 6 (limit: 36876)
   Memory: 24.1M
   CGroup: /system.slice/php-fpm.service
           tq489019 php-fpm: master process (/etc/php-fpm.conf)
           tq489020 php-fpm: pool www
           tq489021 php-fpm: pool www
           tq489022 php-fpm: pool www
           tq489023 php-fpm: pool www
           mq489024 php-fpm: pool www

Nov 18 09:53:45 retoge systemd[1]: Starting The PHP FastCGI Process Manager...
Nov 18 09:53:45 retoge systemd[1]: Started The PHP FastCGI Process Manager.
[root@retoge ~]#

正常に起動が成功し、wordpressの動作も正常となりました。


2022/01/20追記

放置していたサーバでも発生していたので対処したところ、httpd_execmem有効化とselinuxモジュール追加で動き出しました

[root@retoge ~]# getsebool httpd_execmem
httpd_execmem --> off
[root@retoge ~]# setsebool -P httpd_execmem on
[root@retoge ~]# getsebool httpd_execmem
httpd_execmem --> on
[root@retoge ~]# ausearch -m AVC |grep php |audit2allow


#============= httpd_t ==============
allow httpd_t httpd_exec_t:file execmod;
[root@retoge ~]# ausearch -m AVC |grep php |audit2allow -M php-fpm
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i php-fpm.pp
[root@retoge ~]# semodule -i php-fpm.pp
[root@retoge ~]# systemctl start php-fpm
[root@retoge ~]#

Oracle Cloudで人に仮想マシンを作ってもらうための準備

Oracle CloudのFree Tierで仮想マシン作りたいけど、誰かに最初の設定をお任せしたい、という時の手順。

超絶に簡易的なもので、セキュリティ関連を考慮しない、全権限を渡してしまうタイプの手順になっていますので注意。

その1: Oracle Cloudにアカウントを作る

Oracle公式の「チュートリアル – Oracle Cloud Infrastructure を使ってみよう」を参照しながら実施します。

その2: Oracle Cloudの管理画面にログインする

2023年に管理画面のURL は https://cloud.oracle.com/ に統一されました

また、2023年後半から2段階認証が必須となり、FIDOデバイス連携もしくはモバイルアプリ(Oracle Mobile Authenticator でなくとも、 Microsoft AuthenticatorGoogle Authenticator でも大丈夫です。)を登録する必要がありますので、準備してください。

その3:ユーザー管理画面を開く

2024年3月版手順

「アイデンティティとセキュリティ」の「ドメイン」を開きます。

表示されるドメインから「Default」を選択します。(Defaultがない場合は、”コンパートメント”から(ルート)となっているものを選択します)

Defaultドメインでは「ユーザー」を選択します

開くと現在登録されているユーザー一覧が表示されます。

その4: ユーザー追加

「ユーザーの作成」をクリックして、下記の画面で「名前」としてログインする際に入力するユーザの名前を指定します。

説明はユーザを区別しやすくするためのものを入れて、最後にユーザー作成メールが届くメールアドレスを入力します。

作成すると下記のようなユーザー画面に移動します

電子メールのところが「検証保留中」となっています。

「ユーザーのパスワード作成/リセット」を選択します

ここで「パスワードの作成/リセット」をクリックすると下記の画面になります。

このパスワードは、認証する際に必要となります。ユーザ作成時に指定したメールアドレスのユーザに何らかの手段で伝えてください。

その5: ユーザー権限の追加

「ユーザーをグループに追加」を選択し、「Administrators」を選び、追加します

これでそのユーザに全ての権限を割り当てています。

なので、仮想マシンの削除も出来てしまいます。作業が終わったあとの取り扱いに注意が必要です。

その6: 届いたユーザ側の手続き

指定したメールアドレスには下記の様なメールが届いています。

URLをクリックして、もらったユーザ名とパスワードを入力してログインします。

2024年3月版手順追加

仮パスワードから本パスワードに設定したあと、2段階認証の設定を要求されます。

Oracle Mobile Authenticator でなくとも、 Microsoft AuthenticatorGoogle Authenticator でも大丈夫です。

私は Microsoft Authenticator を使用しています。その場合は、「オフライン・モードまたは別のオーセンティケータ・アプリケーションを使用」にチェックを入れて、QRコードを読み込みます。

登録完了/作業開始

ユーザ登録が完了したら必要な作業をやっていきます。

作業完了後手順

作業が終わったら、ユーザーのグループにある「administrators」の登録を削除します。

各ユーザの「グループ」にあるAdministratorの前にあるチェックボックスにチェックを入れて「削除」をクリックします。

「メンバーの削除」を選択すると下記の様にグループになにも表示されない状態となります。

この状態であればログインは出来るけど、作業はなにもできません。

そこから、さらにユーザーの削除を行う場合は「他のアクション」から「削除」を選択します。

これでログインもできなくなりました。

なお、この手順で削除されるのはOracle Cloudの管理画面だけで、別途wordpressなどの管理画面アクセスについてはそちらの設定で削除する必要がある点に注意してください。

Oracle Cloud上のOralce Linux 8インスタンスでOSアップデートがpython3-clickの競合で失敗していた

Oracle Cloud上に立てていたOracle Linux 8サーバにdnf automaticによるアップデート設定を書けてあったんだけど、いまみてみたらアップデートが途中から失敗していた模様。

# dnf check-update
Ksplice for Oracle Linux 8 (x86_64)             2.7 MB/s | 418 kB     00:00
MySQL 8.0 for Oracle Linux 8 (x86_64)           7.6 MB/s | 1.6 MB     00:00
MySQL 8.0 Tools Community for Oracle Linux 8 (x 653 kB/s | 106 kB     00:00
MySQL 8.0 Connectors Community for Oracle Linux 109 kB/s |  14 kB     00:00
Oracle Software for OCI users on Oracle Linux 8  31 MB/s | 8.0 MB     00:00
Oracle Linux 8 EPEL Packages for Development (x  39 MB/s |  19 MB     00:00
Oracle Linux 8 BaseOS Latest (x86_64)            42 MB/s |  37 MB     00:00
Oracle Linux 8 Application Stream (x86_64)       42 MB/s |  29 MB     00:00
Latest Unbreakable Enterprise Kernel Release 6   44 MB/s |  22 MB     00:00

iwl100-firmware.noarch     999:39.31.5.1-999.8.el8                 ol8_baseos_latest
iwl1000-firmware.noarch    999:39.31.5.1-999.8.el8                 ol8_baseos_latest
iwl105-firmware.noarch     999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl135-firmware.noarch     999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl2000-firmware.noarch    999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl2030-firmware.noarch    999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl3160-firmware.noarch    999:25.30.13.0-999.8.el8                ol8_baseos_latest
iwl3945-firmware.noarch    999:15.32.2.9-999.8.el8                 ol8_baseos_latest
iwl4965-firmware.noarch    999:228.61.2.24-999.8.el8               ol8_baseos_latest
iwl5000-firmware.noarch    999:8.83.5.1_1-999.8.el8                ol8_baseos_latest
iwl5150-firmware.noarch    999:8.24.2.2-999.8.el8                  ol8_baseos_latest
iwl6000-firmware.noarch    999:9.221.4.1-999.8.el8                 ol8_baseos_latest
iwl6000g2a-firmware.noarch 999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl6050-firmware.noarch    999:41.28.5.1-999.8.el8                 ol8_baseos_latest
iwl7260-firmware.noarch    999:25.30.13.0-999.8.el8                ol8_baseos_latest
kernel-uek.x86_64          5.4.17-2102.203.5.el8uek                ol8_UEKR6
kernel-uek-devel.x86_64    5.4.17-2102.203.5.el8uek                ol8_UEKR6
ksplice.x86_64             1.0.55-1.el8                            ol8_ksplice
ksplice-core0.x86_64       1.0.55-1.el8                            ol8_ksplice
ksplice-tools.x86_64       1.0.55-1.el8                            ol8_ksplice
linux-firmware.noarch      999:20210617-999.8.git0f66b74b.el8      ol8_baseos_latest
linux-firmware.src         999:20210617-999.8.git0f66b74b.el8      ol8_baseos_latest
perl-Algorithm-Diff.src    1.1903-10.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-Archive-Tar.src       2.32-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Archive-Zip.src       1.67-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-CPAN.src              2.27-2.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-CPAN-Meta.src         2.150010-397.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-CPAN-Meta-Requirements.src
                           2.140-397.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-CPAN-Meta-YAML.src    0.018-1001.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Carp.src              1.50-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Config-Perl-V.src     0.32-441.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Data-OptList.src      0.110-7.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-Data-Section.src      0.200007-8.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Digest.src            1.17-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Env.src               1.04-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Exporter.src          5.73-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-CBuilder.src 1:0.280231-439.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-ExtUtils-Install.src  2.14-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-MakeMaker.src
                           2:7.42-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-Manifest.src 1:1.72-438.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-ExtUtils-ParseXS.src  1:3.40-439.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-File-Fetch.src        0.56-3.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-File-HomeDir.src      1.004-6.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-File-Path.src         2.16-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-File-Temp.src         1:0.230.900-439.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-File-Which.src        1.23-4.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Filter-Simple.src     0.95-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Getopt-Long.src       1:2.51-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-HTTP-Tiny.src         0.076-439.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-IO-Compress.src       2.093-1.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-IO-Socket-IP.src      0.39-6.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-IPC-Cmd.src           2:1.04-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-IPC-System-Simple.src 1.25-18.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-JSON-PP.src           1:4.04-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Locale-Maketext.src   1.29-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-MRO-Compat.src        0.13-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Math-BigInt.src       1:1.9998.18-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Math-BigRat.src       0.2614-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Module-Build.src      2:0.42.29-4.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Module-CoreList.src   1:5.20191220-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Module-Load.src       1:0.34-439.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Module-Load-Conditional.src
                           0.70-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Module-Metadata.src   1.000037-1.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Package-Generator.src 1.106-12.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Params-Check.src      1:0.38-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Perl-OSType.src       1.010-397.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-PerlIO-via-QuotedPrint.src
                           0.08-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Pod-Checker.src       4:1.73-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Pod-Escapes.src       1:1.07-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Pod-Parser.src        1.63-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-Pod-Perldoc.src       3.28.01-442.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Pod-Simple.src        1:3.40-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Pod-Usage.src         4:1.69-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Software-License.src  0.103014-5.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Sub-Exporter.src      0.987-16.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Sub-Install.src       0.928-15.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Term-ANSIColor.src    4.06-397.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Term-Cap.src          1.17-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Test-Harness.src      1:3.42-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Test-Simple.src       3:1.302170-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Text-Balanced.src     2.03-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Text-Diff.src         1.45-7.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Text-Glob.src         0.11-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Text-ParseWords.src   3.30-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Text-Tabs+Wrap.src    2013.0523-396.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Text-Template.src     1.58-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Thread-Queue.src      3.13-2.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Time-Local.src        1:1.280-2.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-URI.src               1.76-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-autodie.src           2.29-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-bignum.src            0.51-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-constant.src          1.33-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-experimental.src      0.020-439.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-inc-latest.src        2:0.500-10.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-libnet.src            3.11-4.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-local-lib.src         2.000024-7.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-parent.src            1:0.237-2.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-perlfaq.src           5.20191102-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-podlators.src         1:4.12-2.module+el8.3.0+7729+86a74f64   ol8_appstream
python3-asn1crypto.noarch  1.3.0-4.el8                             ol8_developer_EPEL
python3-click.noarch       7.1.2-3.el8                             ol8_developer_EPEL
python3-oauthlib.noarch    3.0.2-8.el8                             ol8_developer_EPEL
python36-oci-cli.noarch    2.26.2-1.el8                            ol8_oci_included
python36-oci-sdk.x86_64    2.42.0-1.el8                            ol8_oci_included
Security: kernel-uek-5.4.17-2102.202.5.el8uek.x86_64 is an installed security update
Security: kernel-uek-5.4.17-2102.201.3.el8uek.x86_64 is the currently running version
# dnf update -y
Last metadata expiration check: 0:07:28 ago on Mon 19 Jul 2021 09:41:55 AM JST.
Error:
 Problem: package python36-oci-cli-2.26.2-1.el8.noarch requires python3-click = 6.7, but none of the providers can be installed
  - cannot install both python3-click-7.1.2-3.el8.noarch and python3-click-6.7-8.el8.noarch
  - cannot install both python3-click-6.7-8.el8.noarch and python3-click-7.1.2-3.el8.noarch
  - cannot install the best update candidate for package python36-oci-cli-2.26.1-1.el8.noarch
  - cannot install the best update candidate for package python3-click-6.7-8.el8.noarch
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
#

ol8_developer_EPELレポジトリからpython3-click-7.1.2-3のアップデートがきたけど、python36-oci-cliはpython3-clock-6.7要求だから、失敗、というもの。

現状を確認するために「dnf repolist –all」を実行

]# dnf repolist --all
repo id                          repo name                              status
ol8_MySQL80                      MySQL 8.0 for Oracle Linux 8 (x86_64)  enabled
ol8_MySQL80_connectors_community MySQL 8.0 Connectors Community for Ora enabled
ol8_MySQL80_tools_community      MySQL 8.0 Tools Community for Oracle L enabled
ol8_UEKR6                        Latest Unbreakable Enterprise Kernel R enabled
ol8_UEKR6_RDMA                   Oracle Linux 8 UEK6 RDMA (x86_64)      disabled
ol8_addons                       Oracle Linux 8 Addons (x86_64)         disabled
ol8_appstream                    Oracle Linux 8 Application Stream (x86 enabled
ol8_baseos_latest                Oracle Linux 8 BaseOS Latest (x86_64)  enabled
ol8_codeready_builder            Oracle Linux 8 CodeReady Builder (x86_ disabled
ol8_developer                    Oracle Linux 8 Development Packages (x disabled
ol8_developer_EPEL               Oracle Linux 8 EPEL Packages for Devel enabled
ol8_developer_UEKR6              Developer Preview of UEK Release 6 (x8 disabled
ol8_distro_builder               Oracle Linux 8 Distro Builder (x86_64) disabled
ol8_ksplice                      Ksplice for Oracle Linux 8 (x86_64)    enabled
ol8_kvm_appstream                Oracle Linux 8 KVM Application Stream  disabled
ol8_oci_included                 Oracle Software for OCI users on Oracl enabled
ol8_u0_baseos_base               Oracle Linux 8 BaseOS GA (x86_64)      disabled
ol8_u1_baseos_base               Oracle Linux 8.1 BaseOS (x86_64)       disabled
ol8_u2_baseos_base               Oracle Linux 8.2 BaseOS (x86_64)       disabled
ol8_u3_baseos_base               Oracle Linux 8.3 BaseOS (x86_64)       disabled
ol8_u4_baseos_base               Oracle Linux 8.4 BaseOS (x86_64)       disabled
ol8_x86_64_userspace_ksplice     Ksplice aware userspace packages for O disabled
#

これはEPELからパッケージを持ってこないようにするしかないかな・・・というところ

# cat /etc/yum.repos.d/oracle-epel-ol8.repo
[ol8_developer_EPEL]
name=Oracle Linux $releasever EPEL Packages for Development ($basearch)
baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/developer/EPEL/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
#

これに「exclude=python3-click」を追加して対象外に設定

# cat /etc/yum.repos.d/oracle-epel-ol8.repo
[ol8_developer_EPEL]
name=Oracle Linux $releasever EPEL Packages for Development ($basearch)
baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/developer/EPEL/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
exclude=python3-click
#

アップデート成功

# dnf check-update
Oracle Linux 8 EPEL Packages for Development (x  62 kB/s | 2.5 kB     00:00

iwl100-firmware.noarch     999:39.31.5.1-999.8.el8                 ol8_baseos_latest
iwl1000-firmware.noarch    999:39.31.5.1-999.8.el8                 ol8_baseos_latest
iwl105-firmware.noarch     999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl135-firmware.noarch     999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl2000-firmware.noarch    999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl2030-firmware.noarch    999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl3160-firmware.noarch    999:25.30.13.0-999.8.el8                ol8_baseos_latest
iwl3945-firmware.noarch    999:15.32.2.9-999.8.el8                 ol8_baseos_latest
iwl4965-firmware.noarch    999:228.61.2.24-999.8.el8               ol8_baseos_latest
iwl5000-firmware.noarch    999:8.83.5.1_1-999.8.el8                ol8_baseos_latest
iwl5150-firmware.noarch    999:8.24.2.2-999.8.el8                  ol8_baseos_latest
iwl6000-firmware.noarch    999:9.221.4.1-999.8.el8                 ol8_baseos_latest
iwl6000g2a-firmware.noarch 999:18.168.6.1-999.8.el8                ol8_baseos_latest
iwl6050-firmware.noarch    999:41.28.5.1-999.8.el8                 ol8_baseos_latest
iwl7260-firmware.noarch    999:25.30.13.0-999.8.el8                ol8_baseos_latest
kernel-uek.x86_64          5.4.17-2102.203.5.el8uek                ol8_UEKR6
kernel-uek-devel.x86_64    5.4.17-2102.203.5.el8uek                ol8_UEKR6
ksplice.x86_64             1.0.55-1.el8                            ol8_ksplice
ksplice-core0.x86_64       1.0.55-1.el8                            ol8_ksplice
ksplice-tools.x86_64       1.0.55-1.el8                            ol8_ksplice
linux-firmware.noarch      999:20210617-999.8.git0f66b74b.el8      ol8_baseos_latest
linux-firmware.src         999:20210617-999.8.git0f66b74b.el8      ol8_baseos_latest
perl-Algorithm-Diff.src    1.1903-10.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-Archive-Tar.src       2.32-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Archive-Zip.src       1.67-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-CPAN.src              2.27-2.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-CPAN-Meta.src         2.150010-397.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-CPAN-Meta-Requirements.src
                           2.140-397.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-CPAN-Meta-YAML.src    0.018-1001.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Carp.src              1.50-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Config-Perl-V.src     0.32-441.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Data-OptList.src      0.110-7.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-Data-Section.src      0.200007-8.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Digest.src            1.17-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Env.src               1.04-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Exporter.src          5.73-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-CBuilder.src 1:0.280231-439.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-ExtUtils-Install.src  2.14-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-MakeMaker.src
                           2:7.42-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-ExtUtils-Manifest.src 1:1.72-438.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-ExtUtils-ParseXS.src  1:3.40-439.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-File-Fetch.src        0.56-3.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-File-HomeDir.src      1.004-6.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-File-Path.src         2.16-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-File-Temp.src         1:0.230.900-439.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-File-Which.src        1.23-4.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Filter-Simple.src     0.95-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Getopt-Long.src       1:2.51-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-HTTP-Tiny.src         0.076-439.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-IO-Compress.src       2.093-1.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-IO-Socket-IP.src      0.39-6.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-IPC-Cmd.src           2:1.04-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-IPC-System-Simple.src 1.25-18.module+el8.3.0+7729+86a74f64    ol8_appstream
perl-JSON-PP.src           1:4.04-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Locale-Maketext.src   1.29-440.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-MRO-Compat.src        0.13-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Math-BigInt.src       1:1.9998.18-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Math-BigRat.src       0.2614-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Module-Build.src      2:0.42.29-4.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Module-CoreList.src   1:5.20191220-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Module-Load.src       1:0.34-439.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Module-Load-Conditional.src
                           0.70-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Module-Metadata.src   1.000037-1.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Package-Generator.src 1.106-12.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Params-Check.src      1:0.38-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Perl-OSType.src       1.010-397.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-PerlIO-via-QuotedPrint.src
                           0.08-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Pod-Checker.src       4:1.73-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Pod-Escapes.src       1:1.07-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Pod-Parser.src        1.63-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-Pod-Perldoc.src       3.28.01-442.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Pod-Simple.src        1:3.40-1.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Pod-Usage.src         4:1.69-396.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Software-License.src  0.103014-5.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-Sub-Exporter.src      0.987-16.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Sub-Install.src       0.928-15.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Term-ANSIColor.src    4.06-397.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Term-Cap.src          1.17-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Test-Harness.src      1:3.42-2.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Test-Simple.src       3:1.302170-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Text-Balanced.src     2.03-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Text-Diff.src         1.45-7.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Text-Glob.src         0.11-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Text-ParseWords.src   3.30-396.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-Text-Tabs+Wrap.src    2013.0523-396.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-Text-Template.src     1.58-1.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Thread-Queue.src      3.13-2.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-Time-Local.src        1:1.280-2.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-URI.src               1.76-5.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-autodie.src           2.29-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-bignum.src            0.51-439.module+el8.3.0+7729+86a74f64   ol8_appstream
perl-constant.src          1.33-1001.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-experimental.src      0.020-439.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-inc-latest.src        2:0.500-10.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-libnet.src            3.11-4.module+el8.3.0+7729+86a74f64     ol8_appstream
perl-local-lib.src         2.000024-7.module+el8.3.0+7729+86a74f64 ol8_appstream
perl-parent.src            1:0.237-2.module+el8.3.0+7729+86a74f64  ol8_appstream
perl-perlfaq.src           5.20191102-1.module+el8.3.0+7729+86a74f64
                                                                   ol8_appstream
perl-podlators.src         1:4.12-2.module+el8.3.0+7729+86a74f64   ol8_appstream
python3-asn1crypto.noarch  1.3.0-4.el8                             ol8_developer_EPEL
python3-oauthlib.noarch    3.0.2-8.el8                             ol8_developer_EPEL
python36-oci-cli.noarch    2.26.2-1.el8                            ol8_oci_included
python36-oci-sdk.x86_64    2.42.0-1.el8                            ol8_oci_included
Security: kernel-uek-5.4.17-2102.202.5.el8uek.x86_64 is an installed security update
Security: kernel-uek-5.4.17-2102.201.3.el8uek.x86_64 is the currently running version
# dnf update -y
Last metadata expiration check: 0:00:29 ago on Mon 19 Jul 2021 09:57:01 AM JST.
Dependencies resolved.
================================================================================
 Package             Arch   Version                    Repository          Size
================================================================================
Installing:
 kernel-uek          x86_64 5.4.17-2102.203.5.el8uek   ol8_UEKR6           65 M
 kernel-uek-devel    x86_64 5.4.17-2102.203.5.el8uek   ol8_UEKR6           18 M
Upgrading:
 iwl100-firmware     noarch 999:39.31.5.1-999.8.el8    ol8_baseos_latest  154 k
 iwl1000-firmware    noarch 999:39.31.5.1-999.8.el8    ol8_baseos_latest  217 k
 iwl105-firmware     noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  238 k
 iwl135-firmware     noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  247 k
 iwl2000-firmware    noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  241 k
 iwl2030-firmware    noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  250 k
 iwl3160-firmware    noarch 999:25.30.13.0-999.8.el8   ol8_baseos_latest  1.7 M
 iwl3945-firmware    noarch 999:15.32.2.9-999.8.el8    ol8_baseos_latest   92 k
 iwl4965-firmware    noarch 999:228.61.2.24-999.8.el8  ol8_baseos_latest  105 k
 iwl5000-firmware    noarch 999:8.83.5.1_1-999.8.el8   ol8_baseos_latest  298 k
 iwl5150-firmware    noarch 999:8.24.2.2-999.8.el8     ol8_baseos_latest  151 k
 iwl6000-firmware    noarch 999:9.221.4.1-999.8.el8    ol8_baseos_latest  171 k
 iwl6000g2a-firmware noarch 999:18.168.6.1-999.8.el8   ol8_baseos_latest  314 k
 iwl6050-firmware    noarch 999:41.28.5.1-999.8.el8    ol8_baseos_latest  247 k
 iwl7260-firmware    noarch 999:25.30.13.0-999.8.el8   ol8_baseos_latest   18 M
 ksplice             x86_64 1.0.55-1.el8               ol8_ksplice         16 k
 ksplice-core0       x86_64 1.0.55-1.el8               ol8_ksplice        270 k
 ksplice-tools       x86_64 1.0.55-1.el8               ol8_ksplice         97 k
 linux-firmware      noarch 999:20210617-999.8.git0f66b74b.el8
                                                       ol8_baseos_latest  178 M
 python3-asn1crypto  noarch 1.3.0-4.el8                ol8_developer_EPEL 184 k
 python3-oauthlib    noarch 3.0.2-8.el8                ol8_developer_EPEL 182 k
 python36-oci-cli    noarch 2.26.2-1.el8               ol8_oci_included   7.4 M
 python36-oci-sdk    x86_64 2.42.0-1.el8               ol8_oci_included    16 M

Transaction Summary
================================================================================
Install   2 Packages
Upgrade  23 Packages

Total download size: 307 M
Downloading Packages:
<略>
Upgraded:
  iwl100-firmware-999:39.31.5.1-999.8.el8.noarch
  iwl1000-firmware-999:39.31.5.1-999.8.el8.noarch
  iwl105-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl135-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl2000-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl2030-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl3160-firmware-999:25.30.13.0-999.8.el8.noarch
  iwl3945-firmware-999:15.32.2.9-999.8.el8.noarch
  iwl4965-firmware-999:228.61.2.24-999.8.el8.noarch
  iwl5000-firmware-999:8.83.5.1_1-999.8.el8.noarch
  iwl5150-firmware-999:8.24.2.2-999.8.el8.noarch
  iwl6000-firmware-999:9.221.4.1-999.8.el8.noarch
  iwl6000g2a-firmware-999:18.168.6.1-999.8.el8.noarch
  iwl6050-firmware-999:41.28.5.1-999.8.el8.noarch
  iwl7260-firmware-999:25.30.13.0-999.8.el8.noarch
  ksplice-1.0.55-1.el8.x86_64
  ksplice-core0-1.0.55-1.el8.x86_64
  ksplice-tools-1.0.55-1.el8.x86_64
  linux-firmware-999:20210617-999.8.git0f66b74b.el8.noarch
  python3-asn1crypto-1.3.0-4.el8.noarch
  python3-oauthlib-3.0.2-8.el8.noarch
  python36-oci-cli-2.26.2-1.el8.noarch
  python36-oci-sdk-2.42.0-1.el8.x86_64
Installed:
  kernel-uek-5.4.17-2102.203.5.el8uek.x86_64
  kernel-uek-devel-5.4.17-2102.203.5.el8uek.x86_64

Complete!
#

grubで止まったEFI機のLinuxを起動させる

Oracle Cloud上のCentOS 7インスタンスをOracle Linux 7にコンバートさせたら、一部のパッケージがうまくインストールできず、centos2ol.sh が途中で失敗した。

yum distro-syncを実行したらうまくいったので、大丈夫かな?と思ったら、grub関連が更新できずに起動に失敗した模様。

Oracle Cloudの場合、Web管理コンソールから該当インスタンスのディスプレイをVNC接続で表示するための設定ができるので、それでつなげてみたところ下記の様にgrubで停止していた。

まず、ディスクとパーテーションがどう認識されているが分からないので「ls」を実行します。

そうすると、「(ディスク名)」と「(ディスク名),(パーテーション名)」の一覧が表示されます。

grub> ls
(hd0)  (hd0,gpt3)  (hd0,gpt2)  (hd0,gpt1)  (fd0)  (fd1)
grub> 

上記の場合、hd0の中にパーテーションが3つある、ということになります。

各パーテーションのファイルシステムがなんなのかを「ls (hd0,gpt0)」と実行すると表示されます。

grub> ls (hd0,gpt2)
(hd0,gpt2): Filesystem is unknown.
grub> ls (hd0,gpt3)
(hd0,gpt3): Filesystem is xfs.
grub> ls (hd0,gpt1)
(hd0,gpt1): Filesystem is fat.
grub>

上記の結果により、パーテーション1:FAT、パーテーション3:XFS、パーテーション2:不明となります。

「ls (hd0,gpt1)/」と最後に/をつけると中にどんなファイル/ディレクトリがあるかを確認出来ます。

grub> ls (hd0,gpt1)/
efi/
grub> ls (hd0,gpt3)/
./ ../ boot/ dev/ proc/ run/ sys/ etc/ var/ root/ tmp/ usr/ bin sbin lib lib64
home/ media/ mnt/ opt/ srv/
grub>

上記により efi/があるパーテーション1は、/boot/efi があるパーテーション
パーテーション3は / があるパーテーションとなり
消去法的にパーテーション2は、ファイルシステムがないのでswapパーテーションとなる。

起動するにあたっては、linuxefi でvmlinuzファイルと、root=で/パーテーション指定を行い、initrdedi でinitramfsファイルを指定する形となる。

下記の様に入力して起動を行う。

grub> linuxefi (hd0,gpt3)/boot/vmlinuz-5.4.17-2102.202.5.el7uek.x86_64 root=/dev/sda3
grub> initrdefi (hd0,gpt3)/boot/initramfs-5.4.17-2102.202.5.el7uek.x86_64.img
grub> boot

なお、vzlinuzやinitramfsのファイル名は分からないと思うが、その場合は下記の様に「initrdefi (hd0,gpt3)/boot/initra」まで入力してからタブキーを押すと候補が表示されるので、それを利用すると良い。

画像

bootが開始されると、クラウド上でも普通のLinux環境と同じように起動表示がある。

で、ログインが出来るようになった。

Oracle Cloud上のインスタンスは、ssh keyでログインしているのでパスワードがわからないので、ssh経由で接続して続きを行う。

まず、起動できなかった原因は /etc/grub2-efi.cfg (/boot/efi/EFI/redhat/grub.cfg)が存在しないということだった。

「sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg」を実行して、grub.cfgを再作成することで対応できる。

参照:CentOS8からOracle Linux 8への移行1

再作成して再起動するときちんと下記の様にkernel選択画面が表示され、自動起動することが確認出来た。