CentOS互換のAlmaLinuxをインストールします


RHELやCentOSとバイナリレベルで完全な互換性のあるAlmaLinuxをインストールします。CentOS Linux安定版リリースの廃止のため導入します。CentOSでないと動作しないアプリやツールがあるというのが最大の理由です。





https://almalinux.org/ja/





ubuntu22.04にDockerがインストール済みなので、AlmaLinuxのコンテナを作成します。ubuntuはCPUアーキテクチャがarm64で、クラウドサービスに設置してあります。SSH接続をして作業します。





https://hub.docker.com/_/almalinux





まずはレジストリからイメージを取得してきます。





docker pull almalinux:latest




このイメージを元にコンテナを立ち上げます。





docker run -d -p 8888:80 --name alma イメージID




しかし、起動しません。エラー内容も不明です。起動していないコンテナを削除して、次のコマンドを入力します。





docker rm コンテナID
docker run -d -p 8888:80 --name alma イメージID /sbin/init




今度は立ち上がりました。コンテナに入ってサービス関連のコマンドを試します。





docker exec -it alma bash
systemctl




しかし、エラーが発生しました。





System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down









systemdをインストールしてもエラーは消えません。コンテナから出て、ホストでこのコンテナを停止して削除します。





docker stop alma
docker rm alma




色々調査して次のコマンドを試します。このオプションを使用すると、コンテナはホスト上のすべてのデバイスにアクセスできるらしいです。





docker run -d --privileged -p 8888:80 --name alma イメージID /sbin/init




先ほどエラーになったコマンドを入力します。今度は正常に動作しました。





systemctl
systemctl status
など





年別アーカイブ一覧