VirtualBoxの"Oracle VM VirtualBox Extension Pack"をCUIでインストール/アンインストール

タイトルどおり。Vagrantを使っていて、VirtualBoxを更新したときに、expackの更新をし忘れるとvagrant upで以下のエラーが出る。

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "c51dec44-2458-4ff4-9129-6304dce7405d", "--type", "headless"]

Stderr: VBoxManage: error: The device helper structure version has changed.
VBoxManage: error: If you have upgraded VirtualBox recently, please make sure you have terminated all VMs and upgraded any extension packs. If this error persists, try re-installing VirtualBox. (VERR_PDM_DEVHLPR3
_VERSION_MISMATCH)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

まぁ、ようはextpackを更新すれば良いのだが、たいていGUIを立ち上げてとかいう記事が多くて、毎度キレそうになる。
CUIでやるには以下の要領でやる

  • インストール済みextpackの確認
    • VBoxManage list extpacks
Extension Packs: 1
Pack no. 0:   Oracle VM VirtualBox Extension Pack
Version:      5.0.16
Revision:     105871
Edition:
Description:  USB 2.0 and USB 3.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM, Disk Encryption.
VRDE Module:  VBoxVRDP
Usable:       true
Why unusable:
  • インストール済みの古いextpackを削除

    • vboxmanage extpack uninstall "Oracle VM VirtualBox Extension Pack"
    • 要root権限
      • 言われてみれば当然だが、エラーに権限がない等の文言はないので気付きにくい。
  • 新しいextpackを用意

  • 新しいextpackのインストール

    • VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.10.vbox-extpack
    • こっちも要root権限