1. 前提条件
Linux環境(Crostini)が使えるようになっていること
- 参考情報
2. 導入
Chromebookで順当にLinux環境を構築するとCrostiniが使えるようになり、デフォルトでLXD上にてLinux環境(Debian、2024/06/14時点で12 bookworm)がインストールされる。このLXDに新たにAlmaLinuxを追加し、RHEL系のLinux環境を作るところがゴールとなる。
LXDの詳解は省く(というか初めて触ったので分からない)として、概略としてはコンテナ環境でありDocker同様イメージサーバを指定しておくとコマンド一発で新たな仮想環境を手に入れることができる。
ところが、2024/06/14現在、Chromebookの標準でLinux環境を構築した際に入るLXDのイメージサーバである「https://images.linuxcontainers.org 」からイメージをダウンロードできない状態となっている。正確に表現すると、LXD経由でこのイメージサーバにアクセスできなくなっている。
すごくざっくり説明すると、何やら内部で揉め事があったらしく(参考:Important notice for LXD users (image server) - News - Linux Containers Forum)上記リポジトリは廃止されるとのことだった。後継の「Incus」を使うのが良さそうではあるものの、ChromebookではデフォルトでLXDとなっているため使用するのは難しい(デフォルトのLinux環境内にIncusを入れることは可能)。今回は、上記と同等のイメージサーバを指定してからコマンドを実行する手法を取ったため、その手順を記載する。
3. インストール手順
Ctrl + Alt + T
でcroshを起動し、以下コマンドを実行する。
crosh> vsh termina
(termina) chronos@localhost ~ $ lxc remote add canonical https://images.lxd.canonical.com --protocol=simplestreams
(termina) chronos@localhost ~ $ lxc image list canonical:almalinux/8/amd64
+----------------------+--------------+--------+-----------------------------------+--------------+-----------------+----------+-------------------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | UPLOAD DATE |
+----------------------+--------------+--------+-----------------------------------+--------------+-----------------+----------+-------------------------------+
| almalinux/8 (3 more) | 92237f70692f | yes | AlmaLinux 8 amd64 (20240613_0011) | x86_64 | VIRTUAL-MACHINE | 836.56MB | Jun 13, 2024 at 12:00am (UTC) |
+----------------------+--------------+--------+-----------------------------------+--------------+-----------------+----------+-------------------------------+
| almalinux/8 (3 more) | ebd4b6127697 | yes | AlmaLinux 8 amd64 (20240613_0011) | x86_64 | CONTAINER | 128.92MB | Jun 13, 2024 at 12:00am (UTC) |
+----------------------+--------------+--------+-----------------------------------+--------------+-----------------+----------+-------------------------------+
上記手順では、「https://images.lxd.canonical.com 」を「canonical」の名称で登録している。「canonical」の部分は任意の名前で良い。
続いて、以下の通りコマンドを実行することでAlmaLinuxをインストールすることができる。almalinux8
はホスト名なので好きなものを設定する。
(termina) chronos@localhost ~ $ lxc launch canonical:almalinux/8/amd64 almalinux8
Creating the instance
Instance name is: almalinux8
Starting almalinux8
(termina) chronos@localhost ~ $ lxc list
+------------+---------+------------------------+-----------------------------------------------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------------+---------+------------------------+-----------------------------------------------+-----------+-----------+
| almalinux8 | RUNNING | 100.115.92.204 (eth0) | 2400:2412:1cc4:c200:216:3eff:fe2f:4c5a (eth0) | CONTAINER | 0 |
+------------+---------+------------------------+-----------------------------------------------+-----------+-----------+
| penguin | RUNNING | 192.168.39.1 (virbr1) | 2400:2412:1cc4:c200:216:3eff:fe82:dcf (eth0) | CONTAINER | 0 |
| | | 192.168.122.1 (virbr0) | | | |
| | | 172.17.0.1 (docker0) | | | |
| | | 100.115.92.205 (eth0) | | | |
+------------+---------+------------------------+-----------------------------------------------+-----------+-----------+
接続し確認する。
(termina) chronos@localhost ~ $ lxc exec almalinux8 bash
[root@almalinux8 ~]# whoami
root
[root@almalinux8 ~]# hostname
almalinux8
無事インストールできた。このAlmaLinux8の上げ落としは以下コマンドとなる。
(termina) chronos@localhost ~ $ lxc start almalinux8
(termina) chronos@localhost ~ $ lxc stop almalinux8
要らなくなったら以下で削除できる。
(termina) chronos@localhost ~ $ lxc delete almalinux8