とりとめも

藻類が学んだり感じたりしたことを未来の自分のために書き留めるところ

MacにVirtualBoxを入れてCentOS7を入れたメモ

ドキドキの初記事です。初めまして。

タイトルの通り、VirtualBoxをインストールしたりその上でCentOS7を動かしたりしました。
基本的なことばかりですが、備忘やブログの書き方(≒Markdown記法)の練習を兼ねてやったことをまとめます。
間違っている点や「こうしたほうがいい!」という点があればご指摘ください。

環境

VirtualBoxって何

まずは基本知識。

  • 自分のPC上で仮想OSを動かすためのソフトウェア
  • 正確にはOracle VM VirtualBOX
  • ローカルに開発環境を持てるので便利
    • 作ったり壊したりもしやすい!
  • 他の技術と組み合わせると更に素早く環境構築できる?(要勉強)
    • Vagrant(要勉強)とか
    • docker(要勉強)とか
    • chef(要勉強)とか
  • 似た仮想化製品は色々ある
    • それぞれの違いはまだ理解があやふやだし書くの大変なので省略

MacVirtualBoxを導入する

インストール

公式サイトからインストーラを入手する。ここではMacなのでOS X hostsを選択。
ダウンロードした.pkgを実行。特に変わった手順も無いので、あとは流れでお願いします。

最初の1台を作る

はじめは当然1台も仮想OSが存在しないので、まずは画面左上の「新規」をクリック。
とりあえず以下の設定で作った。ここにあとでCentOSを入れる。

f:id:marimo_san:20170205185639p:plain

  • 名前:いい感じのホスト名
  • タイプ:Linux
  • バージョン:Red Hat(64-bit)
  • モリーサイズ:1024MB ※デフォルト
  • 「仮想ハードディスクを作成する」

「作成」をクリックすると、仮想マシンの実体であるファイルの在り処やサイズを聞かれる。

f:id:marimo_san:20170205190126p:plain

  • ファイルの場所:いい感じのパス
    • デフォルトだと$HOME/VirtualBox VMs/<上で決めたホスト名>になるみたい。
  • ファイルサイズ:8GB ※好きなサイズで
  • ハードディスクのファイルタイプ:VDI
  • 物理ハードディスクにあるストレージ:可変サイズ

VirtualBoxCentOSを動かす

インストーラの入手

公式サイトからISOを入手する。色々種類があるみたいだけど、ここではminimal ISOを選択。
(ISOごとの違いはこちらの記事などに書かれてました。)

CentOSの起動

VirtualBox画面で先ほど作った仮想OSを選択し、画面上の「起動」をクリック。
起動ディスクを選んで!と英語の表示が出るので、ダウンロードしたインストーラを選択する。
CentOS Linuxのインストール画面が表示されるのでエンター。
インストールが進行していく。かっこいい。
使う言語を聞かれるので選ぶ。

ちなみに、VirtualBoxのコンソールをクリックするとマウスカーソルがコンソール画面から抜け出せなくなるけど、左の⌘commandキーで解放できる。

CentOSの初期設定(インストール続き)

「インストールの概要」で色々設定できるけど、ひとまず先へ進む。
インストールが進行する。画面には「ROOTパスワード」と「ユーザーの作成」という項目が表示される。インストールが完了したら、これらを入力して「設定完了」

ログイン画面が表示されるけど、CentOSではなくVirtualBoxVM自体の設定を先にしたいので電源オフ。

VirtualBoxのネットワーク設定

ホストOSからゲストOSにSSH接続できるようにする。
インターネット ⇔ ホストOS ⇔ ゲストOS 間の接続は、VirtualBox上の仮想のアダプタで実現する。アダプタの種類によって接続できる場所が変わる模様。以下を参考にさせて頂きました。

http://3ka2w.blog.fc2.com/blog-entry-42.html
各アダプタの概要について。

実際の設定方法について。

VirtualBoxのアダプタ設定

まずゲストOSで使うアダプタを用意する。
VirtualBox自体の「環境設定」(⌘,)から、ネットワーク→ホストオンリーネットワークを開く。
画面右の+アイコンをクリックするとアダプタができる。
できたアダプタをダブルクリックでIP等の設定が確認できる。特にいじる必要はなし。IPだけ覚えておく。デフォルトでは192.168.56.1のはず。

ゲストOSにアダプタを繋ぐ

ゲストOSの設定画面を開き、ネットワーク→アダプター2を開く。ネットワークアダプターを有効化にチェック。
割り当て:ホストオンリーアダプター
名前:さっき作ったアダプタ名
で、OK。

デフォルトのアダプター1(NAT)が、ゲストOSからインターネットへの接続を可能にするもの。
アダプター2(ホストオンリー)が、ホストOSからゲストOSへの接続を可能にするもの。

ゲストOSのIP設定

ゲストOSを起動する。ログインする。

[root@host ~]$ nmtui

NetworkManager TUIが開く。 Edit a connectionを選択する。 enp0s3がNATのアダプタで、もう片方(たぶん変な名前になってる)がホストオンリー。それぞれの設定を変更する。 (ホストオンリーのアダプタは、先に設定してからCentOSをインストールしたら変な名前になりませんでした)

NAT

以下の通り設定。
f:id:marimo_san:20170205190238p:plain

ホストオンリーアダプタ

以下の通り設定。
f:id:marimo_san:20170205190253p:plain IPv4は値を入れる必要あり。前に確認したIPと同じセグメントに属する値を入れる。今回は、デフォルト192.168.56.1なので、192.168.56.2にした。

[root@host ~]$ systemctl restart network

ネットワークサービスを再起動。

以上でホストOSからssh可能なはず。

[root@host ~]$ ip addr show

IPが反映されてること確認したり。

macのターミナルから $ ssh <作ったユーザー>@192.168.56.2$

で接続して試してみる。

共有フォルダ

必須ではないけどせっかくなので設定。
ホストOSとゲストOS間でフォルダを共有するにはゲストOSにGuest Additionsなるものをインストールする必要がある。

こちらの記事の通りコマンドを叩いた。

大まかな流れやポイントは、ゲストOSの仮想ドライブにGuest AdditionsのCDを挿入して、CDを適当なディレクトリにマウントして、CD内に用意されているスクリプトを実行するだけ。 あとはホストOS側で共有するためのフォルダを作って、ゲストOSに対してもVirtualBox上でそのフォルダを共有用に設定する。

これで、設定した共有フォルダを/media/sf_<共有フォルダ名>としてゲストOS上でも参照できる。

おわりに

こうして書くと長いですね。
自分用メモとはいえ、もう少し小分けにしたいです。

ともあれ、VirtualBoxをインストールして、その上でCentOSを動かせるようになりました。 OS導入直後にやるべきことが沢山ありそうですが、ひとまず今回はここまで。

その後、いくらでも壊せる環境ということで、 こちらの記事

こちらの記事

を参考に、gitやrubyを入れたりしました。
この辺りは分かっていないことが多すぎるので割愛。理解が深まって整理できたら書き留めたいです。
CentOSというかLinuxもほぼ初めて触りますし、macも最近使い始めたばかりなので、なんかもう分からないことだらけですね。
とりあえずVirtualBoxを使えるようになったので、色々と試してみなければ。