登録日: 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」を使うときの参考:
-
今回の作業:
-
「AlmaLinux」関連の投稿:
-
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - -
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 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年)までサポートされます。
ただし、RHEL や RHEL クローンは(サーバー向けなので)安定度を増すために、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 が開発している「仮想マシン」を構築するためのソフトウェアです。
-
- 仮想マシンを使うことで、ハードウェアで問題となりそうなPC でも、最新のLinux ディストリビューションをインストールできる可能性が高くなります。
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - ---
「Vagrant」 (ベイグラント) について:
-
公式サイト:
-
「仮想マシン」の管理や操作をコマンドで行うことで、作業効率を上げてくれる「フロントエンド」のソフトウェアです:
-
→詳細は、以前に投稿した「こちら 」を参照:
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - ----
「AlmaLinux」について:
-
公式サイト:
抜粋:
AlmaLinux OS は、CentOS Linux 安定版リリースの廃止によって残された溝を埋める、
オープンソースのコミュニティ主導の Linux オペレーティングシステムです。
RHEL とバイナリ レベルで完全に互換なクローンです。
AlmaLinux OS は、単独の無料の OS として、CloudLinux Inc. から支援を受けて、
コミュニティのメンバーによって開発されています。
-
AlmaLinux 9.3 安定版を発表! :
Announcing AlmaLinux 9.3 Stable!
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - -----
1. 公式の「Box」にて、目的の「Box」を検索:
-
公式の「Box」の検索サイト:
-
「検索キー」の入れ方で、微妙に、表示される「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」に反映させました:
-
参考資料:
-
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」の方が良さそう。
-
-
-
-
-
目次
-
-
- 目次
- - --- - --- - --- - --- - --- - --- - --- - --- - -
- Vagrant で「Almalinux 9.3」の「仮想マシン」を立ち上げ:
- - --- - --- - --- - --- - --- - --- - --- - --- - --
- 「VirtualBox」について:
- - --- - --- - --- - --- - --- - --- - --- - --- - ---
- 「Vagrant」 (ベイグラント) について:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----
- 「AlmaLinux」について:
- - --- - --- - --- - --- - --- - --- - --- - --- - -----
- 1. 公式の「Box」にて、目的の「Box」を検索:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -
- 2. 「作業フォルダ」の作成:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --
- 3. 「Vagrantfile」を手動で作成:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---
- 4. 「仮想マシン」を(作成して)立ち上げ:
- 1). 現時点で登録されている「Box」を確認:
- 2). 現時点で作成されている「仮想マシン」を確認:
- 3). Vagrant に、「vagrant-vbguest」プラグインがインストールされているか確認:
- 4). 「仮想マシン」の(初回の作成と)立ち上げ:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----
- 5. 「GuestAdditions」の機能を有効にするため、ホストOS を再起動:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----
- 6. 問題点4 の回避: 「マウス統合化」機能の有効化を「Vagrantfile」に反映:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -
- 6-2. 問題点5 の回避:「仮想マシン」画面は起動途中で、ログイン画面が表示されません:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --
- 6-3. 「仮想マシン」に「Vagrantfile」の修正を反映:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---
- 7. 問題点6 の回避: 「ホスト名」をいつもの「vagrant」に変更したい場合:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----
- 8. 今回の作業で気づいたこと:
- まとめ
- -
-
-
-