浜松町「談」にて。 別な本を探すのが目的でしたが、ふと目に止まったので。 1,365円。
「通説破り」とはありますが、 軽いわたし程度の日本史マニアでもすでに知っていることが多いです。 もうちょっと踏み込んで意外性が欲しかったかな。
さらさらと読んでしまいました。
Solaris 10 x86に関するページ を参考にして、 zone を作ってみました。
まず、ファイルシステムは zfs から切り出します。
# zfs create zfspool/zone1 # zfs set mountpoint=/export/zone1 zfspool/zone1 # zfs set quota=10G zfspool/zone1 # zfs list NAME USED AVAIL REFER MOUNTPOINT zfspool 156K 66.4G 24.5K /zfspool zfspool/home 35.5K 66.4G 35.5K /export/home zfspool/zone1 24.5K 10.0G 24.5K /export/zone1
zoneの作成。
# zonecfg -z zone1 zone1: そのような構成済みゾーンはありません 'create' を使用して、新しいゾーンの構成を開始してください。 zonecfg:zone1> create zonecfg:zone1> set zonepath=/export/zone1 zonecfg:zone1> set autoboot=true zonecfg:zone1> add net zonecfg:zone1:net> set address=192.168.1.101 zonecfg:zone1:net> set physical=rtls0 zonecfg:zone1:net> end zonecfg:zone1> verify zonecfg:zone1> commit zonecfg:zone1> exit
まず雛型を作ってからインストールするんですね。 ここまでではまだ設定が済んだだけです。
# zoneadm list -vc ID NAME STATUS PATH 0 global running / - zone1 configured /export/zone1
次は中身のインストール。
# zoneadm -z zone1 install Preparing to install zone <zone1>. Creating list of files to copy from the global zone. Copying <2471> files to the zone. Initializing zone product registry. Determining zone package initialization order. Preparing to initialize <1061> packages on the zone. Initializing package <290> of <1061>: percent complete: 27% ... Initialized <1061> packages on zone. Zone <zone1> is initialized. The file </export/zone1/root/var/sadm/system/logs/install_log> contains a log of the zone installation.
これでインストール完了。 起動してみます。
# zoneadm -z zone1 boot
コンソール接続して、言語などの設定。
# zlogin -C zone1 [ゾーン 'zone1' コンソールに接続しました] ... Select a Language 0. English 1. Japanese Please make a choice (0 - 1), or press h or ? for help: ... (などなど)
hostname などの設定も行って、プロンプトが出てきました。
SunOS Release 5.10 Version Generic_118855-15 32-bit Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Hostname: zone1 zone1 console login:
コンソールを ~^D で抜けて global zone から確認してみると、 ちゃんと上がっていることがわかります。
# zoneadm list -vc ID NAME STATUS PATH 0 global running / 2 zone1 running /export/zone1
これで zone ができました。
global zone ではこんな感じ。
# hostname solaris10 # zonename global # ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 zone zone1 inet 127.0.0.1 netmask ff000000 rtls0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255 ether 0:7:40:1f:63:ca rtls0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 zone zone1 inet 192.168.1.101 netmask ffffff00 broadcast 192.168.1.255
zone1 では。
# zonename zone1 # hostname zone1 # ifconfig -a lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 rtls0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.101 netmask ffffff00 broadcast 192.168.1.255
作るだけならすごい簡単でした。
あとはユーザを作ってログインできるようにしたり。 なかなか面白いですね。