Ubuntu 12.
さらに今回のリリースでは,
LXCで仮想環境を作る
LXCはLinuxカーネルのControl GroupやNamespaceという機能を使って,
例えば第201回で紹介したArkoseも内部ではLXCを使っていますし,
ただし,
LXCを使うには,
$ sudo apt-get update $ sudo apt-get install lxc
Ubuntu環境を作る
仮想環境を作るにはlxc-createを作ります
$ sudo lxc-create -t ubuntu -n precise
"-t ubuntu"はテンプレート名です。
"-n precise"は作成した環境の名前を設定しています。今後はこの名前を指定することで,
作成時にテンプレートにオプションを渡したい場合は,
$ sudo lxc-create -t ubuntu -n oneiric -- -r oneiric
lxc-createは必要なパッケージをダウンロードして,
$ sudo lxc-start -n precise
端末にシリアルコンソールのログが表示され,
Ubuntuテンプレートの場合,
コンソールの出力を抑制したい場合は"-d"オプションをつけます。次のように"-c"オプションと併用すればコンソールログを特定のファイルに出力できますし,
$ sudo lxc-start -n precise -d -c /var/lxc-console.log
仮想環境をホストからシャットダウンする場合はlxc-shutdownです。
$ sudo lxc-shutdown -n precise
どうしても終了しない場合は,
$ sudo lxc-stop -n precise
なお,
ファイルシステムを含めて完全に削除したい場合は,
$ sudo lxc-destroy -n precise
- 注1
- 今回はシステムコンテナーを使った方法のみ説明します。ホストOSのファイルシステムを使って特定のアプリケーションのみを隔離環境で実行するアプリケーションコンテナーについては,
lxcやlxc-executeのmanページを確認してください。 - 注2
- ゲストにavahi-daemonパッケージをインストールしてしまえば,
IPアドレスを調べなくてもホスト名であるpreciseを使って"ssh ubuntu@precise. local"といった形でログインすることも可能です。 - 注3
- 切断する場合はCtrl-a qを押します。
Fedora環境を作る
Linuxカーネルを使う他のLinuxディストリビューション相当の環境を作ることもできます。例えばLXCパッケージには最初からfedora用のテンプレートがあるので,
$ sudo apt-get install yum $ sudo lxc-create -t fedora -n fedora
Fedoraの場合,
# yum install openssh-server # service sshd start
Debian環境を作る
Debian環境を作る場合,
$ sudo sed -i "s/copy_configuration \$path \$rootfs/copy_configuration \$path \$rootfs \$name/" /usr/lib/lxc/templates/lxc-debian $ sudo sed -i "s/dhcp3-client/isc-dhcp-client/" /usr/lib/lxc/templates/lxc-debian
sid環境を作るには次のコマンドを入力します。
$ sudo SUITE=sid lxc-create -n debian -t debian
アカウントとパスワードについてはFedoraの時と同じです。