Vagrant 実践編9: 公式「Box」にある「almalinux/9」をインストール〈H170-12〉 - Linux あれこれ

Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

Vagrant 実践編9: 公式「Box」にある「almalinux/9」をインストール〈H170-12〉

登録日: 2024-03-08 更新日: 2024-03-14

Xubuntu 22.04.4 LTS」、および「Windows11」(22H2) の「VirtualBox 7.0.14」にて、「Vagrant」(ベイグラント) という仮想マシンの管理ツールを使えるようにしました。

-

(実践編9):

今回は、その環境で、公式「Box」にある「almalinux/9」をインストールしました。
CentOS 後継(互換?)の RHEL クローンOS のひとつです。

前回の投稿で、(VirtualBox の)「仮想マシン」の立ち上げ時に自動で「Guest Additions」の更新やインストールをしてくれる、Vagrant の「プラグイン」を(ホストOS 側に)追加しているので、だいぶ楽ができると思います。

-

その備忘録です。

-

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック
スマホの場合は、「ホーム」ボタンの横の「<」キーをタップ

-

-


目次

-

Vagrant」を使うときの参考:

  1. 「Vagrant」コマンドについて:

  2. 「Vagrant」コマンドの使用例:

  3. 「Vagrant」コマンドの使用例:(目次)

  4.  修正版3: 使い回し可能な「Vagrantfile」:

  5. 「vagrant vbguest」のヘルプを表示:

  6.  Vagrant に「vagrant-vbguest」プラグインをインストールする場合:

  7.  もし、PC のディスクに余裕がない場合:

  8. 「ssh 接続」でオススメのテキストエディタ「nano」:

  9.  もし、PC のディスクに余裕がない場合:

-

今回の作業:

  1.  目的の「Box」を検索:

  2. 「作業フォルダ」を作成:

  3. 「Vagrantfile」を作成:

  4. 「仮想マシン」の(初回の作成と)立ち上げ:

  5. 「Vagrantfile」を修正:

  6. 「仮想マシン」の再作成:

  7. 「ホスト名」を「vagrant」に変更したい場合:

  8. 「今回の作業で気づいたこと:

-

「AlmaLinux」関連の投稿:

  1.  VirtualBox に「AlmaLinux 9.0」をインストール〈H154〉

  2. 「AlmaLinux 9.0」にアプリをインストール〈H154-2〉

  3. 「AlmaLinux 9.0」に「ibus-mozc」をインストール〈H154-3〉

  4. 「AlmaLinux 9.0」に「Xfce」デスクトップ環境をインストール〈H154-5〉

-

「まとめ へ」

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Vagrant で「Almalinux 9.3」の「仮想マシン」を立ち上げ:

-

1). 公式「Box」の「almalinux/9」を「vagrant up」で立ち上げ:

事前に「Vagrantfile」を作成:

左の「端末」画面から起動:

$ cd ~/ダウンロード/vm/almalinux/
$ vagrant up

-

左の「端末」画面はちゃんと完了しました:

ただし、右の「仮想マシン」の画面は、メッセージの途中で止まってしまい、いくら待ってもログイン画面が表示されません。

-

仮想マシン」の画面をクリックして、マウスのスクロールボタンを動かしたら、画面が真っ暗になりました:

→「ssh 接続」はできたので、「仮想マシン」は立ち上がっています。表示だけの問題です。

-

2). 「Vagrantfile」を修正して立ち上げ:

→ディスプレイメモリが小さかったので、大きくしたら、ちゃんとログイン画面が表示されました:

-

-

(デスクトップを後で追加することを考え、)GUI 表示するように設定していたので、表面化したみたい。

ssh 接続」のみで使っていれば、気付きませんでした。

公開されている「Box」は最小構成の場合が多いので、使い方によっては問題が発生します。

-

-


現在のバージョンを表示:

-

ホストOS : 「Xubuntu 22.04.4 LTS」

2024-03-08 現在

カーネル:

$ uname -r
5.15.0-100-generic

リリース:

$ cat /etc/lsb-release
:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"

→ついに「22.04.4」に上がりました。

安定しているので、次のLTS版が落ち着く Ubuntu 24.04.1 LTS(noble)になる頃(1年後)まで使いたいところ。

-

Vagrant」のバージョン:

$ vagrant --version
Vagrant 2.4.1

-

vagrant-vbguest」プラグインのバージョン:

$ vagrant plugin list
vagrant-vbguest (0.32.0, global)

-

-

ゲストOS : 「Almalinux 9.3」

2024-03-08 現在

カーネル:

$ uname -r
5.14.0-362.8.1.el9_3.x86_64

→サーバーでの使用が多く、安定度重視なので、Ubuntu より少しカーネルは遅れています

-

リリース:

$ cat /etc/system-release
AlmaLinux release 9.3 (Shamrock Pampas Cat)

-

$ cat /etc/redhat-release
AlmaLinux release 9.3 (Shamrock Pampas Cat)

→「Shamrock Pampas Cat」は開発コード名(総称)?です:

-

$ cat /etc/os-release
:
NAME="AlmaLinux"
VERSION="9.3 (Shamrock Pampas Cat)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.3"
PLATFORM_ID="platform:el9"
PRETTY_NAME="AlmaLinux 9.3 (Shamrock Pampas Cat)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"

ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
ALMALINUX_MANTISBT_PROJECT_VERSION="9.3"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.3"

→「ID_LIKE=」を見ると、CentOS 後継?(RHEL クローン)ということがわかります:

-

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

参考: RHEL クローンのサポート期間:

RHEL クローン(RHEL 100% 互換?)の「AlmaLinux 9.3」は、2032年(リリースから10年)までサポートされます。

ただし、RHELRHEL クローンは(サーバー向けなので)安定度を増すために、Fedora に比べてカーネルは古いバージョンだし、リポジトリの使用も制限されています。もし、デスクトップで使うときは EPEL リポジトリを追加すると Fedora の一部のパッケージが使えるようになるので使い勝手が向上します。

ちなみに、Vagrant の公式「Box」には、公式に「AlmaLinux 9.3」が「almalinux/9」として登録されており、安心して使えます。今回は、その「Box」を使いました。

一方の「Rocky Linux 9」は、公式の登録はなく、個人で登録の「boxomatic/rocky-9」などを使うことになります。セキュリティ面では不利ですが、実機で使う前の確認のみであればリスクは下がりますし、自分で iso から「Box」を作成してもOK。

-

「AlmaLinux 9.3」はRHEL クローンですが、やはり100% ではありません。微妙に違います:

$ dnf list gcc
:
gcc.x86_64       11.4.1-2.1.el9.alma         @appstream

→「alma」に注目

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

VirtualBox」について:

-

VirtualBox」は、Oracle が開発している「仮想マシン」を構築するためのソフトウェアです。

-

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

Vagrant」 (ベイグラント) について:

-

公式サイト:

Vagrant by HashiCorp

-

仮想マシン」の管理や操作をコマンドで行うことで、作業効率を上げてくれる「フロントエンド」のソフトウェアです:

-

→詳細は、以前に投稿した「こちら 」を参照:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

「AlmaLinux」について:

-

公式サイト:

AlmaLinux

抜粋:

AlmaLinux OS は、CentOS Linux 安定版リリースの廃止によって残された溝を埋める、
オープンソースのコミュニティ主導の Linux オペレーティングシステムです。
RHEL とバイナリ レベルで完全に互換なクローンです。

AlmaLinux OS は、単独の無料の OS として、CloudLinux Inc. から支援を受けて、
コミュニティのメンバーによって開発されています。

-

AlmaLinux 9.3 安定版を発表! :

Announcing AlmaLinux 9.3 Stable!

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

1. 公式の「Box」にて、目的の「Box」を検索:

-

公式の「Box」の検索サイト:

Discover Vagrant Boxes

-

「検索キー」の入れ方で、微妙に、表示される「Box」が変わります:

-

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

「almaLinux」で検索:

「almalinux/8」もヒットしますが、今回は無視:

-

almalinux/9」サイトの記述:

AlmaLinux OS 9.3 (Shamrock Pampas Cat)

リリースノート

-

(1). 「New」タブ
vagrant init almalinux/9
vagrant up

→作業フォルダで上記のコマンドを実行すると、仮想マシンが作成されます

-

(2). 「Vagrantfile」タブ
Vagrant.configure("2") do |config|
  config.vm.box = "almalinux/9"
end

→上記の「Vagrantfile」を作業フォルダに作成して「vagrant up」すると、仮想マシンが作成されます

-

(3). 下記をクリックすると「.box」ファイルがダウンロードできますが、今回は直接のダウンロードはしません:

-

virtualbox v9.3.20231118

Vagrant Cloud に登録 (872 MB)

4 ヶ月前に作成:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

2. 「作業フォルダ」の作成:

-

作業フォルダに移動してコマンドを実行すると、コマンドで「仮想マシン名」や「id」番号を省略できます:

-

作業フォルダ名は分かりやすい名前にしました:

$ mkdir -p ~/ダウンロード/vm/almalinux/

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

3. 「Vagrantfile」を手動で作成:

-

個人的にオススメの設定:

→以前に「仮想マシン」を作成したときに発生した問題に対応しているので、立ち上げが成功しやすいです:

GUI の「デスクトップ」の追加を前提にした設定なので、「ssh 接続」のみで使うには無駄が多いかも。

-


「Vagrantfile」を作成:

$ cd ~/ダウンロード/vm/almalinux/
$ nano Vagrantfile

↓ すべて貼付け:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "almalinux/9"
  #config.vm.box_version = "9.3.20231118"
  #config.vm.boot_timeout = 300
  config.vm.boot_timeout = 60
  # ホストの作業フォルダ内の data フォルダと
  # 仮想マシン内の /vagrant_data フォルダを共有:
  # 指定のフォルダがない場合は、フォルダを作成:
  config.vm.synced_folder "./data", "/vagrant_data", create: true
  # デフォルトの共有フォルダを無効にします:
  config.vm.synced_folder ".", "/vagrant", disabled: true
  config.vm.provider "virtualbox" do |vb|
    # 仮想マシンの起動時に VirtualBox GUI を表示:
    vb.gui = true
    vb.memory = "2048"
    #vb.memory = "4096"
    vb.cpus = 2
    #vb.customize ["modifyvm", :id, "--graphicscontroller", "vboxsvga"]
    vb.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"]
  end
end

説明:

5行目で、使用する「Box」を指定:
6行目で、使用する「Box」のバージョンを指定: ★
7〜8行目で、リトライのタイムアウト値を短く調整: ←(ssh 認証時のループ回避)
9〜12行目で、共有フォルダ「/vagrant_data」を設定: ★
13〜14行目で、デフォルトの共有フォルダ「/vagrant」を無効化: ★
17行目で、GUI 表示を有効に設定:
18〜19行目で、メモリ「2048」MB に変更:
20行目で、プロセッサ「2」個 に変更:
21〜22行目で、ディスプレイを 「vmsvga」に変更:

-

→Crtl+O で、保存。保存先を確認して、Enter

→Crtl+X で、終了

-

参考:「config.vm.box = "almalinux/9"」の行を変更すれば、他の「仮想マシン」でも使い回し出来ます:

6行目は、使用する「Box」のバージョンを指定します。最新バージョンにするときは、行頭に「#」を付けてコメント行にするか、行を削除します:

-

追記:

上記の設定だと、この後に問題がいくつか出たので、問題なくすぐに立ち上げたい場合は、下記の設定がオススメ:

最終的な「Vagrantfile」の設定は、「こちら」を参照:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

4. 「仮想マシン」を(作成して)立ち上げ:

-

1). 現時点で登録されている「Box」を確認:

$ vagrant box list
Endeav-base3  (virtualbox, 0)
fedora39-0225 (virtualbox, 0)

-

2). 現時点で作成されている「仮想マシン」を確認:

$ vagrant global-status
id       name    provider   state    directory                           
-------------------------------------------------------------------------
62a436d  default virtualbox poweroff /home/ubn/ダウンロード/vm/fedora39-base
:

-

3). Vagrant に、「vagrant-vbguest」プラグインがインストールされているか確認:

$ vagrant plugin list
vagrant-vbguest (0.32.0, global)

-


4). 「仮想マシン」の(初回の作成と)立ち上げ:

仮想マシン」に「Guest Additions」がインストールされて、再起動されるので、いつもよりも時間がかかります:

-

(1). 「Vagrantfile」が置かれた「作業フォルダ」に移動して、実行:
$ cd ~/ダウンロード/vm/almalinux/
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'almalinux/9' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'almalinux/9'
    default: URL: https://vagrantcloud.com/api/v2/vagrant/almalinux/9
==> default: Adding box 'almalinux/9' (v9.3.20231118) for provider: virtualbox (amd64)
    default: Downloading: https://vagrantcloud.com/almalinux/boxes/9/versions/9.3.20231118/providers/virtualbox/amd64/vagrant.box
Progress: 1% (Rate: 4319k/s, Estimated time remaining: 0:05:58)

→初回のみ、カウントアップ:

    default: Calculating and comparing box checksum...
==> default: Successfully added box 'almalinux/9' (v9.3.20231118) for 'virtualbox (amd64)'!
==> default: Importing base box 'almalinux/9'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'almalinux/9' version '9.3.20231118' is up to date...
==> default: Setting the name of the VM: almalinux_default_1709581540358_50218
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Connection reset. Retrying...
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!

「GuestAdditions」のバージョンがチェックされ、

「GuestAdditions」のバージョンアップ(ビルド)に必要な依存がインストール:

[default] GuestAdditions versions on your host (7.0.14) and guest (7.0.12) do not match.
AlmaLinux 9 - AppStream                         2.7 MB/s | 9.1 MB     00:03    
AlmaLinux 9 - BaseOS                            1.5 MB/s | 4.7 MB     00:03    
AlmaLinux 9 - Extras                             19 kB/s |  17 kB     00:00    
Last metadata expiration check: 0:00:01 ago on Mon Mar  4 19:47:10 2024.
Package binutils-2.35.2-42.el9.x86_64 is already installed.
Package perl-interpreter-4:5.32.1-480.el9.x86_64 is already installed.
Package bzip2-1.0.8-8.el9.x86_64 is already installed.
Dependencies resolved.
================================================================================
 Package                  Arch      Version                  Repository    Size
================================================================================
Installing:
 elfutils-libelf-devel    x86_64    0.189-3.el9              appstream     21 k
 gcc                      x86_64    11.4.1-2.1.el9.alma      appstream     32 M
 kernel-devel             x86_64    5.14.0-362.8.1.el9_3     appstream     20 M
 kernel-devel             x86_64    5.14.0-362.18.1.el9_3    appstream     15 M
 make                     x86_64    1:4.3-7.el9              baseos       531 k
Installing dependencies:
 annobin                  x86_64    12.12-1.el9              appstream    976 k
 gcc-plugin-annobin       x86_64    11.4.1-2.1.el9.alma      appstream     45 k
 glibc-devel              x86_64    2.34-83.el9_3.7          appstream     49 k
 kernel-headers           x86_64    5.14.0-362.18.1.el9_3    appstream    1.4 M
 libxcrypt-devel          x86_64    4.4.18-3.el9             appstream     28 k

Transaction Summary
================================================================================
Install  10 Packages

Total download size: 71 M
Installed size: 222 M
Downloading Packages:
(1/10): elfutils-libelf-devel-0.189-3.el9.x86_6 102 kB/s |  21 kB     00:00    
(2/10): gcc-plugin-annobin-11.4.1-2.1.el9.alma. 379 kB/s |  45 kB     00:00    
(3/10): glibc-devel-2.34-83.el9_3.7.x86_64.rpm  552 kB/s |  49 kB     00:00    
(4/10): annobin-12.12-1.el9.x86_64.rpm          1.0 MB/s | 976 kB     00:00    
(5/10): kernel-devel-5.14.0-362.18.1.el9_3.x86_ 2.2 MB/s |  15 MB     00:07    
(6/10): kernel-devel-5.14.0-362.8.1.el9_3.x86_6 2.8 MB/s |  20 MB     00:07    
(7/10): kernel-headers-5.14.0-362.18.1.el9_3.x8 1.8 MB/s | 1.4 MB     00:00    
(8/10): libxcrypt-devel-4.4.18-3.el9.x86_64.rpm 299 kB/s |  28 kB     00:00    
(9/10): make-4.3-7.el9.x86_64.rpm               2.4 MB/s | 531 kB     00:00    
(10/10): gcc-11.4.1-2.1.el9.alma.x86_64.rpm     2.1 MB/s |  32 MB     00:15    
--------------------------------------------------------------------------------
Total                                           4.2 MB/s |  71 MB     00:16     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : make-1:4.3-7.el9.x86_64                               1/10 
  Installing       : elfutils-libelf-devel-0.189-3.el9.x86_64              2/10 
  Installing       : kernel-headers-5.14.0-362.18.1.el9_3.x86_64           3/10 
  Installing       : libxcrypt-devel-4.4.18-3.el9.x86_64                   4/10 
  Installing       : glibc-devel-2.34-83.el9_3.7.x86_64                    5/10 
  Installing       : gcc-11.4.1-2.1.el9.alma.x86_64                        6/10 
  Running scriptlet: gcc-11.4.1-2.1.el9.alma.x86_64                        6/10 
  Installing       : annobin-12.12-1.el9.x86_64                            7/10 
  Running scriptlet: annobin-12.12-1.el9.x86_64                            7/10 
  Installing       : gcc-plugin-annobin-11.4.1-2.1.el9.alma.x86_64         8/10 
  Running scriptlet: gcc-plugin-annobin-11.4.1-2.1.el9.alma.x86_64         8/10 
  Installing       : kernel-devel-5.14.0-362.18.1.el9_3.x86_64             9/10 
  Running scriptlet: kernel-devel-5.14.0-362.18.1.el9_3.x86_64             9/10 
  Installing       : kernel-devel-5.14.0-362.8.1.el9_3.x86_64             10/10 
  Running scriptlet: kernel-devel-5.14.0-362.8.1.el9_3.x86_64             10/10 
  Verifying        : annobin-12.12-1.el9.x86_64                            1/10 
  Verifying        : elfutils-libelf-devel-0.189-3.el9.x86_64              2/10 
  Verifying        : gcc-11.4.1-2.1.el9.alma.x86_64                        3/10 
  Verifying        : gcc-plugin-annobin-11.4.1-2.1.el9.alma.x86_64         4/10 
  Verifying        : glibc-devel-2.34-83.el9_3.7.x86_64                    5/10 
  Verifying        : kernel-devel-5.14.0-362.18.1.el9_3.x86_64             6/10 
  Verifying        : kernel-devel-5.14.0-362.8.1.el9_3.x86_64              7/10 
  Verifying        : kernel-headers-5.14.0-362.18.1.el9_3.x86_64           8/10 
  Verifying        : libxcrypt-devel-4.4.18-3.el9.x86_64                   9/10 
  Verifying        : make-1:4.3-7.el9.x86_64                              10/10 

Installed:
  annobin-12.12-1.el9.x86_64                                                    
  elfutils-libelf-devel-0.189-3.el9.x86_64                                      
  gcc-11.4.1-2.1.el9.alma.x86_64                                                
  gcc-plugin-annobin-11.4.1-2.1.el9.alma.x86_64                                 
  glibc-devel-2.34-83.el9_3.7.x86_64                                            
  kernel-devel-5.14.0-362.8.1.el9_3.x86_64                                      
  kernel-devel-5.14.0-362.18.1.el9_3.x86_64                                     
  kernel-headers-5.14.0-362.18.1.el9_3.x86_64                                   
  libxcrypt-devel-4.4.18-3.el9.x86_64                                           
  make-1:4.3-7.el9.x86_64                                                       

Complete!

gcc 関連のパッケージ名に「.el9.alma.x86_64」が含まれていることに注目:

「GuestAdditions」のバージョンアップ(7.0.12→7.0.14)が実行:

Copy iso file /usr/share/virtualbox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
Mounting Virtualbox Guest Additions ISO to: /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
Installing Virtualbox Guest Additions 7.0.14 - guest version is 7.0.12
Verifying archive integrity...  100%   MD5 checksums are OK. All good.
Uncompressing VirtualBox 7.0.14 Guest Additions for Linux  100%  
VirtualBox Guest Additions installer
Removing installed version 7.0.12 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Setting up modules
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel 
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel 
5.14.0-362.8.1.el9_3.x86_64.

ビルドに時間がかかります:

VirtualBox Guest Additions: Running kernel modules will not be replaced until 
the system is restarted or 'rcvboxadd reload' triggered
VirtualBox Guest Additions: reloading kernel modules and services
VirtualBox Guest Additions: kernel modules and services 7.0.14 r161095 reloaded
VirtualBox Guest Additions: NOTE: you may still consider to re-login if some 
user session specific services (Shared Clipboard, Drag and Drop, Seamless or 
Guest Screen Resize) were not restarted automatically

再起動が必要というメッセージです:

問題点1:「GuestAdditions」のバージョンアップが完了したようだけど、プロンプトが返ってきません:
問題点2:「仮想マシン」画面は起動途中で停止しています:

マウスで画面をクリックして、中央ボタンでスクロールしたら、真っ暗になりました:

問題点3:「仮想マシン」画面は真っ暗です:

-

問題点4:「マウス統合化」機能が無効なので、右「Ctrl」キーを押下:

-

(2). 再起動が必要だけど、プロンプトが返ってこないので、別の「端末」画面を起動:

確認:

$ vagrant global-status
id       name    provider   state    directory                           
-------------------------------------------------------------------------
62a436d  default virtualbox poweroff /home/ubn/ダウンロード/vm/fedora39-base   
e93d45b  default virtualbox running  /home/ubn/ダウンロード/vm/almalinux   ←(追加)

-

確認:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant status
Current machine states:

default                   running (virtualbox)

→実行中です。

-

(3). 別の「端末」画面から、コマンドで電源オフ(停止)してみました:
$ cd ~/ダウンロード/vm/almalinux
$ vagrant halt

赤色の警告表示:

An action 'halt' was attempted on the machine 'default',
but another process is already executing an action on the machine.
Vagrant locks each machine for access by only one process at a time.
Please wait until the other Vagrant process finishes modifying this
machine, then try again.

If you believe this message is in error, please check the process
listing for any "ruby" or "vagrant" processes and kill them. Then
try again.

和訳:

アクション「停止」がマシン「デフォルト」で試行されましたが、
別のプロセスがすでにマシン上でアクションを実行しています。
Vagrant は、一度に 1 つのプロセスのみがアクセスできるように
各マシンをロックします。
他の Vagrant プロセスがこのマシンの変更を完了するまで待ってから、
再試行してください。

→コマンドでの「電源オフ」は拒否されました:

-

(4). プロンプトが返ってこない、最初の「端末」画面を右上の「x」で閉じました:

警告「ウィンドウを閉じますか?」画面が表示:

まだプロセスが走っています。
このウィンドウを閉じるとプロセスは終了します。

→「ウィンドウを閉じる」をクリック

-

(5). 残った「端末」画面にて、 「仮想マシン」を電源オフ:
$ cd ~/ダウンロード/vm/almalinux
$ vagrant halt
==> default: Attempting graceful shutdown of VM...
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

→「仮想マシン」画面が閉じました:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

5. 「GuestAdditions」の機能を有効にするため、ホストOS を再起動:

-

1). ホストOS を再起動:

「端末」画面以外のウィンドウを閉じてから、

$ reboot

-


2). 登録された「Box」を確認:

$ vagrant box list
Endeav-base3  (virtualbox, 0)
almalinux/9   (virtualbox, 9.3.20231118, (amd64))   ←(追加)
fedora39-0225 (virtualbox, 0)

-


3). 作成された「仮想マシン」を確認:

$ vagrant global-status
id       name    provider   state    directory                           
-------------------------------------------------------------------------
62a436d  default virtualbox poweroff /home/ubn/ダウンロード/vm/fedora39-base   
2d3c9c6  default virtualbox poweroff /home/ubn/ダウンロード/vm/almalinux       

-


4). 「仮想マシン」を立ち上げ:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'almalinux/9' version '9.3.20231118' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!

「GuestAdditions」が実行されていなかったので、起動処理が実行されました:

[default] GuestAdditions seems to be installed (7.0.14) correctly, but not running.
Redirecting to /bin/systemctl start vboxadd.service    ←(vboxadd の実行)
Redirecting to /bin/systemctl start vboxadd-service.service
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Setting up modules
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel 
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel 
5.14.0-362.8.1.el9_3.x86_64.

時間がかかります:

起動途中だった「仮想マシン」画面が再起動されました:

Restarting VM to apply changes...
==> default: Attempting graceful shutdown of VM...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant_data => /home/ubn/ダウンロード/vm/almalinux/data
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

→プロンプトが返ってきました:

「GuestAdditions」のバージョンチェックは OK:

「共有フォルダ」(サブフォルダ)がマウントされました:

-

問題点4:「マウス統合化」機能のアイコンはグレー表示で無効です:

→マウスを見失ったら、右「Ctrl」を押します:

-

問題点5:「仮想マシン」画面は起動途中で、「ログイン」画面が表示されません:

-

参考: ちなみに、「GuestAdditions」のバージョンアップ実行時のログを確認:

ssh 接続:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant ssh
[vagrant@localhost ~]$ 

-

ログの確認:

[vagrant@vagrant ~]$ cat /var/log/vboxadd-setup.log
Building the main Guest Additions 7.0.14 module for kernel 5.14.0-362.8.1.el9_3.x86_64.
Building the shared folder support module.
Building the graphics driver module.
Could not find the X.Org or XFree86 Window System, skipping.

→「GuestAdditions」のバージョンアップは正常終了しています:

-

ssh 接続の終了:

[vagrant@localhost ~]$ exit
logout
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

-


5). 「仮想マシン」の電源オフ:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant halt
==> default: Attempting graceful shutdown of VM...
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

→電源オフ時の警告表示はありません。ssh 関連の設定は OK のようです。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

6. 問題点4 の回避: 「マウス統合化」機能の有効化を「Vagrantfile」に反映:

-

仮想マシン」の設定で、ポインティングデバイスを「USB タブレット」に変更する必要があります:

仮想マシン」作成のたびに、「VirtualBox」マネージャで設定を変更しなくても良いように、
「Vagrantfile」に反映させました:

-

参考資料:

VBoxManage modifyvm

-

1). 「ポインティングデバイス」関連の記述を抜粋:

7.8.3. Miscellaneous Settings    ←(その他の設定)

The following hardware settings, such as serial port, audio, clipboard, drag  
and drop, monitor, and USB settings are available through VBoxManage modifyvm:

  --mouse <ps2|usb|usbtablet|usbmultitouch>: Specifies the mode of the mouse to be  
  used in the VM. Available options are: ps2, usb, usbtablet, usbmultitouch. 

-

2). 「VirtualBox」マネージャでの操作:

実際に操作する必要はありません:

-

システム→「マザーボード」タブ

ポインティングデバイス:

PS/2 マウス
USBタブレット                            ←(これを選択)
USBマルチタッチタブレット
USBマルチタッチスクリーンとタッチパッド

3). 選択するパラメータの対応?

ps2
usb
usbtablet
usbmultitouch

→英語の原本を見ると対応が異なるので、「VirtualBox」マネージャの日本語翻訳にミスがある可能性があるので、

「usb」を試してみたら、「VirtualBox」マネージャが「USBマウス」に設定されました:

選択肢にない「USBマウス」が急に現れて設定されたので驚きました:

→翻訳される場所が違うようです

-

翻訳は合っているようなので、以下の対応になりそう:

ps2             →PS/2 マウス
usb             →USBマウス
usbtablet       →USBタブレット
usbmultitouch   →USBマルチタッチスクリーンとタッチパッド

→今まで「USBタブレット」に設定するのは変だ、と思いながら設定していたけど、 それはそれで、合っている(不具合?)みたい:

-

4). 「Vagrantfile」での記述:

 #vb.customize ["modifyvm", :id, "--mouse", "usb"]
 #vb.customize ["modifyvm", :id, "--mouse", "usbtablet"]  ←こちらが正しいみたい

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

6-2. 問題点5 の回避:「仮想マシン」画面は起動途中で、ログイン画面が表示されません:

-

こちらの回避策で下記の問題が解決しました:

問題点1:「GuestAdditions」のバージョンアップが完了したようだけど、プロンプトが返ってきません:
問題点2:「仮想マシン」画面は起動途中で停止しています:
問題点3:「仮想マシン」画面は真っ暗です:

→問題点2で、マウスで画面をクリックして、中央ボタンでスクロールしたら、真っ暗になりました:

問題点5:「仮想マシン」画面は起動途中で、「ログイン」画面が表示されません:

-

仮想マシン」のビデオメモリが小さな値だったのが原因みたい:

→「GUI 表示」を行う設定にしていたので、表面化した問題のようです:
ssh 接続」のみで使うなら、たぶん修正は要りません:

-

今回はその後、デスクトップ環境もインストールするつもりなので、「128」MB に設定:

仮想マシン」作成のたびに、「VirtualBox」マネージャで設定を変更しなくても良いように、
「Vagrantfile」に反映させました:

-

1). 「Vagrantfile」での記述:

    vb.customize ["modifyvm", :id, "--vram", "128"]

-

すでに「Vagrantfile」を作成していたら、nano であれば、

Ctrl+K を押し放しにすれば、すべて削除できます。

一部修正するより、Ctrl+C 後、マウスの中央ボタンで「すべて貼り付ける」のが楽です。

-


2). 「Vagrantfile」を作成:

$ cd ~/ダウンロード/vm/almalinux/
$ nano Vagrantfile

↓ すべて貼付け:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "almalinux/9"
  #config.vm.box_version = "9.3.20231118"
  #config.vm.boot_timeout = 300
  config.vm.boot_timeout = 60
  # ホストの作業フォルダ内の data フォルダと
  # 仮想マシン内の /vagrant_data フォルダを共有:
  # 指定のフォルダがない場合は、フォルダを作成:
  config.vm.synced_folder "./data", "/vagrant_data", create: true
  # デフォルトの共有フォルダを無効にします:
  config.vm.synced_folder ".", "/vagrant", disabled: true
  config.vm.provider "virtualbox" do |vb|
    # 仮想マシンの起動時に VirtualBox GUI を表示:
    vb.gui = true
    vb.memory = "2048"
    #vb.memory = "4096"
    vb.cpus = 2
    vb.customize ["modifyvm", :id, "--mouse", "usbtablet"] 
    #vb.customize ["modifyvm", :id, "--graphicscontroller", "vboxsvga"]
    vb.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"]
    vb.customize ["modifyvm", :id, "--accelerate3d", "on"]
    vb.customize ["modifyvm", :id, "--vram", "128"]
  end
end

説明:

5行目で、使用する「Box」を指定:
6行目で、使用する「Box」のバージョンを指定: ★
7〜8行目で、リトライのタイムアウト値を短く調整: ←(ssh 認証時のループ回避)
9〜12行目で、共有フォルダ「/vagrant_data」を設定: ★
13〜14行目で、デフォルトの共有フォルダ「/vagrant」を無効化: ★
17行目で、GUI 表示を有効に設定:
18〜19行目で、メモリ「2048」MB に変更:
20行目で、プロセッサ「2」個 に変更:
21行目で、ポインティングデバイスを「USBタブレット」に変更: ★
22〜23行目で、ディスプレイを 「vmsvga」に変更:
24行目で、デスクトップ表示に備え「3D」オンに変更: ←(追記)
25行目で、ビデオメモリを「128」MB に変更:  ★

-

→Crtl+O で、保存。保存先を確認して、Enter

→Crtl+X で、終了

-

参考:「config.vm.box = "almalinux/9"」の行を変更すれば、他の「仮想マシン」でも使い回し出来ます:

6行目は、使用する「Box」のバージョンを指定します。最新バージョンにするときは、行頭に「#」を付けてコメント行にするか、行を削除します:

-

仮想マシン」をすでに作成していた場合は、修正を反映させるため、後で「vagrant reload」が必要です:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

6-3. 「仮想マシン」に「Vagrantfile」の修正を反映:

-

1). 「仮想マシン」の立ち上げ(Vagrantfile の修正を反映):

$ cd ~/ダウンロード/vm/almalinux
$ vagrant reload
==> default: Checking if box 'almalinux/9' version '9.3.20231118' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
[default] GuestAdditions 7.0.14 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant_data => /home/ubn/ダウンロード/vm/almalinux/data
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

→プロンプトが返ってきました:

「GuestAdditions」のバージョンチェックは OK:

「共有フォルダ」がマウントされました:

-

問題点4 の解消:「マウス統合化」機能のアイコンが表示され、有効になりました:

-

問題点5 の解消:「仮想マシン」の立ち上げで、ログイン画面が表示されました:
AlmaLinux 9.3 (Shamrock Pampas Cat)
Kernel 5.14.0-362.8.1.el9_3.x86_64 on an x86_64

vagrant login:

-

2). 「仮想マシン」の状態の確認:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

→「仮想マシン」が実行中です:

-

ssh-config」の確認:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/ubn/ダウンロード/vm/almalinux/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
  PubkeyAcceptedKeyTypes +ssh-rsa
  HostKeyAlgorithms +ssh-rsa

ssh 認証キーの行はひとつだけです:

認証キーは、「作業フォルダ」配下に置かれています:

-


3). 「ssh 接続」してみました:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant ssh
Last login: Tue Mar  5 23:03:55 2024 from 10.0.2.2
[vagrant@localhost ~]$ 

→パスワードなしでログインできました:

-

ここで、プロンプトの表示が「vagrant@vagrant」ではありません:

[vagrant@localhost ~]$ uname -n
localhost.localdomain
問題点6: ホスト名が「localhost」です:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

7. 問題点6 の回避: 「ホスト名」をいつもの「vagrant」に変更したい場合:

-

ユーザ名は「vagrant」ですが、「ホスト名」は設定されておらず「localhost」です。

localhost」のままでも、他のホスト名に変更しても、いつもの「vagrant」に変更しても良いです。
この辺りは好みです。

-

ホスト名(コンピュータ名)を他の「Box」と同じ「vagrant」に変更:

-


1). 「仮想マシン」の立ち上げ:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant up

-


2). 「仮想マシン」に「ssh で接続」:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant ssh
[vagrant@localhost ~]$ 

-


3). 現在の「ホスト名」(コンピュータ)を確認:

[vagrant@localhost ~]$ uname -n
localhost.localdomain

もしくは、

[vagrant@localhost ~]$ sudo hostname
localhost.localdomain

もしくは、

[vagrant@localhost ~]$ sudo hostnamectl
   Static hostname: (unset)                             
Transient hostname: localhost
         Icon name: computer-vm
           Chassis: vm 🖴
        Machine ID: cf3c5420a41c40e1bab79dbb4fcedb6e
           Boot ID: b1a4e7cb2ed744978244efdff9480c8b
    Virtualization: oracle
  Operating System: AlmaLinux 9.3 (Shamrock Pampas Cat) 
       CPE OS Name: cpe:/o:almalinux:almalinux:9::baseos
            Kernel: Linux 5.14.0-362.8.1.el9_3.x86_64
      Architecture: x86-64
   Hardware Vendor: innotek GmbH
    Hardware Model: VirtualBox
  Firmware Version: VirtualBox

-


4). 恒久的に「ホスト名」を変更:

[vagrant@localhost ~]$ sudo hostnamectl set-hostname vagrant
[vagrant@localhost ~]$ 

→すぐには反映されません

-


5). 「仮想マシン」を再起動:

確実な操作は「項番 10).」を参照:

-

下記の操作はオススメしない操作です:

なので、作業は要りません:

[vagrant@localhost ~]$ sudo reboot
Connection to 127.0.0.1 closed by remote host.
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

→すぐにプロンプトが返って来ました。

-

仮想マシン」は電源オフしている最中に、表示が止まっています:

「共有フォルダ」のアンマウントまでは行きました:

:
            Unmounting /vagrant_data...
[  OK  ] Unmounted /vagrant_data.
[  OK  ] Stopped vboxadd.service

-

参考: 「fedora39」の場合の表示:

[vagrant@fedora39 ~]$ sudo reboot
Broadcast message from root@fedora39.localdomain on pts/1 (Sun 2024-02-18 14:14:12 UTC):

The system will reboot now!

[vagrant@fedora39 ~]$ Connection to 127.0.0.1 closed by remote host.
ubn@ubn-box:~/ダウンロード/vm/fedora39$ 

-

6). なので、「仮想マシン」は再起動されていません:

-

確認:

-

$ vagrant status
Current machine states:

default                   running (virtualbox)

-

$ vagrant global-status
id       name    provider   state    directory                           
-------------------------------------------------------------------------
62a436d  default virtualbox poweroff /home/ubn/ダウンロード/vm/fedora39-base   
e93d45b  default virtualbox running  /home/ubn/ダウンロード/vm/almalinux          
:

-

7). 「仮想マシン」を電源オフ:

$ vagrant halt
==> default: Attempting graceful shutdown of VM...
    default: Guest communication could not be established! This is usually because
    default: SSH is not running, the authentication information was changed,
    default: or some other networking issue. Vagrant will force halt, if
    default: capable.
==> default: Forcing shutdown of VM...
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

→電源オフ時に、ssh 関連に問題があるときの表示です:

「sudo reboot」で電源オフ途中だったので、sshd が停止したからと思われます:

-


8). 「仮想マシン」の立ち上げ:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant up

仮想マシン」がログイン画面になりました:

-


9). 「仮想マシン」に「ssh で接続」:

$ cd ~/ダウンロード/vm/almalinux
$ vagrant ssh
Last login: Tue Mar  5 16:05:02 2024 from 10.0.2.2
[vagrant@vagrant ~]$ 
問題点6 の解消: プロンプトがいつもの表示に変わりました:

-

-


10). 参考: 「ssh 接続」での「sudo reboot」での再起動は、不安定なのでやめた方が良さそう:

-

仮想マシン」を再起動したいときは、

-

(1). ssh 接続を終了:
[vagrant@vagrant ~]$ exit
logout
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

-

(2). 電源オフ:
$ vagrant halt
==> default: Attempting graceful shutdown of VM...

1〜2分ほど時間がかかります:

サーバー使用なので、わざと長くしているのかな?

==> default: Forcing shutdown of VM...
ubn@ubn-box:~/ダウンロード/vm/almalinux$ 

→「仮想マシン」画面が閉じました:

-

(3). 「仮想マシン」の立ち上げ:
$ vagrant up

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----

8. 今回の作業で気づいたこと:

-

今回は、「デスクトップ」環境を追加することを考え、「Vagrantfile」で「GUI 表示をする」設定にしていたせいか、 いくつかの問題が表面化しました:

-

ポイントは、「Box」の「仮想マシン」イメージが、最小限の設定(ssh 接続が前提)だったということ:

ssh 接続」のみで使っていれば、たぶん、支障なく使えたと思います。

-

具体的には、「ビデオメモリー」が最小で、「ポインティングデバイス」(マウス)がデフォルトの設定でした:
どちらも GUI 操作で使うなら、設定を変更するのですが、今のところはコンソール画面だけなので、触りませんでした。

まさか、「ビデオメモリー」が少ないと、(文字だけの)コンソール画面で「ログイン」画面が表示されなかったり、画面真っ暗になるとは思っていませんでした。

-

ベースとなる「Box」は、色々な使い方をされるので、最小限の設定が多いです。

今回のような現象は経験していないと、気付かずに迷ってしまい、手間取る可能性が高いかも。

-

-


まとめ

今回は、最新にした「VirtualBox 7.0.14」と「Vagrant 2.4.1」の環境で、公式「Box」に登録された「almalinux/9」をインストールしました。

前回、「vagrant-vbguest」プラグインをインストールしており、おかげで「GuestAdditions」のインストールの手間が省けました。

-

「almalinux/9」の「Box」は、ssh 関連の設定とか、ちゃんと設定されていました。さすがです。

ホスト名は「localhost」でしたが、許容範囲というか、ベースに使う場合は「vagrant」よりもこちらの「localhost」の方が良さそう。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-