「インストール - VirtualBox」の版間の差分
(→概要) |
(→概要) |
||
(同じ利用者による、間の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><br> | <br><br> | ||
== | == 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> | ||
以下に示すURLからリポジトリファイルをダウンロードして登録する。<br> | |||
wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo | sudo cp etc/yum.repos.d | |||
<br> | |||
sudo | |||
==== 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> | ||
wget https://download.virtualbox.org/virtualbox/rpm/opensuse/virtualbox.repo | sudo cp /etc/zypp/repos.d | |||
<br> | <br> | ||
登録したリポジトリを更新する。<br> | |||
sudo zypper refresh | |||
<br><br> | |||
== VirtualBoxのインストール == | |||
まず、依存関係のライブラリをインストールする。<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__ | ||
[[カテゴリ: | [[カテゴリ: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モジュールの署名 (初めて署名する場合)
署名を登録する手順を以下に示す。
- キーペアを作成する。
openssl req -new -x509 -newkey rsa:2048 -keyout VirtualBox.priv -outform DER -out VirtualBox.der -nodes -days 36500 -subj "/CN=VirtualBox/" \
-addext "extendedKeyUsage=codeSigning"
- 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)
- MOK(Module owned Key)にキーをインポートする。
--root-pw
オプションを付加することにより、再起動時のVirtualBoxモジュールの署名において、rootパスワードが必要となる。sudo mokutil --import ./VirtualBox.der --root-pw
- PCを再起動して、VirtualBoxモジュールの署名を登録する。
sudo systemctl reboot
- 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モジュールを再署名する必要がある。
- まず、VirtualBoxを起動する。
この時、自動的にVirtualBoxモジュール(vboxdrv、vboxnetadp、vboxnetflt、vboxpci)がアップデートされたカーネル用に再構築される。 - キーペアを再作成する。
openssl req -new -x509 -newkey rsa:2048 -keyout VirtualBox.priv -outform DER -out VirtualBox.der -nodes -days 36500 -subj "/CN=VirtualBox/" \
-addext "extendedKeyUsage=codeSigning"
- 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)
- MOK(Module owned Key)にキーをインポートする。
cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
sudo mokutil --import ./VirtualBox.der --root-pw
- PCを再起動して、VirtualBoxモジュールの署名を再登録する。
sudo systemctl reboot
- VirtualBoxモジュールが正しく読み込まれているかどうかを確認する。
正常に読み込まれている場合は、"VirtualBox.der is already enrolled"と表示される。cd <VirtualBoxモジュールの署名ファイルが存在するディレクトリ>
sudo mokutil --test-key ./VirtualBox.der