Oracle Cloud上のLinuxサーバからOracle Cloudのオブジェクトストレージをs3fsを使ってファイルシステムとして使う


Oracle Cloud上で運用しているファイルサーバのディスク使用率がいつのまにか96%を超えていた。

え?と思って調べてみたら、外部コンテンツを取り込む際に、コンテンツのバージョンも残しておこうと軽い気持ちで設定したgitが容量を使っていた。

遅くてもいいや、ということで、使っていない50GBのオブジェクトストレージ領域をs3fsでファイルシステムとして使うこととした。

参考文献
s3fs配布元
・Oracle Cloud Infrastructure Blog「Mounting an Object Storage Bucket as File System on Oracle Linux
・Oracle Cloud Infrastructureドキュメント「Amazon S3互換API
・Cloudii「Oracle Cloud オブジェクトストレージをOracle Linuxのファイルシステムとして直接マウントする方法。

基本的には、Oracle Cloud Infrastructure Blogの記述通りにやるだけなのだが、いろいろ勘違いしていて上手くいかなかった。

手順0: Oracle Cloud上でバケット作成

Oracle blog上では手順に書かれていないので手順0として書きます。

オブジェクトストレージにてバケットの作成を行います。

バケット作成後にバケットの詳細を確認し、一般のところにある「ネームスペース」もあとで使用します。

手順1: s3fs-fuseをインストール

epelを有効にしている状態であれば、「yum install s3fs-fuse」を実行するだけでインストール完了。

# yum install s3fs-fuse
読み込んだプラグイン:langpacks, ulninfo
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ s3fs-fuse.x86_64 0:1.91-1.el7 を インストール
--> 依存性の処理をしています: fuse >= 2.8.4 のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: fuse-libs >= 2.8.4 のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2(FUSE_2.2)(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2(FUSE_2.5)(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2(FUSE_2.6)(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2(FUSE_2.8)(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2()(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ fuse.x86_64 0:2.9.4-1.0.9.el7 を インストール
---> パッケージ fuse-libs.x86_64 0:2.9.4-1.0.9.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===================================================================================================================================
 Package                     アーキテクチャー         バージョン                        リポジトリー                          容量
===================================================================================================================================
インストール中:
 s3fs-fuse                   x86_64                   1.91-1.el7                        ol7_developer_EPEL                   257 k
依存性関連でのインストールをします:
 fuse                        x86_64                   2.9.4-1.0.9.el7                   ol7_latest                            88 k
 fuse-libs                   x86_64                   2.9.4-1.0.9.el7                   ol7_latest                            97 k

トランザクションの要約
===================================================================================================================================
インストール  1 パッケージ (+2 個の依存関係のパッケージ)

総ダウンロード容量: 442 k
インストール容量: 1.1 M
Is this ok [y/d/N]: y
Downloading packages:
<略>
インストール:
  s3fs-fuse.x86_64 0:1.91-1.el7

依存性関連をインストールしました:
  fuse.x86_64 0:2.9.4-1.0.9.el7                                 fuse-libs.x86_64 0:2.9.4-1.0.9.el7

完了しました!
#

手順2: 認証情報の設定

Oracle Cloudにログインした状態で右上のユーザアイコンから[プロファイル]-[ユーザー設定]を選択します。

画面が変わって、下の方にある[リソース]-[顧客秘密キー]を選択します。

この「顧客秘密キー」がS3 compatibleとして使う場合の認証情報となります。

「秘密キーの生成」をクリックして、何か名前を決めて作成します。

次の画面で表示される「生成されたキー」は「SECRET_ACCESS_KEY」として使いますので、かならず「コピー」してください。

これを忘れた場合は再作成する必要があります。

なお、キーはこんな感じですね。

で・・・Oracle blogだとACCESS_KEY_IDは何を使えばいいのかハッキリ書いていないので、しばらく名前として設定したs3-accessを使ってアクセスを試みていました。

正しくは上記の「アクセスキー」のところの文字列を使います。

Oracle blogでは下記の様に個人ユーザのディレクトリに認証情報を配置しています。

$ echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
$ chmod 600 ${HOME}/.passwd-s3fs

今回は個人用ではなく起動時から使えるような形にしたいので /etc/passwd-s3fs として設定しました。

# echo ~b66e06:KZyW~~~BDho= >  /etc/passwd-s3fs 
# chmod 600  /etc/passwd-s3fs 
#

手順3: マウントする

Oracle blogでは個人権限でマウントするための下記が書かれています。

$ s3fs [bucket] [destination directory] -o endpoint=[region] -o passwd_file=${HOME}/.passwd-s3fs -o url=https://[namespace].compat.objectstorage.[region].oraclecloud.com/ -onomultipart -o use_path_request_style

最初はアクセスできることを検証するため、このコマンドで実行します。

各要素は以下のようになっています。

[bucket]=手順0で作成したバケット名
[destination directory]=ローカルLinuxのマウントポイント
[namespace]=手順0で作成したバケットの詳細で確認できるネームスペース

テストとしてホームディレクトリ内にあるs3fsというディレクトリにマウントするべく実行

$ s3fs tw~t ./s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~b7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style
fuse: failed to exec fusermount: Permission denied
$

これはfusermountに権限がないためマウントできないというもので、下記で対処します。

$ sudo chmod a+x /usr/bin/fusermount
$ 

再実行

$ s3fs tw~t ./s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~b7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         460M     0  460M    0% /dev
tmpfs            486M  380K  486M    1% /dev/shm
tmpfs            486M   19M  467M    4% /run
tmpfs            486M     0  486M    0% /sys/fs/cgroup
/dev/sda3         39G   37G  2.0G   95% /
/dev/sda1        200M  7.4M  193M    4% /boot/efi
tmpfs             98M     0   98M    0% /run/user/0
tmpfs             98M     0   98M    0% /run/user/993
tmpfs             98M     0   98M    0% /run/user/1001
$

マウントされていない??/var/log/messages を確認すると認証情報の関連でマウントに失敗していました。

Jul  9 23:07:06 oralinux s3fs[22545]: s3fs version 1.91(unknown) : s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~fb7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style twsearch-git ./s3fs
Jul  9 23:07:06 oralinux  s3fs[22545]: Loaded mime information from /etc/mime.types
Jul  9 23:07:06 oralinux  s3fs[22546]: init v1.91(commit:unknown) with OpenSSL
Jul  9 23:07:06 oralinux  s3fs[22546]: s3fs.cpp:s3fs_check_service(3572): Failed to connect by sigv4, so retry to connect by signature version 2.
Jul  9 23:07:06 oralinux  s3fs[22546]: s3fs.cpp:s3fs_check_service(3584): Bad Request(host=https://ax~fb7.compat.objectstorage.us-phoenix-1.oraclecloud.com) - result of checking service.

これは /etc/passwd-s3fsに書いた access-key定義が誤っていた場合のログです。

修正して再実行すると今度はマウントできました。

$ s3fs tw~t ./s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~b7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         460M     0  460M    0% /dev
tmpfs            486M  400K  486M    1% /dev/shm
tmpfs            486M   19M  467M    4% /run
tmpfs            486M     0  486M    0% /sys/fs/cgroup
/dev/sda3         39G   37G  1.9G   96% /
/dev/sda1        200M  7.4M  193M    4% /boot/efi
tmpfs             98M     0   98M    0% /run/user/0
tmpfs             98M     0   98M    0% /run/user/993
tmpfs             98M     0   98M    0% /run/user/1001
s3fs              16E     0   16E    0% /home/users/s3fs
$

成功した場合は /var/log/messagesは下記の様な感じでした

Jul  9 23:30:18 oralinux s3fs[23933]: s3fs version 1.91(unknown) : s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~fb7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style twsearch-git ./s3fs
Jul  9 23:30:18 oralinux s3fs[23933]: Loaded mime information from /etc/mime.types
Jul  9 23:30:18 oralinux s3fs[23936]: init v1.91(commit:unknown) with OpenSSL
Jul  9 23:30:26 oralinux systemd: Configuration file /etc/systemd/system/oracle-cloud-agent.service is marked executable. Please remove executable permission bits. Proceeding anyway.

ただ、この設定だとs3fsを実行したユーザだけがアクセスでき、他のユーザではアクセスできません。

これは「allow_other」というオプションをつけることでアクセスできるようになります。

手順4: /etc/fstab に書く

再起動してもマウントされるようにするには /etc/fstab に書きます。 (/etc/rc.local とかに書く、という手順は不適切です)

上記で使った例であれば /etc/fstab に下記の様に書きます。

tw~it /home/users/s3fs fuse.s3fs use_path_request_style,url=https://axd~fb7.compat.objectstorage.us-phoenix-1.oraclecloud.com,use_path_request_style,_netdev,allow_other

これで、再起動してもマウントされるようになりました。

最小インストールのOracle Linux 8でブラウザを動かす場合FirefoxとChromeのどっちが容量少ないか


以前「最小インストールのCentOS7でブラウザを動かす場合FirefoxとChromeのどっちが容量少ないか」という記事を書いたが、アップデートしておこう、ということで、とりあえずOracle Linux 8としての記事で作成することにした。(なお、Alma LinuxやRocky Linuxでも同様)

今回、Oracle Linux 8.5のインストールメディアを使い「言語:English(United States)」、「Base Environment:Minimal Install」でインストールを実施したあと、「dnf update -y」で2022/05/12時点での最新状態として実施している。

また、chromium用にEPELレポジトリを「dnf install oracle-epel-release-el8」で追加している。(AlmaLinux/RockyLinuxの場合は「dnf install epel-release」

サーバローカルのコンソール画面で直接X-Windowを開くのではなく、別ホストからssh接続しXの画面を飛ばして表示する、という形式での使い方を想定しているため「dnf install  xorg-x11-xauth」を実行して準備した。

具体的にはWindows上にVcXsrvでXLaunchを起動し、TeraTermの「SSHポート転送」の「Xクライアントアプリケーションの転送」で表示する、という手法である。

「dnf install firefox」の場合、 63パッケージ追加、インストール容量334MB
「dnf install chromium」の場合、85パッケージ追加、インストール容量408MB

という結果になった。

ただ、これだけで問題無いかというと、そういうわけではなかった・・・

(最後の「まとめ」にて最終的な状態について解説)

Firefoxの場合

FirefoxはlibGL.so.1に関するエラーを出すものの日本語が文字化け状態で起動してきた。

[osakanataro@oraclelinux8 ~]$ firefox
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=25.2649) [GFX1-]: glxtest: libEGL missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=25.2649) |[1][GFX1-]: glxtest: libGL.so.1 missing (t=25.265) [GFX1-]: glxtest: libGL.so.1 missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=25.2649) |[1][GFX1-]: glxtest: libGL.so.1 missing (t=25.265) |[2][GFX1-]: glxtest: libEGL missing (t=25.265) [GFX1-]: glxtest: libEGL missing

CentOS7時代と同様に「dnf  install vlgothic-fonts vlgothic-p-fonts」でフォントを追加(2パッケージ追加、インストール容量7.9MB) (vlgothicはEPEL収録)

もしくは標準レポジトリの「dnf install google-noto-cjk-fonts-common google-noto-sans-cjk-ttc-fonts google-noto-serif-cjk-ttc-fonts」をインストールしても良い。

firefox起動時のlibGL.so.1エラーを消したい場合は「dnf install mesa-libGL」で6パッケージ,インストール容量2.2MBの追加を行う。と、libEGL missingのみに変わる

[osakanataro@oraclelinux8 ~]$ firefox
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=24.573) [GFX1-]: glxtest: libEGL missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL missing (t=24.573) |[1][GFX1-]: glxtest: libEGL missing (t=24.573) [GFX1-]: glxtest: libEGL missing

メッセージにあるlibEGLを追加すればいいのかな?「dnf install mesa-libEGL」で4パッケージ、インストール容量494kの追加してみたが出力は変わらなかったので違うらしい足らなかったらしい

[osakanataro@oraclelinux8 ~]$ firefox
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL initialize failed (t=24.5568) [GFX1-]: glxtest: libEGL initialize failed
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL initialize failed (t=24.5568) |[1][GFX1-]: glxtest: libEGL initialize failed (t=24.5568) [GFX1-]: glxtest: libEGL initialize failed

後述のChromiumの際にインストールしたmesa-dri-driversを追加したところ、エラー無しで起動するようになった。「dnf install mesa-dri-drivers」で3パッケージ、124MB追加。

[osakanataro@oraclelinux8 ~]$ firefox

ただ、firefoxの動作が重くなったような気が…

Chromiumの場合

Chromiumの方は、libGL.so.1のエラーで起動に失敗した。

[osakanataro@oraclelinux8 ~]$ chromium-browser
Couldn't open libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[0512/185936.937542:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2)
[0512/185936.937602:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2)
Aborted (core dumped)
[osakanataro@oraclelinux8 ~]$

これは「dnf install mesa-libGL」で対処する(6パッケージ追加、インストール容量2.2MB)

追加しても下記のメッセージが出力されるが、chromiumブラウザは起動した。

[osakanataro@oraclelinux8 ~]$ chromium-browser
libGL error: MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri)
libGL error: failed to load driver: swrast
libGL error: MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri)
libGL error: failed to load driver: swrast
[3408:3507:0512/190502.320894:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3408:3507:0512/190502.321458:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3408:3507:0512/190502.327719:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3451:3451:0512/190502.515616:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: OpenGL ES 2.0 is not supportable.
[3451:3451:0512/190502.516673:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: OpenGL ES 2.0 is not supportable.
[3451:3451:0512/190502.520596:ERROR:gl_surface_egl.cc(1430)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[3451:3451:0512/190502.540454:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: Could not create a backing OpenGL context.
[3451:3451:0512/190502.540594:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: Could not create a backing OpenGL context.
[3451:3451:0512/190502.540701:ERROR:gl_surface_egl.cc(1430)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[3451:3451:0512/190502.540791:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[3451:3451:0512/190502.584434:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
libGL error: MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri)
libGL error: failed to load driver: swrast
[3535:3535:0512/190502.778653:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: Could not find a decent GLX FBConfig to create the context.
[3535:3535:0512/190502.778787:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: Could not find a decent GLX FBConfig to create the context.
[3535:3535:0512/190502.778836:ERROR:gl_surface_egl.cc(1430)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[3535:3535:0512/190502.778887:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[3535:3535:0512/190502.783316:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
[3543:3543:0512/190502.922995:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled, ANGLE is

mesa-libGLインストール後は起動するがfirefoxと同じく日本語が文字化けしている。

CentOS7時代と同様に「dnf  install vlgothic-fonts vlgothic-p-fonts」でフォントを追加(2パッケージ追加、インストール容量7.9MB) (vlgothicはEPEL収録)

文字化けは無くなった。

chromium-browser 起動時の「/usr/lib64/dri/swrast_dri.so」のエラーについては、「dnf install mesa-dri-drivers」で対処できた。

[root@oraclelinux8 ~]# dnf install mesa-dri-drivers
Last metadata expiration check: 0:18:54 ago on Thu 12 May 2022 06:52:03 PM JST.
Dependencies resolved.
================================================================================
 Package          Arch   Version                            Repository     Size
================================================================================
Installing:
 mesa-dri-drivers x86_64 21.1.5-1.el8                       ol8_appstream  11 M
Installing dependencies:
 llvm-libs        x86_64 12.0.1-2.0.1.module+el8.5.0+20406+58ff08d7
                                                            ol8_appstream  23 M
 mesa-filesystem  x86_64 21.1.5-1.el8                       ol8_appstream  34 k
Enabling module streams:
 llvm-toolset            ol8

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 34 M
Installed size: 124 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): mesa-filesystem-21.1.5-1.el8.x86_64.rpm   96 kB/s |  34 kB     00:00
(2/3): mesa-dri-drivers-21.1.5-1.el8.x86_64.rpm 2.1 MB/s |  11 MB     00:05
(3/3): llvm-libs-12.0.1-2.0.1.module+el8.5.0+20 3.0 MB/s |  23 MB     00:07
--------------------------------------------------------------------------------
Total                                           4.5 MB/s |  34 MB     00:07
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : mesa-filesystem-21.1.5-1.el8.x86_64                    1/3
  Installing       : llvm-libs-12.0.1-2.0.1.module+el8.5.0+20406+58ff08d7   2/3
  Installing       : mesa-dri-drivers-21.1.5-1.el8.x86_64                   3/3
  Running scriptlet: mesa-dri-drivers-21.1.5-1.el8.x86_64                   3/3
  Verifying        : llvm-libs-12.0.1-2.0.1.module+el8.5.0+20406+58ff08d7   1/3
  Verifying        : mesa-dri-drivers-21.1.5-1.el8.x86_64                   2/3
  Verifying        : mesa-filesystem-21.1.5-1.el8.x86_64                    3/3

Installed:
  llvm-libs-12.0.1-2.0.1.module+el8.5.0+20406+58ff08d7.x86_64
  mesa-dri-drivers-21.1.5-1.el8.x86_64
  mesa-filesystem-21.1.5-1.el8.x86_64

Complete!
[root@oraclelinux8 ~]#

chromium-browser起動時のメッセージはまだ出ているが、起動はする

[osakanataro@oraclelinux8 ~]$ chromium-browser
ATTENTION: default value of option allow_rgb10_configs overridden by environment.
[3952:4052:0512/191116.527237:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3952:4052:0512/191116.527472:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3952:4052:0512/191116.527641:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3984:3984:0512/191116.708191:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: OpenGL ES 2.0 is not supportable.
[3984:3984:0512/191116.708344:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: OpenGL ES 2.0 is not supportable.
[3984:3984:0512/191116.708382:ERROR:gl_surface_egl.cc(1430)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[3984:3984:0512/191116.720930:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: Could not create a backing OpenGL context.
[3984:3984:0512/191116.721068:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: Could not create a backing OpenGL context.
[3984:3984:0512/191116.721141:ERROR:gl_surface_egl.cc(1430)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[3984:3984:0512/191116.721206:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[3984:3984:0512/191116.724996:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
ATTENTION: default value of option allow_rgb10_configs overridden by environment.
[4059:4059:0512/191116.879504:ERROR:angle_platform_impl.cc(44)] Display.cpp:944 (initialize): ANGLE Display::initialize error 12289: Could not find a decent GLX FBConfig to create the context.
[4059:4059:0512/191116.879654:ERROR:gl_surface_egl.cc(808)] EGL Driver message (Critical) eglInitialize: Could not find a decent GLX FBConfig to create the context.
[4059:4059:0512/191116.879700:ERROR:gl_surface_egl.cc(1430)] eglInitialize Default failed with error EGL_NOT_INITIALIZED
[4059:4059:0512/191116.879757:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[4059:4059:0512/191116.885075:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
[4075:4075:0512/191116.939151:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled, ANGLE is

まとめ

必要そうなパッケージ群がまとまったので、今度はOracle Linux 8ではなく、AlmaLinux 8.5を同様にMinimal Installした状態から再セットアップして検証した。

まずは、OracleLinux 8 / AlmaLinux 8 / RockyLinux 8 環境で、できるだけエラーメッセージを出さずにブラウザを起動するには以下のパッケージをインストール。

「dnf install xorg-x11-xauth mesa-libGL mesa-libEGL mesa-dri-drivers」
で26パッケージ追加、インストール容量137MB

日本語を文字化けさせないで使うためには以下をインストール。(vlgothic-fonts vlgothic-p-fonts は標準から外れたため、標準に含まれるものに変更した)

「dnf install google-noto-*cjk*」
で3パッケージ追加、インストール容量 294MB

インストールのログとしては↓

[root@almalinux ~]# dnf install xorg-x11-xauth mesa-libGL mesa-libEGL mesa-dri-drivers
Last metadata expiration check: 0:31:29 ago on Fri 13 May 2022 09:29:56 AM JST.
Dependencies resolved.
================================================================================
 Package           Arch   Version                               Repo       Size
================================================================================
Installing:
 mesa-dri-drivers  x86_64 21.3.4-1.el8                          appstream  11 M
 mesa-libEGL       x86_64 21.3.4-1.el8                          appstream 135 k
 mesa-libGL        x86_64 21.3.4-1.el8                          appstream 184 k
 xorg-x11-xauth    x86_64 1:1.0.9-12.el8                        appstream  39 k
Installing dependencies:
 libICE            x86_64 1.0.9-15.el8                          appstream  73 k
 libSM             x86_64 1.2.3-1.el8                           appstream  47 k
 libX11            x86_64 1.6.8-5.el8                           appstream 610 k
 libX11-common     noarch 1.6.8-5.el8                           appstream 157 k
 libX11-xcb        x86_64 1.6.8-5.el8                           appstream  13 k
 libXau            x86_64 1.0.9-3.el8                           appstream  37 k
 libXext           x86_64 1.3.4-1.el8                           appstream  45 k
 libXfixes         x86_64 5.0.3-7.el8                           appstream  25 k
 libXmu            x86_64 1.1.3-1.el8                           appstream  75 k
 libXt             x86_64 1.1.5-12.el8                          appstream 185 k
 libXxf86vm        x86_64 1.1.4-9.el8                           appstream  19 k
 libglvnd          x86_64 1:1.3.4-1.el8                         appstream 126 k
 libglvnd-egl      x86_64 1:1.3.4-1.el8                         appstream  48 k
 libglvnd-glx      x86_64 1:1.3.4-1.el8                         appstream 136 k
 libwayland-client x86_64 1.19.0-1.el8                          appstream  38 k
 libwayland-server x86_64 1.19.0-1.el8                          appstream  46 k
 libxcb            x86_64 1.13.1-1.el8                          appstream 231 k
 libxshmfence      x86_64 1.3-2.el8                             appstream  13 k
 llvm-libs         x86_64 13.0.1-1.module_el8.6.0+2864+ffe288a1 appstream  24 M
 mesa-filesystem   x86_64 21.3.4-1.el8                          appstream  33 k
 mesa-libgbm       x86_64 21.3.4-1.el8                          appstream  58 k
 mesa-libglapi     x86_64 21.3.4-1.el8                          appstream  65 k
Enabling module streams:
 llvm-toolset             rhel8

Transaction Summary
================================================================================
Install  26 Packages

Total download size: 38 M
Installed size: 137 M
Is this ok [y/N]: y
Downloading Packages:
<略>
  xorg-x11-xauth-1:1.0.9-12.el8.x86_64

Complete!
[root@almalinux ~]# dnf install google-noto-*cjk*
Last metadata expiration check: 0:32:13 ago on Fri 13 May 2022 09:29:56 AM JST.
Dependencies resolved.
================================================================================
 Package                           Arch     Version           Repository   Size
================================================================================
Installing:
 google-noto-cjk-fonts-common      noarch   20190416-1.el8    appstream    20 k
 google-noto-sans-cjk-ttc-fonts    noarch   20190416-1.el8    appstream    85 M
 google-noto-serif-cjk-ttc-fonts   noarch   20190416-1.el8    appstream   109 M

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 194 M
Installed size: 294 M
Is this ok [y/N]: y
Downloading Packages:
<略>
Installed:
  google-noto-cjk-fonts-common-20190416-1.el8.noarch
  google-noto-sans-cjk-ttc-fonts-20190416-1.el8.noarch
  google-noto-serif-cjk-ttc-fonts-20190416-1.el8.noarch

Complete!
[root@almalinux ~]#

Firefoxをインストールする場合は「dnf install firefox」で、56パッケージ 330MB追加。

[root@almalinux ~]# dnf install firefox
Last metadata expiration check: 0:34:49 ago on Fri 13 May 2022 09:29:56 AM JST.
Dependencies resolved.
================================================================================
 Package                     Arch     Version                 Repository   Size
================================================================================
Installing:
 firefox                     x86_64   91.9.0-1.el8_5.alma     appstream   106 M
Installing dependencies:
 adwaita-cursor-theme        noarch   3.28.0-3.el8            appstream   646 k
 adwaita-icon-theme          noarch   3.28.0-3.el8            appstream    11 M
 almalinux-indexhtml         noarch   8-7.el8                 baseos      7.5 k
 at-spi2-atk                 x86_64   2.26.2-1.el8            appstream    89 k
 at-spi2-core                x86_64   2.28.0-1.el8            appstream   169 k
 atk                         x86_64   2.28.1-1.el8            appstream   271 k
 avahi-libs                  x86_64   0.7-20.el8              baseos       61 k
 cairo                       x86_64   1.15.12-6.el8           appstream   718 k
 cairo-gobject               x86_64   1.15.12-6.el8           appstream    32 k
 colord-libs                 x86_64   1.4.2-1.el8             appstream   236 k
 cups-libs                   x86_64   1:2.2.6-44.el8          baseos      433 k
 dejavu-fonts-common         noarch   2.35-7.el8              baseos       73 k
 fontconfig                  x86_64   2.13.1-4.el8            baseos      273 k
 fontpackages-filesystem     noarch   1.44-22.el8             baseos       16 k
 fribidi                     x86_64   1.0.4-8.el8             appstream    89 k
 gdk-pixbuf2                 x86_64   2.36.12-5.el8           baseos      467 k
 gdk-pixbuf2-modules         x86_64   2.36.12-5.el8           appstream   109 k
 glib-networking             x86_64   2.56.1-1.1.el8          baseos      155 k
 graphite2                   x86_64   1.3.10-10.el8           appstream   121 k
 gsettings-desktop-schemas   x86_64   3.32.0-6.el8            baseos      632 k
 gtk-update-icon-cache       x86_64   3.22.30-10.el8          appstream    32 k
 gtk3                        x86_64   3.22.30-10.el8          appstream   4.5 M
 harfbuzz                    x86_64   1.7.5-3.el8             appstream   295 k
 hicolor-icon-theme          noarch   0.17-2.el8              appstream    48 k
 jasper-libs                 x86_64   2.0.14-5.el8            appstream   166 k
 jbigkit-libs                x86_64   2.1-14.el8              appstream    54 k
 lcms2                       x86_64   2.9-2.el8               appstream   164 k
 libXcomposite               x86_64   0.4.4-14.el8            appstream    28 k
 libXcursor                  x86_64   1.1.15-3.el8            appstream    36 k
 libXdamage                  x86_64   1.1.4-14.el8            appstream    26 k
 libXft                      x86_64   2.3.3-1.el8             appstream    66 k
 libXi                       x86_64   1.7.10-1.el8            appstream    48 k
 libXinerama                 x86_64   1.1.4-1.el8             appstream    15 k
 libXrandr                   x86_64   1.5.2-1.el8             appstream    33 k
 libXrender                  x86_64   0.9.10-7.el8            appstream    33 k
 libXtst                     x86_64   1.2.3-7.el8             appstream    21 k
 libdatrie                   x86_64   0.2.9-7.el8             appstream    33 k
 libepoxy                    x86_64   1.5.8-1.el8             appstream   224 k
 liberation-fonts-common     noarch   1:2.00.3-7.el8          baseos       25 k
 liberation-sans-fonts       noarch   1:2.00.3-7.el8          baseos      610 k
 libjpeg-turbo               x86_64   1.5.3-12.el8            appstream   156 k
 libmodman                   x86_64   2.0.1-17.el8            baseos       36 k
 libproxy                    x86_64   0.4.15-5.2.el8          baseos       75 k
 libsoup                     x86_64   2.62.3-2.el8            baseos      424 k
 libthai                     x86_64   0.1.27-2.el8            appstream   203 k
 libtiff                     x86_64   4.0.9-21.el8            appstream   187 k
 libwayland-cursor           x86_64   1.19.0-1.el8            appstream    25 k
 libwayland-egl              x86_64   1.19.0-1.el8            appstream    18 k
 mozilla-filesystem          x86_64   1.9-19.el8              appstream   9.8 k
 pango                       x86_64   1.42.4-8.el8            appstream   296 k
 pixman                      x86_64   0.38.4-2.el8            appstream   256 k
 rest                        x86_64   0.8.1-2.el8             appstream    70 k
Installing weak dependencies:
 abattis-cantarell-fonts     noarch   0.0.25-6.el8            appstream   154 k
 dconf                       x86_64   0.28.0-4.el8            appstream   107 k
 dejavu-sans-mono-fonts      noarch   2.35-7.el8              baseos      446 k

Transaction Summary
================================================================================
Install  56 Packages

Total download size: 131 M
Installed size: 330 M
Is this ok [y/N]:

Chromiumをインストールする場合は「dnf install epel-release」、OracleLinux8の場合は「dnf install oracle-epel-release-el8」でEPELレポジトリを追加する。

[root@almalinux ~]# dnf install epel-release
Last metadata expiration check: 0:35:34 ago on Fri 13 May 2022 09:29:56 AM JST.
Dependencies resolved.
================================================================================
 Package               Architecture    Version            Repository       Size
================================================================================
Installing:
 epel-release          noarch          8-10.el8           extras           22 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 22 k
Installed size: 32 k
Is this ok [y/N]:

その後に「dnf install chromium」でインストールで、76パッケージ405MB追加。

[root@almalinux ~]# dnf install chromium
Extra Packages for Enterprise Linux 8 - x86_64  1.9 MB/s |  11 MB     00:05
Extra Packages for Enterprise Linux Modular 8 - 123 kB/s | 1.0 MB     00:08
Last metadata expiration check: 0:00:05 ago on Fri 13 May 2022 10:06:01 AM JST.
Dependencies resolved.
================================================================================
 Package                        Arch     Version              Repository   Size
================================================================================
Installing:
 chromium                       x86_64   99.0.4844.84-1.el8   epel         83 M
Installing dependencies:
 adwaita-cursor-theme           noarch   3.28.0-3.el8         appstream   646 k
 adwaita-icon-theme             noarch   3.28.0-3.el8         appstream    11 M
 alsa-lib                       x86_64   1.2.6.1-3.el8        appstream   490 k
 at-spi2-atk                    x86_64   2.26.2-1.el8         appstream    89 k
 at-spi2-core                   x86_64   2.28.0-1.el8         appstream   169 k
 atk                            x86_64   2.28.1-1.el8         appstream   271 k
 avahi                          x86_64   0.7-20.el8           baseos      280 k
 avahi-libs                     x86_64   0.7-20.el8           baseos       61 k
 cairo                          x86_64   1.15.12-6.el8        appstream   718 k
 cairo-gobject                  x86_64   1.15.12-6.el8        appstream    32 k
 checkpolicy                    x86_64   2.9-1.el8            baseos      347 k
 chromium-common                x86_64   99.0.4844.84-1.el8   epel         13 M
 colord-libs                    x86_64   1.4.2-1.el8          appstream   236 k
 cups-libs                      x86_64   1:2.2.6-44.el8       baseos      433 k
 dejavu-fonts-common            noarch   2.35-7.el8           baseos       73 k
 flac-libs                      x86_64   1.3.2-9.el8          appstream   217 k
 fontconfig                     x86_64   2.13.1-4.el8         baseos      273 k
 fontpackages-filesystem        noarch   1.44-22.el8          baseos       16 k
 fribidi                        x86_64   1.0.4-8.el8          appstream    89 k
 gdk-pixbuf2                    x86_64   2.36.12-5.el8        baseos      467 k
 gdk-pixbuf2-modules            x86_64   2.36.12-5.el8        appstream   109 k
 glib-networking                x86_64   2.56.1-1.1.el8       baseos      155 k
 graphite2                      x86_64   1.3.10-10.el8        appstream   121 k
 gsettings-desktop-schemas      x86_64   3.32.0-6.el8         baseos      632 k
 gsm                            x86_64   1.0.17-5.el8         appstream    37 k
 gstreamer1                     x86_64   1.16.1-2.el8         appstream   1.3 M
 gtk-update-icon-cache          x86_64   3.22.30-10.el8       appstream    32 k
 gtk3                           x86_64   3.22.30-10.el8       appstream   4.5 M
 harfbuzz                       x86_64   1.7.5-3.el8          appstream   295 k
 hicolor-icon-theme             noarch   0.17-2.el8           appstream    48 k
 jasper-libs                    x86_64   2.0.14-5.el8         appstream   166 k
 jbigkit-libs                   x86_64   2.1-14.el8           appstream    54 k
 lcms2                          x86_64   2.9-2.el8            appstream   164 k
 libXcomposite                  x86_64   0.4.4-14.el8         appstream    28 k
 libXcursor                     x86_64   1.1.15-3.el8         appstream    36 k
 libXdamage                     x86_64   1.1.4-14.el8         appstream    26 k
 libXft                         x86_64   2.3.3-1.el8          appstream    66 k
 libXi                          x86_64   1.7.10-1.el8         appstream    48 k
 libXinerama                    x86_64   1.1.4-1.el8          appstream    15 k
 libXrandr                      x86_64   1.5.2-1.el8          appstream    33 k
 libXrender                     x86_64   0.9.10-7.el8         appstream    33 k
 libXtst                        x86_64   1.2.3-7.el8          appstream    21 k
 libasyncns                     x86_64   0.8-14.el8           appstream    32 k
 libbsd                         x86_64   0.9.1-4.el8          epel        106 k
 libcanberra                    x86_64   0.30-18.el8          appstream    92 k
 libcanberra-gtk3               x86_64   0.30-18.el8          appstream    38 k
 libdatrie                      x86_64   0.2.9-7.el8          appstream    33 k
 libepoxy                       x86_64   1.5.8-1.el8          appstream   224 k
 libjpeg-turbo                  x86_64   1.5.3-12.el8         appstream   156 k
 libmodman                      x86_64   2.0.1-17.el8         baseos       36 k
 libogg                         x86_64   2:1.3.2-10.el8       appstream    30 k
 libproxy                       x86_64   0.4.15-5.2.el8       baseos       75 k
 libsndfile                     x86_64   1.0.28-12.el8        appstream   192 k
 libsoup                        x86_64   2.62.3-2.el8         baseos      424 k
 libthai                        x86_64   0.1.27-2.el8         appstream   203 k
 libtiff                        x86_64   4.0.9-21.el8         appstream   187 k
 libvorbis                      x86_64   1:1.3.6-2.el8        appstream   196 k
 libwayland-cursor              x86_64   1.19.0-1.el8         appstream    25 k
 libwayland-egl                 x86_64   1.19.0-1.el8         appstream    18 k
 minizip                        x86_64   2.8.9-2.el8          epel        124 k
 minizip1.2                     x86_64   1.2.11-24.el8        epel         32 k
 nss-mdns                       x86_64   0.14.1-9.el8         epel         49 k
 pango                          x86_64   1.42.4-8.el8         appstream   296 k
 pixman                         x86_64   0.38.4-2.el8         appstream   256 k
 policycoreutils-python-utils   noarch   2.9-19.el8           baseos      252 k
 pulseaudio-libs                x86_64   14.0-2.el8           appstream   680 k
 python3-audit                  x86_64   3.0.7-2.el8.2        baseos       86 k
 python3-libsemanage            x86_64   2.9-8.el8            baseos      127 k
 python3-policycoreutils        noarch   2.9-19.el8           baseos      2.2 M
 python3-setools                x86_64   4.3.0-3.el8          baseos      623 k
 rest                           x86_64   0.8.1-2.el8          appstream    70 k
 sound-theme-freedesktop        noarch   0.8-9.el8            appstream   381 k
Installing weak dependencies:
 abattis-cantarell-fonts        noarch   0.0.25-6.el8         appstream   154 k
 dconf                          x86_64   0.28.0-4.el8         appstream   107 k
 dejavu-sans-mono-fonts         noarch   2.35-7.el8           baseos      446 k

Transaction Summary
================================================================================
Install  76 Packages

Total download size: 128 M
Installed size: 405 M
Is this ok [y/N]:

ちなみに、先にchromiumをインストールしたあとに、firefoxを追加した場合は、5パッケージ263MB追加となりました。

[root@almalinux ~]# dnf install firefox
Last metadata expiration check: 0:05:05 ago on Fri 13 May 2022 10:06:01 AM JST.
Dependencies resolved.
================================================================================
 Package                    Arch      Version                Repository    Size
================================================================================
Installing:
 firefox                    x86_64    91.9.0-1.el8_5.alma    appstream    106 M
Installing dependencies:
 almalinux-indexhtml        noarch    8-7.el8                baseos       7.5 k
 liberation-fonts-common    noarch    1:2.00.3-7.el8         baseos        25 k
 liberation-sans-fonts      noarch    1:2.00.3-7.el8         baseos       610 k
 mozilla-filesystem         x86_64    1.9-19.el8             appstream    9.8 k

Transaction Summary
================================================================================
Install  5 Packages

Total download size: 107 M
Installed size: 263 M
Is this ok [y/N]: y

Oracle CloudでのUbuntu インスタンス上のOracle Cloud Agentのアップデート


Oracle Cloud上のUbuntuインスタンスにはOracle Cloud Agentがsnapパッケージでインストールされている。

ただ、ドキュメントにはインストール手法は解説があるが、アップデート手法について記載がない。

まずは、snapでインストールされているパッケージ一覧を出してみる

ubuntu@ubuntu:~$ snap list
Name                Version      Rev    Tracking         Publisher   Notes
core18              20211215     2289   latest/stable    canonical?  base
core20              20220114     1332   latest/stable    canonical?  base
lxd                 4.0.8        21843  4.0/stable/…     canonical?  -
oracle-cloud-agent  1.19.0-1130  31     latest/stable/…  oci.osi     classic
snapd               2.54.2       14553  latest/stable    canonical?  snapd
ubuntu@ubuntu:~$

次に「oracle-cloud-agent」について個別情報を取得

ubuntu@ubuntu:~$ snap info oracle-cloud-agent
name:      oracle-cloud-agent
summary:   Oracle Cloud Agent
publisher: Oracle Cloud Infrastructure (oci.osi)
store-url: https://snapcraft.io/oracle-cloud-agent
license:   unset
description: |
  Oracle Cloud Infrastructure agent for compute instance management and
  monitoring.
services:
  oracle-cloud-agent:                            simple, enabled, active
  oracle-cloud-agent.oracle-cloud-agent-updater: simple, enabled, active
snap-id:      ltx4XjES2e2ujitNIuO5GxPYDM6lp6ry
tracking:     latest/stable/ubuntu-20.04
refresh-date: 2022-02-15
channels:
  latest/stable:    1.22.0-2    2022-04-25 (37) 18MB classic
  latest/candidate: 1.22.0-2    2022-04-08 (37) 18MB classic
  latest/beta:      1.22.0-2    2022-04-08 (37) 18MB classic
  latest/edge:      ↑
installed:          1.19.0-1130            (31) 21MB classic
ubuntu@ubuntu:~$

installedが1.19.0-1130で、最新(latest)が1.22.0-2とアップデートが出ていることが分かる。

snapの更新は「sudo snap refresh」で行う。

ubuntu@ubuntu:~$ snap refresh
error: access denied (try with sudo)
ubuntu@ubuntu:~$ sudo snap refresh
Handling re-refresh of "core18", "core20", "lxd", "oracle-cloud-agent", "snapd" Handling re-refresh of "core18", "core20", "lxd", "oracle-cloud-agent", "snapd" Handling re-refresh of "core18", "core20", "lxd", "oracle-cloud-agent", "snapd" 2022-05-06T07:14:40Z INFO Waiting for automatic snapd restart...
oracle-cloud-agent (stable/ubuntu-20.04) 1.22.0-2 from Oracle Cloud Infrastructure (oci.osi) refreshed
snapd 2.55.3 from Canonical? refreshed
core18 20220309 from Canonical? refreshed
core20 20220329 from Canonical? refreshed
lxd (4.0/stable) 4.0.9-8e2046b from Canonical? refreshed
ubuntu@ubuntu:~$

そして、パッケージ情報を取得し、更新されたことを確認する。

ubuntu@ubuntu:~$ snap list
Name                Version        Rev    Tracking         Publisher   Notes
core18              20220309       2349   latest/stable    canonical?  base
core20              20220329       1437   latest/stable    canonical?  base
lxd                 4.0.9-8e2046b  22761  4.0/stable/…     canonical?  -
oracle-cloud-agent  1.22.0-2       37     latest/stable/…  oci.osi     classic
snapd               2.55.3         15541  latest/stable    canonical?  snapd
ubuntu@ubuntu:~$ snap info oracle-cloud-agent
name:      oracle-cloud-agent
summary:   Oracle Cloud Agent
publisher: Oracle Cloud Infrastructure (oci.osi)
store-url: https://snapcraft.io/oracle-cloud-agent
contact:   oci_osi_grp@oracle.com
license:   unset
description: |
  Oracle Cloud Infrastructure agent for compute instance management and
  monitoring.
services:
  oracle-cloud-agent:                            simple, enabled, active
  oracle-cloud-agent.oracle-cloud-agent-updater: simple, enabled, active
snap-id:      ltx4XjES2e2ujitNIuO5GxPYDM6lp6ry
tracking:     latest/stable/ubuntu-20.04
refresh-date: today at 07:14 UTC
channels:
  latest/stable:    1.22.0-2 2022-04-25 (37) 18MB classic
  latest/candidate: 1.22.0-2 2022-04-08 (37) 18MB classic
  latest/beta:      1.22.0-2 2022-04-08 (37) 18MB classic
  latest/edge:      ↑
installed:          1.22.0-2            (37) 18MB classic
ubuntu@ubuntu:~$

IPv6アクセス可能なOracle Cloudインスタンスを作る


Oracle CloudのTokyoリージョンで、久しぶりにFree TierのARMインスタンスが作れるようになっていたので、最新の手順確認をしてみる。

前提条件: Oracle Cloud側の仮想クラウドネットワーク(VNC)は既にIPv6が有効化されていること。(参考資料:Oracle Cloudですでに作成済みのネットワークに対してIPv6を有効にする方法)

Oracle Cloudコンソール上のインスタンス設定での確認点

2022/05/06時点でも、インスタンス作成時はIPv6が有効化されていないので、手動でIPv6を使える様にする必要がある。

インスタンス詳細の「アタッチされたVNIC」を開いて確認する。

左下の[リソース]-[IPv6アドレス]を選択する

「IPv6アドレスの割当て」をクリック

特にこだわりがなければ、空欄のまま一番下にある「割当て」をクリック

これで設定上はIPv6アドレスが割り当てられた。

Ubuntu 20.04インスタンスの場合

Canonical-Ubuntu-20.04-aarch64-2022.02.15-0 で作成したインスタンスの場合、起動直後は以下の様な状態でした。

ubuntu@ubuntu:~$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:00:17:02:7d:5f brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.220/24 brd 10.0.0.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::17ff:fe02:7d5f/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$

IPv6を有効化してしばらく放置していたところ、下記の様に自動的にIPv6アドレスが追加されました。

ubuntu@ubuntu:~$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:00:17:02:7d:5f brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.220/24 brd 10.0.0.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 2603:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:5536/128 scope global dynamic noprefixroute
       valid_lft 7353sec preferred_lft 7053sec
    inet6 fe80::17ff:fe02:7d5f/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$

OS再起動後もIPv6アドレス割当ては継続されていました。

Oracle Linux8インスタンスの場合

Oracle-Linux-8.5-aarch64-2022.03.17-1  を使用したところ、相変わらずfirewalldに対するdhcpv6-clientの許可が出されていないためIPv6アドレス取得が出来ない状態でした。

なので、「sudo firewall-cmd –permanent –add-service=dhcpv6-client」でルールを追加して、OS再起動で対応させました。

$ sudo firewall-cmd --permanent --add-service=dhcpv6-client
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$

armbianの初期設定項目 2022/04/21版


さすがに2017年に作った「Armbianの初期設定項目」は現状にふさわしくないので改訂

(1) armbian OSの入手について

armbian公式からダウンロードするわけだが、”Armbian 22.02 Focal”とか”Armbian 22.02 Jammy XFCE” のどちらがubuntu/debianなのかわかりにくい。

Ubuntu 14.04 LTSTrusty TahrDebian 8ベース
Ubuntu 16.04 LTSXenial XerusDebian 9ベース
Ubuntu 18.04 LTSBionic BeaverDebian 10ベース
Ubuntu 20.04 LTSFocal FossaDebian 10ベース
Ubuntu 22.04 LTSJammy JellyfishDebian 11ベース?
Ubuntu 24.04 LTSNoble Numbat
Debian 8.0jessie
Debian 9.0stretch
Debian 10.0buster
Debian 11.0bullseye
Debian 12.0bookworm

「Armbian 22.02 Focal」はUbuntu 20.04LTSベースで、「Armbian 22.02 Jammy XFCE」はUbuntu 22.04LTSベースでX-WindowのXFCE環境付き、ということが分かる。

(2) SDカードへの書き込みについて

経験則的にAllwinner SoCのOrange Pi/Nano Piなどは、microSDカードの個体差?メーカ差?なのかよくわからない原因で起動しなかったり、よくデータが飛んだりします。

起動しない場合は何度かイメージを書き直してみるといけるようになったり、違うmicroSDにすると普通に起動してきたりします。

なお、私はWindows環境でのイメージ書き込みには「Rufus」を使用しています。

Ubuntuの場合は、ddコマンドで書き込みますが、「bmaptool」で書き込むこともあります。(apt install bmap-toolsでインストールできます)

$ sudo bmaptool copy --nobmap Armbian_22.02.1_Orangepione_focal_current_5.15.25_xfce_desktop.img /dev/sde
bmaptool: info: no bmap given, copy entire image to '/dev/sde'
bmaptool: info: 100% copied
bmaptool: info: synchronizing '/dev/sde'
bmaptool: info: copying time: 10m 35.9s, copying speed 7.6 MiB/sec
$

(3) 初回起動について

初回起動時にログインユーザやパスワードの設定をします。

また、microSDのサイズにあわせたパーテーションサイズ調整も実施されます。

(4) 初期設定

まず、LocaleやTimezoneに関する設定を確認

「timedatectl」と「localectl」、「echo $LANG」を実行します。

$ timedatectl
               Local time: 木 2022-04-21 20:11:30 JST
           Universal time: 木 2022-04-21 11:11:30 UTC
                 RTC time: 木 2022-04-21 11:11:06
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
$ localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105
$ echo $LANG
ja_JP.UTF-8
$

基本的には初回起動時にTimezone設定してるので、そこでそれなりの設定がされていると思います。

ユーザの言語は「ja_JP.UTF-8」、システムとしての言語は「en_US.UTF-8」というのがトラブルが起きにくいとは思っています。

変更する場合、言語設定
「sudo dpkg-reconfigure locales」
タイムゾーン設定
「sudo timedatectl set-timezone Japan」と実行するか、「sudo dpkg-reconfigure tzdata」
キーボードの言語設定(キー配列)
「sudo localectl set-x11-keymap jp」「sudo dpkg-reconfigure keyboard-configuration」

(5) OSアップデート

Armbian自体の更新+Ubuntu/Debianの更新を実施
「sudo apt update」「sudo apt upgrade」

なお、locales アップデートの際に発生する「Generating locales」のプロセスにだいぶ時間が掛かります。

また、アップデート中に下記のような質問があり回答を要求されて止まりますので注意してください。

ubuntu-advantage-tools (27.7~20.04.1) を設定しています ...

設定ファイル '/etc/logrotate.d/ubuntu-advantage-tools'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** ubuntu-advantage-tools (Y/I/N/O/D/Z) [デフォルト=N] ? y
新バージョンの設定ファイル /etc/logrotate.d/ubuntu-advantage-tools をインストールしています ...

(6) SBC firmwareのアップデート

一部のSBCにはfirmware アップデートがarmbianレポジトリ経由で提供されているようです。

「sudo armbian-config」で起動して「System」を選択

「Firmware」を選択

「はい」を選択

アップデートが終わるのを待ちます

再起動を選んで再起動します。

(ただ、これ、アップデートなくても再起動要求してるような気がします・・・)

(7) X-Windowの日本語文字化け解消

「sudo apt install fonts-takao-gothic」で一部残る文字化けが消えると思います。

(8) X-Windowでの音声出力先変更

Orange Piの場合、本体上に3.5φステレオ端子が存在していると標準の音声出力先もそちらに設定されていることが多いです。

この場合は、X-Windowの右上に出ているスピーカーアイコンをクリックし、[Default Sink]にある2つの「Built-in Audio Stereo 100%」を他方に切り替えてみてください。

なお、3.5φステレオ端子がない場合は1つしか表示されていないと思います。

(9) GPIO コネクタにPWM付けるファンを使うための設定

ラズパイ用のやつの絵を流用しますが・・・(出典:スイッチサイエンスのRaspberry Pi 4 用ケースファン)

これで3本で繋いだ場合の話です。

armbian-configのHardwareでpwmを有効にする感じでいけるようです