JailはFreeBSDで開発されている仮想化環境で、別に新しくもなく昔からあるものです。
名前だけは前々から知ってましたが、とくに何もすることもなくスルーでした。コンテナ型ってのも最近知ったくらいです。
それも、ここ最近のDocker人気でいろいろ調べていたときに知ったのでした。
いきなりJailに入るのもいいですが、せっかくなのでFreeBSDのインストールからおさらい。
基礎は何回やってもいいと思うし、インストールからのっけてやろうと。
気分的にVMwareでやるのではなくて、空いてるPCでやろうと思います。
そう、気まぐれです。
それにしても、この光学ドライブがガコガコ鳴ってインストーラーを読み込んでいって、作業時はHDDがカリカリと読み書きする感じがダイレクトに伝わってくるのは、仮想環境では味わえない事だが、ええのう。久しぶりだとなおさらええのう。
※ええのう → いい感じ
ではインストールですが
今回はJailの環境がちょっと良くなっているという事だったので9.1にしました。
9からはsysinstallではなく、BSDinstallというものに変わりました。BSDinstallになって、楽にというか簡単にというか、そういった変化を感じます。
まずはそのままエンターで Boot [enter] で通常のブートをします。
※直インストールなので画像は無いです。
Install/shell/Live CD と出てきますので、Installを選択。
Keymap Selectionでは日本の106を選ぶので、Yesを選んでJapanese 106にします。Jを押すとそこまで飛んでくれるので楽です。
Set Hostname ホストネームの入力ですが、FQDNを入れるようにとのこと。
完全修飾ドメイン名で入れるようにとのこと。
続いて配布物の選択。
表示されている5個と隠しメニューと言いますか、デフォルトでbaseとKernelがインストールされます。ここはPortsだけ選びました。
次がパーティションになりますが、Linuxで言うところの全部使うの場合は、Guided・Entire Disk・Finish・commitでOKです。
自分で振り分けたい場合はGuidedではなく、Manualに進みます。
ここでシステムがインストールされます。
終わったら、rootのパスワード設定をして、ネットワークの設定をします。
IPv4をYes、DHCPはNoで手動で固定IPを入力。v6もYes、IPv6 SLAACもYesを選択しました。
んでDNSですが、ここではCTU(デフォルトゲートウェイ)のIPアドレスを入れます。
タイムゾーンは、最初の問いはNo!、続いてAsiaのTokyoを選択。いや、Japanだった。
次はサービスの選択です。
ここではsshdだけ選びました。
Enable crash dump ? はYesを選びました。
ユーザーの追加ですが、後からスクリプトで入れたらいいやと思ったのでNo!
最終確認ですが、この辺は前のsysinstallにもあったかな。とくに変更はないので、そのままExitします。続いてManual Configrationとでますが、Noで。
Rebootを選んで、CDを抜いて起動を待ちましょう。んー、普通逆だな。
慌ててCDを取り出そうとするとリブートの時に光学ドライブが閉まって指が挟まるから気を付けよう。
インストールが終わったよ
多分大丈夫と思いますが、ifconfigなりCTUにPingしたりとかで確認してみて、IPが取れてなかったら
# /etc/netstart
してみよう。
コンソール画面で作業するのはめんどくさいので、ネットワーク回りが問題なければさっさとsshを使えるようにして切り替えちゃおう。
# vi /etc/ssh/sshd_config # PermitRootLogin no ← コメントアウトしてます。 PermitRootLogin yes # PasswordAuthentication no ← コメントアウトしてます。 PasswordAuthentication yes
ひとまず、Linuxでいうところの最初の yum update にあたるところをやっときます。
ターミナルソフトからrootでログイン。
とりあえずアップデートしようとするとこんなエラーがでるので
(前からこんなの出たっけ??)
# freebsd-update install Installing updates...install: ///usr/src/crypto/openssl/ssl/s3_cbc.c: No such file or directory done.
出ちゃったらディレクトを作成してもう1回。
# mkdir -p /usr/src/crypto/openssl/ssl/ # freebsd-update fetch # freebsd-update install
Ports Collectionを取得して展開する。
# portsnap fetch extract
portupgradeをインストール。
# cd `whereis portupgrade | awk '{ print $2 }'` # pwd /usr/ports/ports-mgmt/portupgrade # make BATCH=yes install clean
順番が逆な気もしますが、気にしないで説明に入ります。
freebsd-update というのは、既存のバイナリファイルにセキュリティのパッチを当ててくれるコマンドです。windows updateみたいなもんかしら。ほかにもセキュリティアドバイザリというメーリングリストがあり、パッチを当てるという方法もあるようだ。
Portsnap というのは、PortCollectionを更新するコマンドで、FreeBSD-UPdateと同じくFetchして展開するという感じ。なんというかWindowsユーザーに説明するのが難しいのだけれど、説明を読んだ感じだと、最新で安全なアプリケーションを利用するために機構みたいな感じかな。
Portupgrade はすでにインストール済みのアプリケーションをアップグレードしてくれるコマンドのようです。何となくは使えるコマンドですが、説明するとなると慣れてないと何がどう上手く言えなかったりするにゃあ。
まぁ当初は2回に分けようと思ったけれど、3回に分けようかなと思います。
最近というか最近の事で、自分のことを自分でもなかなか分かっていないものだなぁと感じる事があったのだが、もうおっさんと思っていてもまだまだ小僧だったりしたようだ。
Jailは、Dockerが利用している技術の根幹のようなものであるらしく、そんなJailのベースになったのがChrootらしい。Chrootといえば、Bindの構築をしたときにChrootを使った。
Bindをいじってたのも3年前弱になるらしいのだが、確かクラッキングされてもChrootの中だけになるとか、そんな感じのものだったはず。
なるほど。JailもDockerもそれの応用ということらしい。ってーか、なかなかの記憶力じゃないか。ん~、何だかこういうのって、離れているところに居る人も同じ星空を見ているんだねっていうあれに似てないですか? 似てないかw
何だか鼻の奥がツーンとなる事が多い日でした。