「インストール - VirtualBox」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の9版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
VirtualBoxは、x86およびAMD64 / Intel64仮想化製品である。<br>
VirtualBoxは、x86およびAMD64 / Intel64仮想化製品である。<br>
<br>
VirtualBoxは、非常に機能豊富な製品であるだけでなく、GNU General Public License(GPL) v2の条件の下でOSSとして無料で利用できる。<br>
VirtualBoxは、非常に機能豊富な製品であるだけでなく、GNU General Public License(GPL) v2の条件の下でOSSとして無料で利用できる。<br>
また、頻繁なリリースで積極的に開発されており、機能、サポートされるゲストOSが増え続けている。<br>
また、頻繁なリリースで積極的に開発されており、機能、サポートされるゲストOSが増え続けている。<br>
<br>
CentOSおよびSUSEにおいて、VirtualBoxのインストール手順を記載する。<br>
<br><br>
<br><br>


== VirtualBoxのインストール ==
== VirtualBoxのリポジトリの登録 ==
==== リポジトリの登録 ====
Oracle Linux、Red Hatベース、SUSE向けのリポジトリが提供されている。<br>
Oracle Linux、Red Hatベース、SUSE向けのリポジトリが提供されている。<br>
また、全てのrpmパッケージは署名されている。<br>
また、全てのrpmパッケージは署名されている。<br>
<br>
<br>
==== RHEL ====
以下に、2通りのリポジトリの登録手順を記載する。<br>
以下に、2通りのリポジトリの登録手順を記載する。<br>
* 手動で登録
* 手動で登録
28行目: 27行目:
  rpm --checksig PACKAGE_NAME
  rpm --checksig PACKAGE_NAME
<br>
<br>
Red Hat系Linuxでは、yumが公開鍵を自動的にダウンロードしてインポートするため、<br>
以下に示すURLからリポジトリファイルをダウンロードして登録する。<br>
以下からvirtualbox.repoファイルの1つを使用する場合、Red Hat系Linuxでは手動で公開鍵をインポートする必要は無い。<br>
wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo | sudo cp etc/yum.repos.d
SUSEでは、以下のコマンドを実行する必要がある。<br>
<br>
  sudo zypper refresh
 
==== SUSE ====
Oracleのrpmパッケージの公開鍵をダウンロードして、キーを追加する。
wget -q https://www.virtualbox.org/download/oracle_vbox.asc
  sudo rpm --import oracle_vbox.asc
<br>
<br>
以下に示すURLからリポジトリファイルをダウンロードして登録する。<br>
以下に示すURLからリポジトリファイルをダウンロードして登録する。<br>
* CentOS
wget https://download.virtualbox.org/virtualbox/rpm/opensuse/virtualbox.repo | sudo cp /etc/zypp/repos.d
*: <code>wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo | sudo cp etc/yum.repos.d</code>
* SUSE
*: YaST2の使用または以下のコマンドを実行して、リポジトリを登録する。
*: <code>wget https://download.virtualbox.org/virtualbox/rpm/opensuse/virtualbox.repo | sudo cp /etc/zypp/repos.d</code>
<br>
<br>
登録したリポジトリを更新する。<br>
sudo zypper refresh
<br><br>


==== VirtualBoxのインストール ====
== VirtualBoxのインストール ==
以下のコマンドを実行して、VirtuaBoxをインストールする。<br>
まず、依存関係のライブラリをインストールする。<br>
# RHEL
sudo dnf install gcc make perl kernel-devel dkms
# SUSE
sudo zypper install gcc make perl kernel-devel dkms
<br>
次に、VirtuaBoxをインストールする。<br>
# RHEL
sudo dnf install virtualbox
# SUSE
  sudo zypper install virtualbox
  sudo zypper install virtualbox
<br>
<br>
または、[https://www.virtualbox.org/wiki/Linux_Downloads Oracleの公式Web]サイトから、VirtualBoxをダウンロードしてインストールする。<br>
または、[https://www.virtualbox.org/wiki/Linux_Downloads Oracleの公式Web]サイトから、VirtualBoxをダウンロードしてインストールする。<br>
  sudo zypper install VirtualBox-*.rpm
# RHEL
sudo dnf install ./VirtualBox-*.rpm
# SUSE
  sudo zypper install ./VirtualBox-*.rpm
<br>
インストール完了後、VirtualBoxを使用するユーザをvboxusersグループに追加する。<br>
sudo usermod -aG vboxusers $USER
<br>
最後に、再ログインまたはPCを再起動する。<br>
<br><br>
 
== VirtualBox拡張パックのインストール ==
VirtualBox拡張パックは、VirtualBoxの機能を拡張する。<br>
<br>
VirtualBox RDP、PXE、E1000をサポートするROM、USB 2.0ホストコントローラのサポート、<br>
AESアルゴリズムを使用したディスクイメージの暗号化等の追加機能を提供する。<br>
<br>
まず、以下のコマンドを実行して、VirtualBox拡張パックをダウンロードする。<br>
wget http://download.virtualbox.org/virtualbox/<バージョン名>/Oracle_VM_VirtualBox_Extension_Pack-<バージョン名>.vbox-extpack
<br>
拡張パックをインストールするには、VirtualBoxのメイン画面から、[ファイル]メニューバー – [環境設定]を選択する。<br>
[環境設定]画面左の[機能拡張]から、画面右にある[+]アイコンを選択して、ダウンロードした拡張パックファイルを選択する。<br>
<br>
次に、インストール画面が表示されるので、メッセージにしたがってインストールする。<br>
<br><br>
 
== VirtualBoxモジュールの署名 (セキュアブートが有効の場合) ==
セキュアブートが有効な場合、VirtualBoxモジュールであるvboxdrv、vboxnetadp、vboxnetflt、vboxpciを署名に登録する必要がある。<br>
<br>
==== VirtualBoxモジュールの署名 (初めて署名する場合) ====
署名を登録する手順を以下に示す。<br>
# キーペアを作成する。
#: <code>openssl req -new -x509 -newkey rsa:2048 -keyout VirtualBox.priv -outform DER -out VirtualBox.der -nodes -days 36500 -subj "/CN=VirtualBox/" \</code>
#: <code>-addext "extendedKeyUsage=codeSigning"</code>
#: <br>
# VirtualBoxモジュール(vboxdrv、vboxnetadp、vboxnetflt、vboxpci)を署名する。
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxdrv)</code>
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxnetadp)</code>
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxnetflt)</code>
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxpci)</code>
#: <br>
# MOK(Module owned Key)にキーをインポートする。<br><code>--root-pw</code>オプションを付加することにより、再起動時のVirtualBoxモジュールの署名において、rootパスワードが必要となる。
#: <code>sudo mokutil --import ./VirtualBox.der --root-pw</code>
#: <br>
# PCを再起動して、VirtualBoxモジュールの署名を登録する。
#: <code>sudo systemctl reboot</code>
#: <br>
# VirtualBoxモジュールが正しく読み込まれているかどうかを確認する。<br>正常に読み込まれている場合は、<u>"VirtualBox.der is already enrolled"</u>と表示される。
#: <code>cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ></code>
#: <code>sudo mokutil --test-key ./VirtualBox.der</code>
<br>
この作業は1度だけ必要となることに注意する。<br>
作成したキーは信頼されるため、キーを適切に保存する必要がある。<br>
このキーで署名されたものはシステムから信頼されるため、セキュリティリスクとなる可能性があることに注意する。<br>
<br>
キーのパスワードを追加することもできる。<br>
cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
openssl rsa -des3 -in ./VirtualBox.priv -out ./VirtualBox.priv
<br>
キーのパスワードの削除もできる。<br>
cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
openssl rsa -in ./VirtualBox.priv -out ./VirtualBox.priv
<br>
==== VirtualBoxモジュールの署名の削除 ====
VirtualBoxモジュールの署名を削除する場合、以下のコマンドを実行して再起動する。<br>
<code>--root-pw</code>オプションを付加することにより、再起動時のVirtualBoxモジュールの署名の削除において、rootパスワードが必要となる。<br>
cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
sudo mokutil --delete ./VirtualBox.der --root-pw
sudo systemctl reboot
<br>
==== Linuxカーネル更新後の再署名 ====
Linuxカーネルをアップデートした場合、以下に示す手順にしたがってVirtualBoxモジュールを再署名する必要がある。<br>
# まず、VirtualBoxを起動する。<br>この時、自動的にVirtualBoxモジュール(vboxdrv、vboxnetadp、vboxnetflt、vboxpci)がアップデートされたカーネル用に再構築される。
#: <br>
# キーペアを再作成する。
#: <code>openssl req -new -x509 -newkey rsa:2048 -keyout VirtualBox.priv -outform DER -out VirtualBox.der -nodes -days 36500 -subj "/CN=VirtualBox/" \</code>
#: <code>-addext "extendedKeyUsage=codeSigning"</code>
#: <br>
# VirtualBoxモジュール(vboxdrv、vboxnetadp、vboxnetflt、vboxpci)を署名する。
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxdrv)</code>
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxnetadp)</code>
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxnetflt)</code>
#: <code>sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxpci)</code>
#: <br>
# MOK(Module owned Key)にキーをインポートする。
#: <code>cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ></code>
#: <code>sudo mokutil --import ./VirtualBox.der --root-pw</code>
#: <br>
# PCを再起動して、VirtualBoxモジュールの署名を再登録する。
#: <code>sudo systemctl reboot</code>
#: <br>
# VirtualBoxモジュールが正しく読み込まれているかどうかを確認する。<br>正常に読み込まれている場合は、"VirtualBox.der is already enrolled"と表示される。
#: <code>cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ></code>
#: <code>sudo mokutil --test-key ./VirtualBox.der</code>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:CentOS]][[カテゴリ:SUSE]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]]

2024年1月11日 (木) 00:23時点における最新版

概要

VirtualBoxは、x86およびAMD64 / Intel64仮想化製品である。

VirtualBoxは、非常に機能豊富な製品であるだけでなく、GNU General Public License(GPL) v2の条件の下でOSSとして無料で利用できる。
また、頻繁なリリースで積極的に開発されており、機能、サポートされるゲストOSが増え続けている。


VirtualBoxのリポジトリの登録

Oracle Linux、Red Hatベース、SUSE向けのリポジトリが提供されている。
また、全てのrpmパッケージは署名されている。

RHEL

以下に、2通りのリポジトリの登録手順を記載する。

  • 手動で登録
    Oracleのrpmパッケージの公開鍵を公式Webサイトからダウンロードして、キーを追加する。
    sudo rpm --import oracle_vbox.asc

  • 自動登録
    以下のコマンドを実行して、ダウンロードと登録を同時に実行する。
    wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm--import-


登録した公開鍵となるフィンガープリントは、以下の通りである。

7B0F AB3A 13B9 0743 5925 D9C9 5442 2A4B 98AB 5139
Oracle Corporation(VirtualBoxアーカイブ署名キー)<info@virtualbox.org>


公開鍵をインポートした後、以下のコマンドを実行することで、パッケージの署名を確認することができる。

rpm --checksig PACKAGE_NAME


以下に示すURLからリポジトリファイルをダウンロードして登録する。

wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo | sudo cp etc/yum.repos.d


SUSE

Oracleのrpmパッケージの公開鍵をダウンロードして、キーを追加する。

wget -q https://www.virtualbox.org/download/oracle_vbox.asc
sudo rpm --import oracle_vbox.asc


以下に示すURLからリポジトリファイルをダウンロードして登録する。
wget https://download.virtualbox.org/virtualbox/rpm/opensuse/virtualbox.repo | sudo cp /etc/zypp/repos.d


登録したリポジトリを更新する。

sudo zypper refresh



VirtualBoxのインストール

まず、依存関係のライブラリをインストールする。

# RHEL
sudo dnf install gcc make perl kernel-devel dkms

# SUSE
sudo zypper install gcc make perl kernel-devel dkms


次に、VirtuaBoxをインストールする。

# RHEL
sudo dnf install virtualbox

# SUSE
sudo zypper install virtualbox


または、Oracleの公式Webサイトから、VirtualBoxをダウンロードしてインストールする。

# RHEL
sudo dnf install ./VirtualBox-*.rpm

# SUSE
sudo zypper install ./VirtualBox-*.rpm


インストール完了後、VirtualBoxを使用するユーザをvboxusersグループに追加する。

sudo usermod -aG vboxusers $USER


最後に、再ログインまたはPCを再起動する。


VirtualBox拡張パックのインストール

VirtualBox拡張パックは、VirtualBoxの機能を拡張する。

VirtualBox RDP、PXE、E1000をサポートするROM、USB 2.0ホストコントローラのサポート、
AESアルゴリズムを使用したディスクイメージの暗号化等の追加機能を提供する。

まず、以下のコマンドを実行して、VirtualBox拡張パックをダウンロードする。

wget http://download.virtualbox.org/virtualbox/<バージョン名>/Oracle_VM_VirtualBox_Extension_Pack-<バージョン名>.vbox-extpack


拡張パックをインストールするには、VirtualBoxのメイン画面から、[ファイル]メニューバー – [環境設定]を選択する。
[環境設定]画面左の[機能拡張]から、画面右にある[+]アイコンを選択して、ダウンロードした拡張パックファイルを選択する。

次に、インストール画面が表示されるので、メッセージにしたがってインストールする。


VirtualBoxモジュールの署名 (セキュアブートが有効の場合)

セキュアブートが有効な場合、VirtualBoxモジュールであるvboxdrv、vboxnetadp、vboxnetflt、vboxpciを署名に登録する必要がある。

VirtualBoxモジュールの署名 (初めて署名する場合)

署名を登録する手順を以下に示す。

  1. キーペアを作成する。
    openssl req -new -x509 -newkey rsa:2048 -keyout VirtualBox.priv -outform DER -out VirtualBox.der -nodes -days 36500 -subj "/CN=VirtualBox/" \
    -addext "extendedKeyUsage=codeSigning"

  2. VirtualBoxモジュール(vboxdrv、vboxnetadp、vboxnetflt、vboxpci)を署名する。
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxdrv)
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxnetadp)
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxnetflt)
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxpci)

  3. MOK(Module owned Key)にキーをインポートする。
    --root-pwオプションを付加することにより、再起動時のVirtualBoxモジュールの署名において、rootパスワードが必要となる。
    sudo mokutil --import ./VirtualBox.der --root-pw

  4. PCを再起動して、VirtualBoxモジュールの署名を登録する。
    sudo systemctl reboot

  5. VirtualBoxモジュールが正しく読み込まれているかどうかを確認する。
    正常に読み込まれている場合は、"VirtualBox.der is already enrolled"と表示される。
    cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
    sudo mokutil --test-key ./VirtualBox.der


この作業は1度だけ必要となることに注意する。
作成したキーは信頼されるため、キーを適切に保存する必要がある。
このキーで署名されたものはシステムから信頼されるため、セキュリティリスクとなる可能性があることに注意する。

キーのパスワードを追加することもできる。

cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
openssl rsa -des3 -in ./VirtualBox.priv -out ./VirtualBox.priv


キーのパスワードの削除もできる。

cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
openssl rsa -in ./VirtualBox.priv -out ./VirtualBox.priv


VirtualBoxモジュールの署名の削除

VirtualBoxモジュールの署名を削除する場合、以下のコマンドを実行して再起動する。
--root-pwオプションを付加することにより、再起動時のVirtualBoxモジュールの署名の削除において、rootパスワードが必要となる。

cd <VMwareモジュールの署名ファイルが存在するディレクトリ>
sudo mokutil --delete ./VirtualBox.der --root-pw
sudo systemctl reboot


Linuxカーネル更新後の再署名

Linuxカーネルをアップデートした場合、以下に示す手順にしたがってVirtualBoxモジュールを再署名する必要がある。

  1. まず、VirtualBoxを起動する。
    この時、自動的にVirtualBoxモジュール(vboxdrv、vboxnetadp、vboxnetflt、vboxpci)がアップデートされたカーネル用に再構築される。

  2. キーペアを再作成する。
    openssl req -new -x509 -newkey rsa:2048 -keyout VirtualBox.priv -outform DER -out VirtualBox.der -nodes -days 36500 -subj "/CN=VirtualBox/" \
    -addext "extendedKeyUsage=codeSigning"

  3. VirtualBoxモジュール(vboxdrv、vboxnetadp、vboxnetflt、vboxpci)を署名する。
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxdrv)
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxnetadp)
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxnetflt)
    sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./VirtualBox.priv ./VirtualBox.der $(/sbin/modinfo -n vboxpci)

  4. MOK(Module owned Key)にキーをインポートする。
    cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
    sudo mokutil --import ./VirtualBox.der --root-pw

  5. PCを再起動して、VirtualBoxモジュールの署名を再登録する。
    sudo systemctl reboot

  6. VirtualBoxモジュールが正しく読み込まれているかどうかを確認する。
    正常に読み込まれている場合は、"VirtualBox.der is already enrolled"と表示される。
    cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
    sudo mokutil --test-key ./VirtualBox.der