xhyveを使ってmacでUbuntuを動かす方法

タイトルそのままです。
2010年?くらいからdockerやら色々な仮想化技術が発展してきて、
macやwindowsでLinux動かしたいときは、
もうvirtualboxとかvmwareとかparallelsとか使わない方がいいんだろうなあ...
と思うようになりました。

後者御三家は「ホスト型仮想化」と呼ばれ、
OSの上に仮想のハードウェアを作ってその上で別のOSを動かすわけでして、
非常にオーバーヘッドが大きいです。
最近人気のdockerは「コンテナ型仮想化」と呼ばれ、ホスト型よりオーバーヘッドが小さいです。
まあ、docker for windows/docker for macの場合は、
非Linuxプラットフォーム上でLinuxカーネルを動かす?ような作りなので、
docker on Linuxよりはオーバヘッドは大きいと思います。
しかし、流石にホスト型よりは(構造上)軽いです。

と、こういう流れだと「ではdocker for macの使い方」となりそうですが、
実は僕のポンコツmacbook airは、docker for macの必要要件メモリ4GB以上を満たしていません。
つまり使えないんですね。ハイ。

で、もう一つの仮想化技術としてOSが用意しているものがあります。
例えばLinux KVMとかwindowsのHyperVとか、
macOS Yosemiteから採用されたHypervisor.frameworkです。
docker for macは内部でHypervisor.frameworkを使っています。

で、xhyveを使うとHypervisor.frameworkを利用できるとのことですので、macでdockerでubuntuを動かせるようにしてみます。


0. コマンドラインツールのインストール
https://nahareport.blogspot.jp/2017/10/iosxcode.html
こちらを参考にどうぞ

1. xhyveのインストール
https://github.com/mist64/xhyve
からgit cloneするか、zipをダウンロードしてきて解凍します
cd xhyve  #ディレクトリに移動
make
sudo cp build/xhyve /usr/local/bin   #これでどこでも使える

僕は使ってないですが、homebrew入っている人は
brew install xhyve
でもできるらしい


2. Ubuntu serverのダウンロード
https://www.ubuntu.com/download/server
16.04.3です


3. xhyve-ubuntu
https://github.com/rimusz-lab/xhyve-ubuntu
からgit cloneするか、zipをダウンロードしてきて解凍します

cd ubuntu-xhyve-master  #ディレクトリに移動
あとは
https://github.com/rimusz-lab/xhyve-ubuntu
の手順に従うだけです。
が、実は手順の「create.sh」のところで僕のMacBook airは先に進めなくなりました...
SSDの容量不足です...(やはりポンコツ)
create.shでubuntu-xhyve-masterディレクトリの中にディスクイメージが作られるのですが、
10GB以上になります。そして時間もかかりますのでご注意。


実際に試すことができなくて残念ですが、このようにしてubuntuを使うことができます。

Comments

Popular posts from this blog

conda clean --allはやってはいけない

MacbookやiMacのSSD/HDDを完全消去する(High Sierra対応版)

意外とめんどいmac OSXでのddコマンド