まーたいつもの VirtualBox と Vagrant のアップデートで vagrant ディレクトリがマウントできないやつですよ。
これ毎回何かしらコケるし、天下の Vagrant 様の力でなんとかならんのか。
- ロケ地
- VirtualBox 6.1.22
- Vagrant
- bento/rockylinux-8
以前までのエラーと違う
Vagrantfile にアップデートするなって書いてやればいいんでしょはいはい、と過去の記事を読みながら対応するも改善しない。 違う原因……ってコト?! とつぶやきながら結局エラーを追うことに。
クソ長エラー
Got different reports about installed GuestAdditions version: Virtualbox on your host claims: VBoxService inside the vm claims: 6.1.22 Going on, assuming VBoxService is correct... [default] GuestAdditions seems to be installed (6.1.22) correctly, but not running. Got different reports about installed GuestAdditions version: Virtualbox on your host claims: VBoxService inside the vm claims: 6.1.22 Going on, assuming VBoxService is correct... Redirecting to /bin/systemctl start vboxadd.service Job for vboxadd.service failed because the control process exited with error code. See "systemctl status vboxadd.service" and "journalctl -xe" for details. Redirecting to /bin/systemctl start vboxadd-service.service Job for vboxadd-service.service failed because the control process exited with error code. See "systemctl status vboxadd-service.service" and "journalctl -xe" for details. Got different reports about installed GuestAdditions version: Virtualbox on your host claims: VBoxService inside the vm claims: 6.1.22 Going on, assuming VBoxService is correct... VirtualBox Guest Additions: Starting. 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 4.18.0-305.7.1.el8_4.x86_64. VirtualBox Guest Additions: Look at /var/log/vboxadd-setup.log to find out what went wrong ValueError: File context for /opt/VBoxGuestAdditions-6.1.22/other/mount.vboxsf already defined modprobe vboxguest failed The log file /var/log/vboxadd-setup.log may contain further information. The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! /usr/sbin/rcvboxadd setup Stdout from the command: VirtualBox Guest Additions: Starting. 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 4.18.0-305.7.1.el8_4.x86_64. VirtualBox Guest Additions: Look at /var/log/vboxadd-setup.log to find out what went wrong Stderr from the command: ValueError: File context for /opt/VBoxGuestAdditions-6.1.22/other/mount.vboxsf already defined modprobe vboxguest failed The log file /var/log/vboxadd-setup.log may contain further information.
vagrant-vbguest の更新
とりあえず更新する。 新しいバージョンがあればこれで降ってくるはず。
user$ vagrant plugin install vagrant-vbguest
ゲスト側で作業する1
どうもパッケージが足りないのと、ゲスト側で SSH 越しに setup
実行しているようなので、ゲスト側に移動して作業してしまう。
[vagrant@localhost ~]$ sudo dnf install kernel-* gcc make perl [vagrant@localhost ~]$ sudo /usr/sbin/rcvboxadd setup
オアアッ、エラーが変わらない!
# snip # VirtualBox Guest Additions: Look at /var/log/vboxadd-setup.log to find out what went wrong ValueError: File context for /opt/VBoxGuestAdditions-6.1.22/other/mount.vboxsf already defined modprobe vboxguest failed The log file /var/log/vboxadd-setup.log may contain further information. The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! /usr/sbin/rcvboxadd setup Stdout from the command: VirtualBox Guest Additions: Starting. 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 4.18.0-305.7.1.el8_4.x86_64. VirtualBox Guest Additions: Look at /var/log/vboxadd-setup.log to find out what went wrong Stderr from the command: ValueError: File context for /opt/VBoxGuestAdditions-6.1.22/other/mount.vboxsf already defined modprobe vboxguest failed The log file /var/log/vboxadd-setup.log may contain further information.
ゲスト側で作業する2
最後のログを見ると新しい情報が。最初から見ろって感じでしたね。
Makefile:984: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop.
パッケージがまだ足りねえのぉ? という訳で入れてみる。
RHEL 系なので必要なのは elfutils-libelf-devel
のようです。
[vagrant@localhost ~]$ sudo dnf install elfutils-libelf-devel [vagrant@localhost ~]$ sudo /usr/sbin/rcvboxadd setup
これで、何事もなく処理が終わったように見えるので一旦 SSH セッションを抜けて vagrant halt
-> vagrant up
するも、エラーが変わらない。
ということで、再度ゲストへ SSH ログインし残されたコマンド quicksetup
を試してみる。
[vagrant@localhost ~]$ /sbin/rcvboxadd quicksetup all
特にエラーなく終わったように見える。 /sbin/rcvboxadd quicksetup <version>
の version が何を指定すればいいのかすぐに分からなかったのでとりあえず all
でお茶を濁しています。
で、これでまた SSH セッションを抜けて vagrant halt
-> vagrant up
する。
これでおわりです
これで起動時に、ホスト側の Vagrantfile があるディレクトリをゲスト側の /vagrant/
へマウントできるようになりました。
サッと書いてるのでわりと簡単に解決した感ありますが、半日使ってしまった。