Linux あれこれ

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

Vagrant 実践編7: 「EndeavourOS」(Openbox) の「Box」を作り直し〈H170-10〉

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

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

-

実践編5 の投稿で、以前に作成したデスクトップなしの「Box」(Endeav-base-jp) を使って、コミュニティ版の「OpenBox」を追加インストールしました。

-

その作業の中で、「クリップボードの共有」機能が使える「仮想マシン」が(何とか)できました。

再び設定できるかわからないので、余計なファイルを除いて、「Box」(Endeav-base3) を作成し直しました。 サイズが大きすぎるのが難点かな。

その備忘録です。

-

-

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

-

-


目次

-

前回の作業:

Vagrant 実践編5: 「EndeavourOS」の「Box」で、「OpenBox」をインストール〈H170-6〉

-

今回の作業:

  1. 「EndeavourOS」の「Box」の作成準備:

  2.  すぐに「仮想マシン」から「Box」を作成:

  3. 「vagrant」ユーザで、「Openbox」デスクトップ環境を設定:

  4.  GUI で使う「mine」ユーザを削除:

  5. 「仮想マシン」のメモリを「2048 MB」に設定:

  6.  Vagrant で管理された「仮想マシン」から「Box」を作成:

  7.  作業で使用した「仮想マシン」等を削除:

-

Vagrant」での参考:

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

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

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

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

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

  6. 「ssh 接続」で使うテキストエディタ「nano」:

  7. 「ssh 接続」時、または日本語化されていない「vagrant」で、日本語化できるファイルを準備:

  8. 「仮想マシン」の立ち上げや、電源オフ時に ssh の警告が表示される件の回避:

-

「EndeavourOS」での参考:

  1.  ミラーの更新:

  2. 「Welcome」画面に、「個人用コマンド」(Personal Commands) タブを追加:

  3. 「仮想マシン」にて、「GuestAdditions」を再インストール:

  4. 「仮想マシン」にて、ログイン時の「エラー通知」の解消、および、「クリップボード共有」機能が改善:

  5. 「eos-packagelist」で使える「デスクトップ」環境の一覧:

-

「まとめ へ」

「目次詳細 へ」

-

-


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

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

-

追加インストールした「OpenBox」の「デスクトップ環境」:

→「EndeavourOS」のデスクトップなしの「Box」を利用して、「OpenBox」を追加後、 日本語化しました

-

参考:

VirtualBox」の「クリップボードの共有」機能が使えるかは、「Box」の作成前に、「仮想マシン」でちゃんと「GuestAdditions」のインストールがうまく行ったかが鍵です:

-

→ログイン後、デスクトップの右下に、下記の表示があると失敗してます:

VBoxClient: the VirtualBox kernel service is not running. Exiting.

-

また、「こちらの表示」で成功したかが確認できます:

-

-


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

-

ホストOS : 「Xubuntu 22.04.3 LTS」

2024-02-14 現在

カーネル:

$ uname -r
5.15.0-94-generic

リリース:

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

→「22.04.3」にアップしています。

-

-

ゲストOS : 「EndeavourOS」

2024-02-14 現在

カーネル:

$ uname -r
6.7.3-arch1-2

リリース:

$ cat /etc/lsb-release
:
DISTRIB_ID="EndeavourOS"
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="EndeavourOS Linux"
DISTRIB_CODENAME="rolling"
$ cat /etc/os-release
:
NAME="EndeavourOS"
PRETTY_NAME="EndeavourOS"
ID="endeavouros"
ID_LIKE="arch"
BUILD_ID="2023.11.17"             ←(注目)
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://endeavouros.com"
DOCUMENTATION_URL="https://discovery.endeavouros.com"
SUPPORT_URL="https://forum.endeavouros.com"
BUG_REPORT_URL="https://forum.endeavouros.com/c/arch-based-related-questions/bug-reports"
PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2"
LOGO="endeavouros"

→注目: インストール時に使用したイメージの作成日付だったり、 「BUILD_ID=rolling」の表示だったりします。

-

「Welcome」のバージョン:

$ eos-welcome --version
:
24.3-1

→バージョン表示にて、「ログの登録」の行が表示される場合は「こちら 」を参照:

-

-


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

(前回の作業):

-

Vagrant 実践編5: 「EndeavourOS」の「Box」で、「OpenBox」をインストール〈H170-6〉

-

-

(その続き):

-

-


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

1. 「EndeavourOS」の「Box」の作成準備:

-

前回、「クリップボードの共有」機能と、「リアルタイムの自動解像度の調整」が使える「仮想マシン」が作成できました。

-

ただし、(カーネルの更新とタイミングが合う必要がありそうなので、)確実にその設定ができるかわかりません。

なので、その「仮想マシン」から(余計な部分を除き、)「Box」を作成し直しました:

-

-


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

1-1. 「Virtualbox」で、「仮想マシン」のクローンを作成:

-

まずは、「クリップボードの共有」機能が動作する「仮想マシン」を保存するために、クローンを作成しました:

-

Virtualbox」マネージャを起動して、「仮想マシン」を右クリック→「クローンの作成」

作成したクローンの「仮想マシン」が動作するか確認:

こちらは使用せずに、保存しておくつもり。

-

VirtualBox にて、「仮想マシン」の名前(フォルダ名)を確認:

$ ls -1 ~/'VirtualBox VMs'/
endeavour-base-jp_default_1706478454111_19314  ←「Vagrant」の原本
endeavour-base-jp_mine                         ←クローン: 保存用 ★

→「★」は、クローンしたので「Vagrant」で管理されていません:

-

以降の作業は、上記の原本の「endeavour-base-jp_default_1706478454111_19314」を使いました:

→ところが、色々試していたら、動くけど不具合が出て、「Box」の作成に向かなくなりました。

-

すぐにクローンを作成して保存したのは正解でした:
ただし、実際の作業は「Box」を作成して、それで作業すべきでした:

-

ちなみに、クローンした(「Vagrant」で管理されない)「仮想マシン」から(仮想マシン名で)「Box」を作成した場合:

設定していた ssh の認証キーが梱包されず、「仮想マシン」の立ち上げ時と電源オフ時に、ssh 関連の警告メッセージが表示されます。

-

警告メッセージの解消には、ssh の設定をやり直して、(「Vagrant」で管理されている)「仮想マシン」を「id」指定で「Box」を作成すれば、ssh の認証キーが梱包されます。

→ 2度手間だし、使われるディスクサイズも倍です。

そして、ひとつの「仮想マシン」で 25 GB ほど。

-

-


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

1-2. 参考: 余計な「仮想マシン」と「Box」を削除:

-

ホストOS のディスクの空きが少なくて「Box」の作成時に失敗したので、空きを増やしました:

-

1). 「VirtualBox」マネージャにて、「仮想マシン」を確認:

→下 2つの「仮想マシン」は削除するつもり

-

2). コマンドで、「仮想マシン」を確認:

$ ls -1Ap ~/'VirtualBox VMs'
endeavour-base-jp_2/
endeavour-base-jp_mine/
endeavour-base2_default_1707740696453_91326/

→原本をクローンした「endeavour-base-jp_mine」のみ残して、それ以外はすべて削除のつもり:

-

3). 「仮想マシン」の確認:

$ vagrant global-status
id       name    provider   state   directory
------------------------------------------------------------------------
32de53b  default virtualbox running /home/ubn/ダウンロード/vm/endeavour-base2 
:

→「vagrant」で管理されているのは、ひとつ

-

4). ホームに登録された「Box」:

$ vagrant box list
Endeav-base-jp (virtualbox, 0)
Endeav-base2   (virtualbox, 0)

→こちらの 2つも削除するつもり

-

5). 「vagrant」で管理されている「仮想マシン」の状態:

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

default                   poweroff (virtualbox)

The VM is powered off. To restart the VM, simply run `vagrant up`

-

6). 「仮想マシン」の削除:

$ cd ~/ダウンロード/vm/endeavour-base2
$ vagrant destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Destroying VM and associated drives...

-

7). 「仮想マシン」の確認:

$ ls -1Ap ~/'VirtualBox VMs'
endeavour-base-jp_2/
endeavour-base-jp_mine/

-

8). 「endeavour-base-jp_2」は、Vagrant で管理されていないので、「VirtualBox」マネージャにて削除:

仮想マシン」を右クリック→「除去」→「すべてのファイルを削除」で削除:

-

9). 「仮想マシン」の確認:

$ ls -1Ap ~/'VirtualBox VMs'
endeavour-base-jp_mine/

→これだけ残しました。

-

10). 「Box」の確認:

$ vagrant box list
Endeav-base2 (virtualbox, 0)

-

11). 「Box」の削除:

$ vagrant box remove Endeav-base2
Removing box 'Endeav-base2' (v0) with provider 'virtualbox'...

-

-


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

1-3. 現在の「仮想マシン」の状態を確認:

-

1). 「Box」の確認:

$ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some.

→すべてなし

-

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

$ vagrant global-status
id       name   provider state  directory
--------------------------------------------------------------------
There are no active Vagrant environments on this computer! Or,
you haven't destroyed and recreated Vagrant environments that were
started with an older version of Vagrant.

→すべてなし

-

3). 「仮想マシン」の確認:

→「仮想マシン」は 1つ

-

4). 「仮想マシン」を起動して確認:

-

ログイン画面:

→ユーザが 2つ

-

(1).「vagrant」ユーザでログインした場合:

→デスクトップを追加しただけだと、パネルが重複していました。

vagrant」ユーザは「ssh 接続」で使うので、GUI 側の修正はしてません。

-

クリップボードの共有」機能、「共有フォルダ」機能、「リアルタイムの自動解像度の調整」が使えます。

-

(2). GUI で使うために、追加した「mine」ユーザでログインした場合:

→パネルの重複を解消して、日本語化と日本語入力の設定をしました。

-

クリップボードの共有」機能、「共有フォルダ」機能、「リアルタイムの自動解像度の調整」が使えます。

-

せっかく設定しましたが、「Box」の公開を考えた場合はイメージサイズを小さくするために、「vagrant」ユーザのみにするつもり。

-

-


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

2. 何もせずに、すぐに「仮想マシン」から「Box」を作成:

-

まずは、「仮想マシン」を「Vagrant」で管理される状態にします:

-

参考:

Vagrant 実践編2: 既存の「EndeavourOS」(Openbox) から「Box」を作成〈H170-3〉

-

参考:

クローンした(「Vagrant」で管理されない)「仮想マシン」から(仮想マシン名で)「Box」を作成した場合:

ssh の認証キーを設定していても、それは「Box」に梱包されないので、
仮想マシン」を立ち上げたり、電源オフした時に、ssh 関連の警告メッセージが表示されます。

-

-


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

2-1. 「仮想マシン」から「Box」を作成:

-

1). VirtualBox にて、「仮想マシン」の名前(フォルダ名)を確認:

$ ls -1 ~/'VirtualBox VMs'/
endeavour-base-jp_mine         ←原本のクローン: 保存用

-

→「仮想マシン」の「endeavour-base-jp_mine」から「Box」を作成します:

-


2). 「.box」ファイルを作成したい場所を準備:

すでに作成済みです:

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

-


3). 「.box」ファイルを作成する場所に移動:

$ cd ~/ダウンロード/vm/box-share/

-

$ ls -lA
-rw-rw-r-- 1 ubn ubn 2958974232 12月 20 21:30 pkg-EndeavourOS_base-inst.box

→上記は、EndeavourOS (デスクトップなし)をインストールした直後に作成(保存)した「Box」です

「EndeavourOS」の最小構成で、3 GB ほどです

-


4). 「.box」ファイルを作成:

$ vagrant package --base endeavour-base-jp_mine --output pkg-EndeavourOS_base2.box

「endeavour-base-jp_mine」は、「virtualbox」での「仮想マシン」名です。 これからベースとなる「Box」ファイルが作成されます。

==> endeavour-base-jp_mine: Clearing any previously set forwarded ports...
==> endeavour-base-jp_mine: Exporting VM...

↓ 時間がかかりました:

==> endeavour-base-jp_mine: Compressing package to: /home/ubn/ダウンロード/vm/box-share/pkg-EndeavourOS_base2.box

↓ 時間がかかりました:

ubn@ubn-box:~/ダウンロード/vm/box-share$ 

→プロンプトに戻りました。

-


5). 作成された「.box」ファイルを確認:

$ cd ~/ダウンロード/vm/box-share/
$ ls -lA
-rw-rw-r-- 1 ubn ubn  2958974232 12月 20 21:30 pkg-EndeavourOS_base-inst.box
-rw-rw-r-- 1 ubn ubn 10104176322  2月 14 01:29 pkg-EndeavourOS_base2.box ←(追加)

→作業フォルダに、「pkg-EndeavourOS_base2.box」ファイルが作成されました:

サイズは、「10 GB」ほど

-

-


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

2-2. 作成された「Box」ファイルを「Box」の一覧に追加:

-


1). 作成された「Box」ファイルをホームの「Box」一覧に追加:

$ cd ~/ダウンロード/vm/box-share/

-

$ vagrant box add --name Endeav-base2 pkg-EndeavourOS_base2.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'Endeav-base2' (v0) for provider: 
    box: Unpacking necessary files from: file:///home/ubn/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89/vm/box-share/pkg-EndeavourOS_base2.box

↓ ファイルを解凍中: カウントUP

==> box: Successfully added box 'Endeav-base2' (v0) for ''!
ubn@ubn-box:~/ダウンロード/vm/box-share$ 

プロンプトに戻りました。

-


2). 「Box」の一覧に追加されたか確認:

$ vagrant box list
Endeav-base2   (virtualbox, 0)            ←(追加)

-


3). 参考: ホームの「Box」の一覧にあるファイルを確認:

$ ls -lA ~/.vagrant.d/boxes/Endeav-base2/0/virtualbox
-rw-rw-r-- 1 ubn ubn         505  2月 14 05:15 Vagrantfile
-rw-rw-r-- 1 ubn ubn 10195222528  2月 14 05:18 box-disk001.vmdk
-rwx------ 1 ubn ubn        9169  2月 14 05:18 box.ovf
-rw-rw-r-- 1 ubn ubn          25  2月 14 05:18 metadata.json

→「ssh の認証キー」である「vagrant_private_key」がありません

-

参考: ホームにある「Vagrantfile」の内容を確認:
$ cat ~/.vagrant.d/boxes/Endeav-base2/0/virtualbox/Vagrantfile
Vagrant::Config.run do |config|
  # This Vagrantfile is auto-generated by `vagrant package` to contain
  # the MAC address of the box. Custom configuration should be placed in
  # the actual `Vagrantfile` in this box.
  config.vm.base_mac = "080027B2BB06"
end

# Load include vagrant file if it exists after the auto-generated
# so it can override any of the settings
include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
load include_vagrantfile if File.exist?(include_vagrantfile)

→次々に組み込まれる(上書きされる)基本の「Vagrantfile」ファイルです:

こちらでは、「仮想マシン」のネット接続に必要な「Mac アドレス」が指定されています:

-

-


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

2-3. 「Vagrantfile」の作成:

-

1). 「仮想マシン」を管理する「作業フォルダ」を準備:

別の「作業フォルダ」を準備:

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

→「仮想マシン」を管理する場所になります

-

「作業フォルダ」は使い回すのでなく、新しい名前で作成した方が混乱しないと思います。

-


2). 「Vagrantfile」の作成:

$ cd ~/ダウンロード/vm/endeavour-base2/
$ nano Vagrantfile

↓ すべて貼付け:

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

Vagrant.configure("2") do |config|
  config.vm.box = "Endeav-base2"
  #config.vm.boot_timeout = 300
  config.vm.boot_timeout = 60
  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    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

→メモリ「2048」MB に、ディスプレイを 「vmsvga」に修正しました

→Crtl+O で、保存

→Ctrl+X で、終了

-

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

-

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

追記: GUI(デスクトップ環境)を使う場合の設定(修正版):
(1).「Ubuntu」の場合:

vb.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"]」の行を有効にすると、
ウィンドウサイズの拡大で、リアルタイムに解像度が調整されます。

-

(2).「EndeavourOS」で、リアルタイムに解像度が調整される場合:

vb.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"]」の行を有効にすると、
ウィンドウサイズの拡大で、リアルタイムに解像度が調整されます。

-

(3).「EndeavourOS」で、リアルタイムに解像度が調整されない場合:

vb.customize ["modifyvm", :id, "--graphicscontroller", "vboxsvga"]」の行を有効にすると、
ログアウト直前の解像度に調整されます。つまり、仮対応と言えます。

-

リアルタイムに解像度が調整されない場合は、「GuestAdditions」のインストールで失敗している可能性があります:

→例えば、ログイン後、デスクトップ画面で、一瞬だけ下記の「エラー通知」が表示されるときは注意:

VBoxClient: the VirtualBox kernel service is not running. Exiting.

→回避策は、「GuestAdditions」の再インストールですが、 それでもダメなときは「こちら」を参照:

-


3). 作成されたか確認:

$ ls -1Ap
Vagrantfile         ←(注目)

-

-


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

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

-


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

$ cd ~/ダウンロード/vm/endeavour-base2/
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'Endeav-base2'...
Progress: 20%

→初回のみ、カウントUP

==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: endeavour-base2_default_1707859316586_36421
==> 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: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
(回避策でタイムアウトを設定:)強制停止で、赤色の警告表示:
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
ubn@ubn-box:~/ダウンロード/vm/endeavour-base2$ 

→プロンプトに戻りました

回避策でVagrantfile の 7行目でタイムアウトを短く設定していなければ、ループしてプロンプトに戻りません:

-

→「仮想マシン」の立ち上げ時に「ssh 関連の警告」が表示されました:

-

Vagrant で管理されていない「仮想マシン」から「Box」を作成したので、ssh 認証キーが.box に同梱されていないからと思います:

-

警告表示があると、それ以降のメッセージが確認できないのが難点です:

-


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

$ ls -lA ~/.vagrant.d/boxes/Endeav-base2/0/virtualbox/
:
-rw-rw-r-- 1 ubn ubn         505  2月 14 05:15 Vagrantfile
-rw-rw-r-- 1 ubn ubn 10195222528  2月 14 05:18 box-disk001.vmdk
-rwx------ 1 ubn ubn        9169  2月 14 05:18 box.ovf
-rw-rw-r-- 1 ubn ubn          25  2月 14 05:18 metadata.json

→「vagrant_private_key」ファイルがありません

-


3). 「vagrant ssh-config」の確認:

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

ssh 認証のための(vagrant 共通で使われるキー)が 2行あります

-

指定されている「認証キー」があるか確認:
$ ls -lA /home/ubn/.vagrant.d/insecure_private_keys/
:
-rw------- 1 ubn ubn  411 11月 18 18:31 vagrant.key.ed25519
-rw------- 1 ubn ubn 1675 11月 18 18:31 vagrant.key.rsa

-


4). 「vagrant ssh」で、ssh 接続:

$ cd ~/ダウンロード/vm/endeavour-base2
$ vagrant ssh
vagrant@127.0.0.1's password: 
Last login: Mon Feb  5 13:47:21 2024 from 10.0.2.2
[vagrant@vagrant ~]$

-

[vagrant@vagrant ~]$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

→英語名のフォルダが作成されています

-

[vagrant@vagrant ~]$ sudo date
2024年  2月 14日 水曜日 06:37:25 JST

→パスワードなしで「sudo」が使えます

-

隠しファイルを表示:
[vagrant@vagrant ~]$ ls -1Ap
:
.bash_history
.bash_logout
.bash_profile
.bashrc
.cache/
.config/
Desktop/
.dmrc
Documents/
Downloads/
.gtkrc-2.0
.local/
.mozilla/
Music/
Pictures/
Public/
.ssh/
Templates/
.themes/
.vboxclient-clipboard-tty7-control.pid   ←(クリップボードの共有が使えてます)
.vboxclient-draganddrop-tty7-control.pid
.vboxclient-hostversion-tty7-control.pid
.vboxclient-seamless-tty7-control.pid
.vboxclient-vmsvga-session-tty7-control.pid
Videos/
.Xauthority
.xsession-errors
.xsession-errors.old

-

[vagrant@vagrant ~]$ ls /home/vagrant/.ssh/
authorized_keys

→キーはあるけど、更新が必要みたい

-


5). 「ssh 接続」の終了:

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

→ホストOS のプロンプトに戻りました

-


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

$ cd ~/ダウンロード/vm/endeavour-base2
$ 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`.

→「仮想マシン」の「default」が実行中

-

$ vagrant global-status
id       name    provider   state   directory                           
------------------------------------------------------------------------
93eef7c  default virtualbox running /home/ubn/ダウンロード/vm/endeavour-base2 
 
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date (use "vagrant global-status --prune" to prune invalid
entries). To interact with any of the machines, you can go to that
directory and run Vagrant, or you can use the ID directly with
Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"

→「id」と「作業フォルダのパス」がわかります

こちらでも「実行中」がわかりますが、キャッシュなので不確かです

-


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

id を指定しない場合は、作業フォルダに移動します:

$ cd ~/ダウンロード/vm/endeavour-base2
$ 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/endeavour-base2$ 

→「仮想マシン」の電源オフ時に「ssh 関連の警告」が表示されました:

-


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

「共有フォルダ」機能を有効にします:

-

ホストOS で、「端末」以外のウィンドウを閉じてから、

$ reboot

-


9). ホストOS が立ち上がったら、「VirtualBox」マネージャを起動して確認:

-

-


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

3. 「vagrant」ユーザで、「Openbox」デスクトップ環境を設定:

-

GUI で使う「mine」ユーザの削除を行うので、「vagrant」ユーザで GUI を使えるように設定:

-

-


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

3-1. 「仮想マシン」を立ち上げて、ssh 接続で「vagrant」ユーザにアクセス:

-


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

$ cd ~/ダウンロード/vm/endeavour-base2/
$ vagrant up

→プロンプトが返るまで待ちます

-


2). 「ssh 接続」:

$ vagrant ssh
vagrant@127.0.0.1's password: 

→パスワードに「vagrant」を入力

Last login: Mon Feb 12 21:48:07 2024 from 10.0.2.2
[vagrant@vagrant ~]$ 

→プロンプトが変わりました

-

3). id 確認:

[vagrant@vagrant ~]$ id
uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant)

-

-


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

3-2. 「Openbox」デスクトップ環境について:

-

1). 「クリップボードの共有」機能と、「リアルタイムの自動解像度の調整」が使えます:

-

2). 日本語キーボード

-

3). AUR ヘルパーは「paru」に変更:

-

4). アプリ:

Web ブラウザは、「ESR 版 firefox」(日本語版):

テキストエディタは、「xed」と「featherpad」:

-

5). 日本語フォント:

下記がインストールされています:

(noto-fonts、noto-fonts-cjk、noto-fonts-emoji、noto-fonts-extra)

-

[vagrant@vagrant ~]$ paru -Ss noto | grep Install
extra/noto-fonts 1:24.2.1-1 [0 B 108.42 MiB] [Installed]
extra/noto-fonts-cjk 20230817-1 [0 B 298.08 MiB] [Installed]
extra/noto-fonts-emoji 1:2.042-1 [0 B 10.11 MiB] [Installed]
extra/noto-fonts-extra 1:24.2.1-1 [0 B 318.79 MiB] [Installed]

-

[vagrant@vagrant ~]$ paru -Ss fonts | grep Install
extra/adobe-source-code-pro-fonts 2.042u+1.062i+1.026vf-1 [0 B 1.86 MiB] [Installed]
extra/cantarell-fonts 1:0.303.1-1 [0 B 189.66 KiB] [Installed]
extra/noto-fonts 1:24.2.1-1 [0 B 108.42 MiB] [Installed]
extra/noto-fonts-cjk 20230817-1 [0 B 298.08 MiB] [Installed]
extra/noto-fonts-emoji 1:2.042-1 [0 B 10.11 MiB] [Installed]
extra/noto-fonts-extra 1:24.2.1-1 [0 B 318.79 MiB] [Installed]
extra/ttf-bitstream-vera 1.10-15 [0 B 570.63 KiB] [Installed]
extra/ttf-dejavu 2.37+18+g9b5d1b2f-6 [0 B 9.79 MiB] [Installed]
extra/ttf-nerd-fonts-symbols 3.1.1-1 [0 B 1.82 MiB] [Installed] (nerd-fonts)
extra/ttf-nerd-fonts-symbols-common 3.1.1-1 [0 B 48.45 KiB] [Installed]
extra/xorg-fonts-encodings 1.0.7-1 [568.71 KiB 628.47 KiB] [Installed] (xorg-fonts xorg)
extra/xorg-mkfontscale 1.2.2-1 [0 B 47.67 KiB] [Installed] (xorg-apps xorg)
    Installs all the soundfont packages in the AUR

→「adobe-source-code-pro-fonts」は追加でインストールしていますが、

イメージのサイズを小さくするなら、アンインストール

-

6). 「vagrant」側は、日本語化していません:

[vagrant@vagrant ~]$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

-

7). 日本語入力は「ibus-anthy」と「ibus-mozc」をインストールしていますが、「vagrant」側は使える設定にしていません:

[vagrant@vagrant ~]$ paru -Ss ibus | grep Install | grep ibus-
extra/ibus-anthy 1.5.15-1 [0 B 9.09 MiB] [Installed]
aur/ibus-mozc 2.29.5374.102-1 [+16 ~0.02] [Installed: 2.29.5346.102-2]

→イメージのサイズを小さくするなら、「ibus-mozc」をアンインストール

-

-


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

3-3. 参考:「ssh 接続」時、または日本語化されていない「vagrant」で、日本語化できるファイルを準備:

-

デスクトップを日本語化しなくても、「ssh 接続」時に日本語化できます:

-

1). 作成:

[vagrant@vagrant ~]$ nano /home/vagrant/.jp
export LANG=ja_JP.UTF-8

→Ctrl+O で保存
→Ctrl+X で終了

-

2). 「ssh 接続」時に日本語表示したいときに実行:

[vagrant@vagrant ~]$ source .jp

→ピリオド「.」があるので注意:

-

3). ロケールが変更されます:

[vagrant@vagrant ~]$ locale
LANG=ja_JP.UTF-8          ←(注目)
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC=ja_JP.UTF-8
LC_TIME=ja_JP.UTF-8
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY=ja_JP.UTF-8
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER=ja_JP.UTF-8
LC_NAME=ja_JP.UTF-8
LC_ADDRESS=ja_JP.UTF-8
LC_TELEPHONE=ja_JP.UTF-8
LC_MEASUREMENT=ja_JP.UTF-8
LC_IDENTIFICATION=ja_JP.UTF-8
LC_ALL=

-

4). 実行後の使用例:

-

例1:
[vagrant@vagrant ~]$ pacman -Ss paru
endeavouros/paru 2.0.1-1 [インストール済み]
    Feature packed AUR helper

→「Installed」の部分が日本語表示になりました

-

例2:

デスクトップで Windows+Enter で「端末」を起動して、

[vagrant@vagrant ~]$ featherpad

→「featherpad」が日本語で起動されます:

設定が楽にできます

-

5). 参考: ログアウトすると日本語化は解除されます:

[vagrant@vagrant ~]$ exit
ログアウト
ubn@ubn-box:~/ダウンロード/vm/endeavour-base2$ 

-

-


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

3-4. 「vagrant」ユーザで、「Openbox」デスクトップ環境を設定:

-

1). デスクトップ周りの設定の手順は、下記を参照:

〈H170-6〉デスクトップ周りの設定:

-

2). 作業フォルダは、

$ cd ~/ダウンロード/vm/endeavour-base-jp/

でなく、

$ cd ~/ダウンロード/vm/endeavour-base2/

に置き換えてください

-

3). 「mine」ユーザでなく、「vagrant」ユーザに対して同じ設定をします

-

4). 「アプリ」の設定は、「vagrant」ユーザにログインして、アプリを起動して設定します

「↑」「↓」キーで「vagrant」ユーザを選んで、パスワードは「vagrant」を入力します。

-

5). 「端末」でのプロンプト:

[vagrant@vagrant ~]$ 

-

6). 「featherpad」の設定時:

[vagrant@vagrant ~]$ source .jp

→ピリオド「.」があるので注意:

-

[vagrant@vagrant ~]$ featherpad

→日本語で設定できます

-

7). 設定が完了:

→パネルの表示が正常です

-

8). 設定が終わったら、「仮想マシン」を再起動:

[vagrant@vagrant ~]$ sudo reboot
Broadcast message from root@vagrant on pts/2 (Wed 2024-02-14 09:54:23 JST):

The system will reboot now!

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

→「ssh 接続」は解除されて、ホストOS のプロンプトに戻ります:

-

9). 「仮想マシン」は再起動されるので、ログイン画面が表示されるまで待ちます:

-

-


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

4. GUI で使う「mine」ユーザを削除:

-

「Box」を公開する場合を考え、余計なものを削除して、「vagrant」ユーザのみにしました:

-


1). ssh 接続して、操作:

$ cd ~/ダウンロード/vm/endeavour-base2
$ vgrant ssh
vagrant@127.0.0.1's password: 
Last login: Wed Feb 14 08:09:45 2024 from 10.0.2.2
[vagrant@vagrant ~]$ 

→パスワードは「vagrant」を入力

-


2). 「home」の確認:

[vagrant@vagrant ~]$ ls -lAp /home/
drwx------ 16 mine    mine    4096  2月 13 19:06 mine/
drwx------ 16 vagrant vagrant 4096  2月 14 10:21 vagrant/

-


3). 「mine」ユーザの確認:

[vagrant@vagrant ~]$ id mine
uid=1001(mine) gid=1001(mine) groups=1001(mine),3(sys),998(wheel),981(rfkill)

→ユーザを追加するときの参考にすると良いです

-

[vagrant@vagrant ~]$ sudo ls -lAp /home/mine
drwx------  3 mine mine 4096  2月 13 19:06 .anthy/
-rw-------  1 mine mine 5411  2月 13 19:05 .bash_history
-rw-r--r--  1 mine mine   21  1月 16 19:48 .bash_logout
-rw-r--r--  1 mine mine   58  1月 31 19:12 .bash_profile
-rwxr-xr-x  1 mine mine 2691 11月 17 20:33 .bashrc
drwx------ 12 mine mine 4096  2月  1 10:58 .cache/
drwxr-xr-x 18 mine mine 4096  2月  1 13:28 .config/
drwxr-xr-x  2 mine mine 4096  1月 30 16:47 Desktop/
-rw-r--r--  1 mine mine   26  1月 30 17:24 .dmrc
drwxr-xr-x  2 mine mine 4096  1月 30 16:47 Documents/
drwxr-xr-x  3 mine mine 4096  1月 30 16:50 Downloads/
-rw-r--r--  1 mine mine  575  1月 30 16:55 .gtkrc-2.0
drwx------  4 mine mine 4096  1月 30 17:37 .local/
drwx------  4 mine mine 4096  1月 31 15:34 .mozilla/
drwxr-xr-x  2 mine mine 4096  1月 30 16:47 Music/
drwxr-xr-x  2 mine mine 4096  1月 31 13:46 Pictures/
drwxr-xr-x  2 mine mine 4096  1月 30 16:47 Public/
drwxr-xr-x  2 mine mine 4096  1月 30 16:47 Templates/
drwxr-xr-x  3 mine mine 4096  1月 30 16:55 .themes/
-rw-r-----  1 mine mine    5  2月 13 19:04 .vboxclient-clipboard-tty7-control.pid
-rw-r-----  1 mine mine    5  2月  5 10:08 .vboxclient-display-svga-x11-tty7-control.pid
-rw-r-----  1 mine mine    5  2月 13 19:04 .vboxclient-draganddrop-tty7-control.pid
-rw-r-----  1 mine mine    5  2月 13 19:04 .vboxclient-hostversion-tty7-control.pid
-rw-r-----  1 mine mine    5  2月 13 19:04 .vboxclient-seamless-tty7-control.pid
-rw-r-----  1 mine mine    5  2月 13 19:04 .vboxclient-vmsvga-session-tty7-control.pid
drwxr-xr-x  2 mine mine 4096  1月 30 16:47 Videos/
-rw-------  1 mine mine    0  2月 13 19:06 .Xauthority
-rw-r--r--  1 mine mine  103  2月  1 10:43 .xprofile
-rw-------  1 mine mine 8426  2月 13 19:06 .xsession-errors
-rw-------  1 mine mine 8597  2月 13 19:02 .xsession-errors.old

-


4). 「mine」ユーザを削除:

削除対象のユーザがログインしている場合削除出来ません:

[vagrant@vagrant ~]$ sudo userdel -r mine
userdel: mine mail spool (/var/spool/mail/mine) not found

→「-r」は、ユーザ削除と同時に、ユーザの「ホーム」フォルダを削除します

-


5). 「mine」フォルダが削除されたことを確認:

[vagrant@vagrant ~]$ ls -lAp /home/
drwx------ 16 vagrant vagrant 4096  2月 14 10:21 vagrant/

→削除されました

-


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

[vagrant@vagrant ~]$ sudo reboot

-


7). GUI の「ログイン」画面が表示:

→「mine」が表示されず、「vagrant」ユーザだけが表示されるかを確認:

-

vagrant」ユーザでログイン

→パスワードは「vagrant」を入力

-


8). デスクトップ画面が表示:

Window+Enter で「端末」を起動して、ホストOS のエディタやブラウザ間で、

クリップボードの共有」機能が使えるか確認:

右クリック→「C」で、コピー

マウスの中央ボタンで、貼付け

または、右クリック→「V」で、貼付け

-

-


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

5. 参考:「仮想マシン」の立ち上げや、電源オフ時に ssh の警告が表示される件の回避:

-

こちらの作業は実施しなくても問題ありません:

本来は、「認証失敗」でリトライしっ放しでループします。
こちらは回避策で「Vagrantfile」の7行目でタイムアウトするように設定したので、警告が表示される だけです。

-

Vagrant で管理されていない、「VirtualBox」の通常の「仮想マシン」から「Box」を作成すると、ssh 認証キーが.box に同梱されません

Vagrant 用公開鍵認証キーの取得をやり直せば 解消します:
そして、Vagrant で管理している、id 指定で「Box」を作成すれば同梱されます

vagrant ssh-config」の認証キーのパス指定が 1行 であれば 、同梱されています。

-


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

$ cd ~/ダウンロード/vm/endeavour-base2/
$ vagrant up

-


2). 「ssh 接続」:

$ cd ~/ダウンロード/vm/endeavour-base2/
$ vagrant ssh
vagrant@127.0.0.1's password: 
Last login: Mon Feb 12 21:48:07 2024 from 10.0.2.2
[vagrant@vagrant ~]$ 

-

3). Vagrant 用公開鍵認証キーの取得をやり直し:

$ mkdir -p /home/vagrant/.ssh
$ chmod 700 /home/vagrant/.ssh

$ cd /home/vagrant/.ssh 
$ curl -k -L -o authorized_keys 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
$ chmod 600 /home/vagrant/.ssh/authorized_keys
$ chown -R vagrant:vagrant /home/vagrant/.ssh

-


4). 「ssh 接続」の終了:

[vagrant@vagrant .ssh]$ exit
logout
ubn@ubn-box:~/ダウンロード/vm/endeavour-base2$ 

→ホストOS のプロンプトに戻りました

-

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

$ cd ~/ダウンロード/vm/endeavour-base2
$ vagrant halt
==> default: Attempting graceful shutdown of VM...
    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...
ubn@ubn-box:~/ダウンロード/vm/endeavour-base2$ 

和訳:

==> default: 仮想マシン を正常にシャットダウンしようとしています...
    default: 
    default: Vagrant の安全でないキーが検出されました。 Vagrant は、セキュリティを
    default: 向上させるために、これを新しく生成されたキーペアに自動的に置き換えます。
    default: 
    default: 生成された公開キーをゲスト内に挿入しています...
    default: 安全でないキーが存在する場合はゲストから削除しています...
    default: キーが挿入されました!切断し、新しい SSH キーを使用して再接続しています...
ubn@ubn-box:~/ダウンロード/vm/endeavour-base2$ 

→「仮想マシン」の電源オフ時に、ssh の認証キーが「自動的に更新」されました:

これは Vagrant の機能で、この機能が働いたのは、「項番 3).」でわざと「安全でないキー」を設定したからです。通常であれば、ゲストOS でキーを生成してセットする必要があります。

-


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

$ cd ~/ダウンロード/vm/endeavour-base2
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> 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: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /home/ubn/ダウンロード/vm/endeavour-base2
ubn@ubn-box:~/ダウンロード/vm/endeavour-base2$ 

→「仮想マシン」の立ち上げ時の「警告表示」が解消:

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

-


7). 「仮想マシン」の電源オフ(シャットダウン):

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

→「仮想マシン」の電源オフ時の「警告表示」が解消:

-

-


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

6. 「仮想マシン」のメモリを「2048 MB」に設定:

-

「Box」を公開する場合を考え、「4096 MB」だと大きいので「2048 MB」に変更:

-


1). 「VirtualBox」マネージャの画面にて、

システム →メインメモリー

4096 MB →「2048 MB」に変更されていることを確認:

-


2). 変更した場合は、「仮想マシン」を起動して、正常に立ち上がるか確認:

-

-


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

7. Vagrant で管理された「仮想マシン」から「Box」を作成:

-

参考:

Vagrant 実践編2: 既存の「EndeavourOS」(Openbox) から「Box」を作成〈H170-3〉

-

1). VirtualBox にて、「仮想マシン」の名前(フォルダ名)を確認:

$ ls -1 ~/'VirtualBox VMs'/
endeavour-base-jp_mine     ←原本のクローン: 保存用
endeavour-base2_default_1707859316586_36421 ←(注目)

-

2). Vagrant にて、「仮想マシン」の名前(フォルダ名)を確認:

$ vagrant global-status
id       name    provider   state    directory                           
-------------------------------------------------------------------------
93eef7c  default virtualbox poweroff /home/ubn/ダウンロード/vm/endeavour-base2 
:

→id は「93eef7c」です

-

→「仮想マシン」の「endeavour-base2_default_1707859316586_36421」から「Box」を作成します:

-

-


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

7-1. 「仮想マシン」から「Box」を作成:

-

1). 「.box」ファイルを作成したい場所を準備:

すでに作成済みです:

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

-

2). 「.box」ファイルを作成する場所に移動:

$ cd ~/ダウンロード/vm/box-share/

-

$ ls -lA
:
-rw-rw-r-- 1 ubn ubn  2958974232 12月 20 21:30 pkg-EndeavourOS_base-inst.box
-rw-rw-r-- 1 ubn ubn 10104176322  2月 14 01:29 pkg-EndeavourOS_base2.box

-

3). 「.box」ファイルを作成:

$ vagrant package 93eef7c --output pkg-EndeavourOS_base3.box
==> default: Clearing any previously set forwarded ports...
==> default: Exporting VM...

「93eef7c」は、「Vagrant」の仮想マシンの「id」です。 これからベースとなる「Box」ファイルが作成されます。

↓ 時間がかかりました

==> default: Compressing package to: /home/ubn/ダウンロード/vm/box-share/pkg-EndeavourOS_base3.box

「Box」の元となる仮想マシン名は「default」です。

↓ 時間がかかりました

ubn@ubn-box:~/ダウンロード/vm/box-share$ 

→プロンプトに戻りました。

-

4). 作成された「.box」ファイルを確認:

$ ls -lA
:
-rw-rw-r-- 1 ubn ubn  2958974232 12月 20 21:30 pkg-EndeavourOS_base-inst.box
-rw-rw-r-- 1 ubn ubn 10104176322  2月 14 01:29 pkg-EndeavourOS_base2.box
-rw-rw-r-- 1 ubn ubn 10081605005  2月 14 14:06 pkg-EndeavourOS_base3.box ←(注目)

→作業フォルダに、「pkg-EndeavourOS_base3.box」ファイルが作成されました:

サイズは、「10 GB」ほど

-

-


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

7-2. 作成された「Box」ファイルを「Box」の一覧に追加:

-

参考:

Vagrant 実践編2: 既存の「EndeavourOS」(Openbox) から「Box」を作成〈H170-3〉

-


1). できた「Box」ファイルをホームの「Box」一覧に追加:

$ cd ~/ダウンロード/vm/box-share/
$ vagrant box add --name Endeav-base3 pkg-EndeavourOS_base3.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'Endeav-base3' (v0) for provider: 
    box: Unpacking necessary files from: file:///home/ubn/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89/vm/box-share/pkg-EndeavourOS_base3.box
Progress: 21% (Rate: 84.7M/s, Estimated time remaining: 0:01:00)

↓ ファイルを解凍中: カウントUP

==> box: Successfully added box 'Endeav-base3' (v0) for ''!
ubn@ubn-box:~/ダウンロード/vm/box-share$ 

プロンプトに戻りました。

-


2). 「Box」の一覧に追加されたか確認:

$ vagrant box list
Endeav-base2 (virtualbox, 0)
Endeav-base3 (virtualbox, 0)           ←(追加)

-


3). 参考: ホームの「Box」の一覧にあるファイルを確認:

$ ls -lA ~/.vagrant.d/boxes/Endeav-base3/0/virtualbox
-rw-rw-r-- 1 ubn ubn         630  2月 14 15:10 Vagrantfile
-rw-rw-r-- 1 ubn ubn 10172759552  2月 14 15:13 box-disk001.vmdk
-rwx------ 1 ubn ubn        9232  2月 14 15:13 box.ovf
-rw-rw-r-- 1 ubn ubn          25  2月 14 15:13 metadata.json
-rw------- 1 ubn ubn         400  2月 14 15:13 vagrant_private_key

→「vagrant_private_key」があります

-

参考: ホームにある「Vagrantfile」の内容を確認:
$ cat ~/.vagrant.d/boxes/Endeav-base3/0/virtualbox/Vagrantfile
Vagrant::Config.run do |config|
  # This Vagrantfile is auto-generated by `vagrant package` to contain
  # the MAC address of the box. Custom configuration should be placed in
  # the actual `Vagrantfile` in this box.
  config.vm.base_mac = "080027B2BB06"
end

# Load include vagrant file if it exists after the auto-generated
# so it can override any of the settings
include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
load include_vagrantfile if File.exist?(include_vagrantfile)

Vagrant.configure("2") do |config|
  config.ssh.private_key_path = File.expand_path("../vagrant_private_key", __FILE__)
end

→次々に組み込まれるベースとなる「Vagrantfile」ファイルです:

こちらで、「Mac アドレス」が指定されています:
また、「認証キー」の読み込みが追加されています:

-

-


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

7-3. 「Vagrantfile」の作成:

-

1). 「仮想マシン」を管理する「作業フォルダ」を準備:

別の「作業フォルダ」を準備:

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

→「仮想マシン」を管理する場所になります

-

「作業フォルダ」は使い回すのでなく、新しい名前で作成した方が混乱しないと思います。

-


2). 「Vagrantfile」の作成:

$ cd ~/ダウンロード/vm/endeavour-base3/
$ nano Vagrantfile

↓ すべて貼付け:

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

Vagrant.configure("2") do |config|
  config.vm.box = "Endeav-base3"
  #config.vm.boot_timeout = 300
  config.vm.boot_timeout = 60
  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    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

→メモリ「2048」MB に、ディスプレイを 「vmsvga」に修正しました

→Crtl+O で、保存

→Crtl+X で、終了

-

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

-

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

追記: GUI(デスクトップ環境)を使う場合の設定(修正版):
(1).「Ubuntu」の場合:

vb.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"]」の行を有効にすると、
ウィンドウサイズの拡大で、リアルタイムに解像度が調整されます。

-

(2).「EndeavourOS」で、リアルタイムに解像度が調整される場合:

vb.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"]」の行を有効にすると、
ウィンドウサイズの拡大で、リアルタイムに解像度が調整されます。

-

(3).「EndeavourOS」で、リアルタイムに解像度が調整されない場合:

vb.customize ["modifyvm", :id, "--graphicscontroller", "vboxsvga"]」の行を有効にすると、
ログアウト直前の解像度に調整されます。つまり、仮対応と言えます。

-

リアルタイムに解像度が調整されない場合は、「GuestAdditions」のインストールで失敗している可能性があります:

→例えば、ログイン後、デスクトップ画面で、一瞬だけ下記の「エラー通知」が表示されるときは注意:

VBoxClient: the VirtualBox kernel service is not running. Exiting.

→回避策は、「GuestAdditions」の再インストールですが、 それでもダメなときは「こちら」を参照:

-


3). 作成されたか確認:

$ ls -1Ap
Vagrantfile         ←(注目)

-

-


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

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

-


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

$ cd ~/ダウンロード/vm/endeavour-base3/
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'Endeav-base3'...
Progress: 10%

→カウントUP

==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: endeavour-base3_default_1707892565141_70097
==> 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: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /home/ubn/ダウンロード/vm/endeavour-base3
ubn@ubn-box:~/ダウンロード/vm/endeavour-base3$ 

赤色の警告表示が解消:

→プロンプトに戻りました

-


2). 「vagrant ssh-config」の確認:

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

ssh 認証キーの行が 1つになりました

-


3). 「vagrant ssh」で、ssh 接続:

$ cd ~/ダウンロード/vm/endeavour-base3
$ vagrant ssh
Last login: Wed Feb 14 11:14:42 2024 from 10.0.2.2
[vagrant@vagrant ~]$ 

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

-

[vagrant@vagrant ~]$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

-

[vagrant@vagrant ~]$ sudo date
2024年  2月 14日 水曜日 15:45:09 JST

-

[vagrant@vagrant ~]$ ls -1Ap
.bash_history
.bash_logout
.bash_profile
.bashrc
.cache/
.config/
Desktop/
.dmrc
Documents/
Downloads/
.gtkrc-2.0
.jp
.local/
.mozilla/
Music/
Pictures/
Public/
.ssh/
Templates/
.themes/
.vboxclient-clipboard-tty7-control.pid
.vboxclient-draganddrop-tty7-control.pid
.vboxclient-hostversion-tty7-control.pid
.vboxclient-seamless-tty7-control.pid
.vboxclient-vmsvga-session-tty7-control.pid
Videos/
.Xauthority
.xsession-errors
.xsession-errors.old

-


4). 「ssh 接続」の終了:

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

→ホストOS のプロンプトに戻りました

-


5). 電源オフ:

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

時間がかかります:

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

→電源オフ時の警告表示が解消されました:

-

-


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

8. 作業で使用した「仮想マシン」等を削除:

-

仮想マシン」を使った作業は、ディスクの空きの減りが早いので、注意が必要です:

-

ディスクの空きが少ないと、システムが不調になるのと、「Box」の作成で失敗するようになるので、消してもよい「仮想マシン」等を削除しました:

-

1). VirtualBox にて、「仮想マシン」の名前(フォルダ名)を確認:

$ ls -1 ~/'VirtualBox VMs'/
endeavour-base-jp_mine                       ←原本の保存
endeavour-base2_default_1707859316586_36421  ← ★
endeavour-base3_default_1707892565141_70097  ←完成

→ ★ は、作業用なので削除可能です

-

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

$ vagrant global-status
id       name    provider   state    directory                           
-------------------------------------------------------------------------
93eef7c  default virtualbox poweroff /home/ubn/ダウンロード/vm/endeavour-base2 ← ★
7770cd7  default virtualbox poweroff /home/ubn/ダウンロード/vm/endeavour-base3
:

→ ★ は、作業用なので削除可能です

-

3). 「仮想マシン」の削除:

$ vagrant destroy 93eef7c
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Destroying VM and associated drives...

→「作業フォルダ」に移動すれば、id の指定は要りません

-

確認:

$ vagrant global-status
id       name    provider   state    directory                           
-------------------------------------------------------------------------
7770cd7  default virtualbox poweroff /home/ubn/ダウンロード/vm/endeavour-base3
:

-

4). 登録された「Box」の確認:

$ vagrant box list
Endeav-base2 (virtualbox, 0)  ← ★
Endeav-base3 (virtualbox, 0)  ←完成品

→ ★ は、作業用なので削除可能です

-

5). 「Box」の削除:

$ vagrant box remove Endeav-base2
Removing box 'Endeav-base2' (v0) with provider 'virtualbox'...

-

確認:

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

-

6). 「.box」ファイルを作成した場所を確認:

$ cd ~/ダウンロード/vm/box-share/
$ ls -lA
-rw-rw-r-- 1 ubn ubn  2958974232 12月 20 21:30 pkg-EndeavourOS_base-inst.box ←保存
-rw-rw-r-- 1 ubn ubn 10104176322  2月 14 01:29 pkg-EndeavourOS_base2.box     ← ★
-rw-rw-r-- 1 ubn ubn 10081605005  2月 14 14:06 pkg-EndeavourOS_base3.box     ←完成品

→ ★ は、作業用なので削除可能です

-

7). 「.box」ファイルを削除:

$ cd ~/ダウンロード/vm/box-share/
$ rm pkg-EndeavourOS_base2.box

-

確認:

$ ls -lA
-rw-rw-r-- 1 ubn ubn  2958974232 12月 20 21:30 pkg-EndeavourOS_base-inst.box
-rw-rw-r-- 1 ubn ubn 10081605005  2月 14 14:06 pkg-EndeavourOS_base3.box

→「EndeavourOS」のデスクトップなしの「Box」で 3 GB 弱。「Openbox」デスクトップありの「Box」で 10 GB ほどのサイズになりました:

サイズが大きいと、無料のサイトを使っての公開(「Box」の URL を登録)は難しそうですね。

-

8). ディスクの空きの確認:

Xubuntu 22.04 LTS」のファイルマネージャ「thunar」であれば、
コマンドを使うより簡単に、おおよその空きを確認できます:

→「ホーム」をクリックすると、空きが確認できます:

-

-


まとめ

過去に「EndeavourOS」の「Community Edition」のデスクトップ環境は、CD ライブ立ち上げで、インストーラを使用してインストールできました:

現在はそれができなくなったので、その中でお気に入りの「Openbox」で、色々と試してみました。

-

Vagrant であれば、何度もトライしやすいのが利点ですが、ディスクの空きには注意が必要です。

「EndeavourOS」でデスクトップなしの「Box」で 3 GB ほどだし、デスクトップありの「Box」で 10 GB、デスクトップを追加した「仮想マシン」は 25GB ほどになるので、「Box」の作成を繰り返すと、すぐにディスクの空きが減って行きます。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-