VirtualBoxを利用すると、サーバーのテスト環境が手軽に構築・複製できて便利です。
今現在、多くのサーバーで使われているCentOS 7をサクッとVirtualBoxにインストールして、SSHで仮想環境内のCentOS 7に接続してyumでアップデートを実行するまでの手順を解説します。
VirtualBoxのダウンロードとインストール
VirtualBox公式サイトからVirtualBoxをダウンロードしてインストールします。

■VirtualBox公式ダウンロードページ
https://www.virtualbox.org/wiki/Downloads
VirtualBoxのインストールはウィザードに従ってデフォルト設定のまま進めていけば特に問題はありません。
CentOS 7をダウンロード
公式サイトからCentOS 7の「Minimal ISO」をダウンロードしておきます。

■CentOS公式ダウンロードページ
https://www.centos.org/download/

お好きな場所(ミラーサイト)からダウンロードします。
VirtualBoxに仮想マシンをセットアップ
VirtualBoxを起動して上部メニューから「新規(N)」をクリックします。

仮想マシンの作成ウィンドウが開くので以下の内容で設定します。
- Name:「CentOS 7」※これは何でも構いません。
- Machine Folder:仮想マシンのイメージを保存する場所です。※これもどこでも構いません。変更する場合は空きスペースに余裕のある場所を選択しましょう。
- タイプ:「Linux」
- バージョン:「Other Linux(64-bit)」

「次へ」をクリックします。
メモリのサイズを設定します。※これは任意で調整してください。

ウィザードを進めていきます。※基本的に以降の設定はデフォルトのままでOKです。




ウィザードが終了したら作成された仮想マシンを選択して「設定」をクリックします。

「システム」→「プロセッサー」タブを開き、使用するCPUの数を変更して「OK」をクリックします。※1CPUだととても遅いので2CPU以上を割り当てましょう。

これで仮想マシンのセットアップ作業が完了しました。
VirtualBoxにCentOS 7をインストール
仮想マシンを起動します。

フォルダのマークをクリックして起動ハードディスクを選択します。

先ほどダウンロードしておいたCentOS 7 MinimalのISOイメージを選択して「開く」をクリックします。

「Install CentOS 7」を矢印キーで選択し、Enterボタンをクリックします。

「日本語」を選択し、「続行」をクリックします。

システムの「インストール先」をクリックします。

そのまま「完了」をクリックします。

「ネットワークとホスト名」をクリックします。

Ethernet(enp0s3)を「オン」にして「完了」をクリックします。

「インストールの開始」をクリックします。

インストールが始まるので、ユーザーの設定で「ROOTパスワード」クリックして設定しておきます。


インストールが終了するまでしばらく待ちます。

インストールが完了したので再起動します。

再起動が正常に行われてインストールが成功したことを確認したら一旦仮想マシンを停止します。

仮想マシンを選択して「設定」をクリックします。

CentOS 7設定の「ネットワーク」をクリックし、「アダプター 2」の部分で以下の設定を行います。(※アダプター 1はNATで利用しています。)
- 「ネットワークアダプターを有効化」にチェック
- 「割り当て」で「ホストオンリーアダプター」を選択
これで「OK」をクリックします。

再度仮想マシンを起動します。

rootでログインします。

ipコマンドで現在のIPアドレスを調査します。
# ip addr

「192.168.56.115」がこの仮想マシンのIPアドレスだということが判明しました。
これでSSHで接続が可能です。お好きなSSHターミナルソフトで接続してください。

※当方はRLoginで接続しました。
以降はSSHでの作業になります。
SSHでyumの実行
yum updateを実行します。
# yum -y update
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/4): base/7/x86_64/group_gz | 166 kB 00:00:00
(2/4): extras/7/x86_64/primary_db | 156 kB 00:00:00
(3/4): updates/7/x86_64/primary_db | 2.4 MB 00:00:00
(4/4): base/7/x86_64/primary_db | 6.0 MB 00:00:03
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ NetworkManager.x86_64 1:1.12.0-6.el7 を 更新
---> パッケージ NetworkManager.x86_64 1:1.12.0-8.el7_6 を アップデート
---> パッケージ NetworkManager-libnm.x86_64 1:1.12.0-6.el7 を 更新
---> パッケージ NetworkManager-libnm.x86_64 1:1.12.0-8.el7_6 を アップデート
---> パッケージ NetworkManager-team.x86_64 1:1.12.0-6.el7 を 更新
---> パッケージ NetworkManager-team.x86_64 1:1.12.0-8.el7_6 を アップデート
---> パッケージ NetworkManager-tui.x86_64 1:1.12.0-6.el7 を 更新
---> パッケージ NetworkManager-tui.x86_64 1:1.12.0-8.el7_6 を アップデート
---> パッケージ NetworkManager-wifi.x86_64 1:1.12.0-6.el7 を 更新
---> パッケージ NetworkManager-wifi.x86_64 1:1.12.0-8.el7_6 を アップデート
---> パッケージ bind-libs-lite.x86_64 32:9.9.4-72.el7 を 更新
---> パッケージ bind-libs-lite.x86_64 32:9.9.4-73.el7_6 を アップデート
---> パッケージ bind-license.noarch 32:9.9.4-72.el7 を 更新
---> パッケージ bind-license.noarch 32:9.9.4-73.el7_6 を アップデート
...省略...
検証中 : nss-3.36.0-7.el7_5.x86_64 78/87
検証中 : selinux-policy-targeted-3.13.1-229.el7.noarch 79/87
検証中 : 7:lvm2-2.02.180-8.el7.x86_64 80/87
検証中 : glibc-common-2.17-260.el7.x86_64 81/87
検証中 : tzdata-2018e-3.el7.noarch 82/87
検証中 : 1:NetworkManager-libnm-1.12.0-6.el7.x86_64 83/87
検証中 : kernel-tools-3.10.0-957.el7.x86_64 84/87
検証中 : cronie-1.4.11-19.el7.x86_64 85/87
検証中 : nss-util-3.36.0-1.el7_5.x86_64 86/87
検証中 : ipset-libs-6.38-2.el7.x86_64 87/87
インストール:
kernel.x86_64 0:3.10.0-957.5.1.el7
更新:
NetworkManager.x86_64 1:1.12.0-8.el7_6
NetworkManager-libnm.x86_64 1:1.12.0-8.el7_6
NetworkManager-team.x86_64 1:1.12.0-8.el7_6
NetworkManager-tui.x86_64 1:1.12.0-8.el7_6
NetworkManager-wifi.x86_64 1:1.12.0-8.el7_6
bind-libs-lite.x86_64 32:9.9.4-73.el7_6
bind-license.noarch 32:9.9.4-73.el7_6
cronie.x86_64 0:1.4.11-20.el7_6
cronie-anacron.x86_64 0:1.4.11-20.el7_6
device-mapper.x86_64 7:1.02.149-10.el7_6.3
device-mapper-event.x86_64 7:1.02.149-10.el7_6.3
device-mapper-event-libs.x86_64 7:1.02.149-10.el7_6.3
device-mapper-libs.x86_64 7:1.02.149-10.el7_6.3
freetype.x86_64 0:2.8-12.el7_6.1
glibc.x86_64 0:2.17-260.el7_6.3
glibc-common.x86_64 0:2.17-260.el7_6.3
grub2.x86_64 1:2.02-0.76.el7.centos.1
grub2-common.noarch 1:2.02-0.76.el7.centos.1
grub2-pc.x86_64 1:2.02-0.76.el7.centos.1
grub2-pc-modules.noarch 1:2.02-0.76.el7.centos.1
grub2-tools.x86_64 1:2.02-0.76.el7.centos.1
grub2-tools-extra.x86_64 1:2.02-0.76.el7.centos.1
grub2-tools-minimal.x86_64 1:2.02-0.76.el7.centos.1
ipset.x86_64 0:6.38-3.el7_6
ipset-libs.x86_64 0:6.38-3.el7_6
kernel-tools.x86_64 0:3.10.0-957.5.1.el7
kernel-tools-libs.x86_64 0:3.10.0-957.5.1.el7
krb5-libs.x86_64 0:1.15.1-37.el7_6
lvm2.x86_64 7:2.02.180-10.el7_6.3
lvm2-libs.x86_64 7:2.02.180-10.el7_6.3
nss.x86_64 0:3.36.0-7.1.el7_6
nss-sysinit.x86_64 0:3.36.0-7.1.el7_6
nss-tools.x86_64 0:3.36.0-7.1.el7_6
nss-util.x86_64 0:3.36.0-1.1.el7_6
openldap.x86_64 0:2.4.44-21.el7_6
policycoreutils.x86_64 0:2.5-29.el7_6.1
python-perf.x86_64 0:3.10.0-957.5.1.el7
selinux-policy.noarch 0:3.13.1-229.el7_6.9
selinux-policy-targeted.noarch 0:3.13.1-229.el7_6.9
systemd.x86_64 0:219-62.el7_6.3
systemd-libs.x86_64 0:219-62.el7_6.3
systemd-sysv.x86_64 0:219-62.el7_6.3
tzdata.noarch 0:2018i-1.el7
完了しました!
これで完了です。CentOS 7のテスト環境仮想サーバーのひな形の作成が完了しました。
SSHを切断し、仮想マシンを停止しましょう。
クローン作製
ここまで完了したらVirtualBoxでクローンを作成しておきます。
仮想マシンを右クリックして「クローン」をクリックします。

お好きな名前を付けて「次へ」をクリックします。

クローンのタイプで「すべてをクローン」を選択して「クローン」をクリックします。

クローンが作成されました。

今後CentOS 7をテストのためにカスタマイズする際はこのクローンを利用します。クローンならばいつでも破棄できるので思う存分テストを行うことができます。
まとめ
サーバーのテスト環境を手軽に作成したい場合はVirtualBoxを活用しましょう。
本番サーバーで運用する前のテストにはとても便利です。
以上で解決です。

