皆さん、OSって何をお使いでしょうか?皆さんの手元にある作業用のパソコンには Windows でしょうか?私もそうです。サーバーにも Windows という方も多いのではないでしょうか?私は社会人になってすぐのころから仕事として 4.2BSD、いわゆる UNIX を使用してきました。当時のハードウェアは非常に巨大で、とても机には乗らない状況でした。文字通り、デスクトップアプリケーションには不適でした。その後しばらくして Linux が登場し、パソコンと呼ばれるハードウェアの上でも動くOSとして注目されるようになりました。私の机の上で当時は Linux 版の VMware workstation が FreeBSD の Linux エミュレーションのうえで快適に動いていました。その VMware workstation に普段使いの Windows ( 3.1 だったか 95 だったか 98 だったか記憶が定かではありません。。) を動かしていました。
32bit ? 64bit ?
今となっては 64bit OS はほぼ当たり前、メモリの単位も KB や MB ではなく GB、サーバにおいては TB も珍しくありません。CPU も当然 SMP、ディスクなんてお寺がいくつも立つ状況がごく普通にになり、当時からは考えられない状況です。そんな私がこよなく愛している OS が FreeBSD で、当時から使い続けているものといえば、Windows と FreeBSD だけです。
ごく最近まで 32bit の FreeBSD を使用し続けていたのですが、会社の方針で M$ Azure データセンタを使うようになってから 64bit の FreeBSD を使うようになりました。Azure では、64bit OS しか提供されないからです。
さて、これからインストールしてゆくのですが、壊してもいい使用していないハードがないよ!と言われる方。ご心配なく、仮想的な PC を、お使いの Windows や Linux に作ることができます。Windows ですと、Hyper-V などの仮想環境がありますが、お手軽な環境として私は VMware を使用しています。会社のオンプレミスのデータセンタでは、VMware vSphere 上に沢山の仮想 PC 環境を利用できますが、今回はあくまで個人的な実験レベルですので、VMware Workstation Player を使用してみたいと思います。ちなみに商用利用しようとすると、有償になるのですが、個人的な目的で仮想環境を実現したい向きには、無償で利用することができます。そのあたりの記述がこちらにあります。まずはご一読のうえ、VMware Player をダウンロードしてみましょう。先ほどのリンクからユーザ登録をすると、ダウンロードすることができます。VMware Player のインストール自体は非常に簡単なのでここでは割愛します。
ISO Image download
デスクトップ上で右クリック。Windows 10 ではズラズラと一度に出てきたのですが、Windows 11 では Show more options に隠されています。まだ使い慣れていないので悪しからず 🙂

コマンドプロンプトやパワーシェルでも構いませんが、私は WSL の Linux を使用します。ちなみに、Oracle Linux 8.5 を使っています。

ftp コマンドは、標準ではないようです。インストールしましょう。

お近くの FTP サイトにつないで、適当な ISO イメージを落としてきます。ごく一部のアプリケーションは 32bit OS が必要になるかもしれません。また 64bit OS でないと動かないアプリケーションもあります。もし迷うのであれば、64bit の amd64 の ISO イメージを使用しましょう。実機を使用される場合は、そもそも 32bit OS でないとインストールできない場合もあります。その場合は i386 の 32bit 版を使いましょう。最近流行りの Raspberry PI だと、arm64 の ISO イメージになるはずです。

ダウンロードが完了したので、仮想PCを入れるフォルダに移動します。VMware のデフォルトでは個人のドキュメントフォルダに Virtual Machines というサブフォルダを作ってそこにインストールされます。そうすると、しばらくしてディスクが一杯だぞ!と警告が来ます。M$ の 無料版 OneDrive を使用している場合は他のフォルダにインストールするようにしましょう。無料で提供される容量は 5GB のようです。

私の場合は C ドライブ直下に VM というフォルダを作って、ここに入れることにします。

仮想マシン作成
仮想PCを作ってゆきましょう。VMware Player を起動して新規仮想マシンの作成を選びますと、このようになります。

前の手順で2つ目のオプションを選ぶこともできますが、そうすると、FreeBSD version 10 or earlier 64-bit の ISO イメージと認識されてしまうので、手動で正しい選択を行いましょう。vSphere ESXi では FreeBSD 13 or later 64bit の選択肢があるのですが、Player にはなさそうです。が、そんなに変わっているとも思えません。Windows なんて未だに Built on NT Technologies ですので 🙂 え?知らない?失礼しました。。。

名前を付けましょう。ロケーションのデフォルトがご覧のように OneDrive となっています。

新しい仮想マシンのために新しいフォルダを作りましょう。


デフォルトで行きましょう。たくさんのアプリケーションを入れたり、アプリケーションをコンパイルするような場合は大きくしておきましょう。後から変更できますが、何をするかがわかっているのであれば、それなりに前もって。。。

サーバとして使用するには変えないといけない部分もありまので、カスタマイズしましょう。

仮想マシンのカスタマイズ
まず、仮想PCに割り当てるメモリを大きくしましょう。今どきの Windows PC ( お手元で使っているパソコン ) だと、64 bit OS が多いと思いますので、少なくとも 8GB, たぶん 16GB 以上お持ちではないでしょうか?充分割り当てましょう。

プロセッサの数も増やしておきましょう。ちなみに、私の使用している DELL Latitude には 8 個の論理プロセッサがありました。

続いてネットワークの設定を変えましょう。デフォルトでは NAT を使用するようになっています。そうすると、直接ネットワークに接続されているようにはならず、使っている PC の陰に隠れる感じになり、サーバとして機能できません。わかりやすい例でいうと、ご家庭のインターネットルータの背後に置かれている皆さんのPCと同じ状態で、インターネットから直接アクセスすることができません。つまり、サーバーとして機能させることができません。この状況を回避するために、ブリッジ接続にします。

今どきの PC なら LAN に加えて WiFi もあると思います。Windows などですと、頼んでもいないのに virtual xxxx という NIC をたくさん作ってくれます。どの物理NICをブリッジするか指定してやります。もし、ルータとして機能させたい場合はここで2つのNICを選ぶのではなく、もう一つネットワークアダプタを追加して、同じように別のNICを指定してやります。そうすると、ネットワークインターフェースを複数持った仮想PCが出来上がります。今回はLANインターフェースのみを使用します。

最後にOSをインストールするDVDをセットアップします。今回 ISO イメージからインストールしますので、物理ドライブから ISO イメージファイルに変更します。勿論ダウンロードしてきた ISO イメージから DVD を焼いて、お手持ちの PC のドライブにマウントしてインストールすることも可能です。がぁ、最近の PC は DVD ドライブのないモデルが多く、物理メディアを使用して DVD を焼くことも読むこともできません。ですので、ISO イメージファイルのオプションを使いましょう。私の Latitude にも DVD ドライブは付いていません 🙂

こんな感じです。これで、起動時に仮想DVDからインストールできるようになります。ちなみに、DVD が見つからなかった場合、この仮想PCはOSをネットワークからブートしようとします。この機能を使ってOSをインストールすることもできます。また別の機会でお話しさせてください。

変更を保存して、Finish を押すと、設定に応じた仮想PCを実際にディスク上に作ってくれます。

インストール開始
出来上がりました。電源を投入してOSを入れてゆきましょう。

仮想マシンの再生ボタンを押すと、このようなデーモン君のロゴとともに、立ち上げオプションを変更することができるようになります。トラブル対応などをしない限り、そのまま待っていましょう ( 10 秒 )。インストーラが起動します。

インストーラの最初のメニューです。目的はインストールですので、<Install>を選びましょう。選択実行はエンターキーを押します。

一番最初の設定はキーボードです。ずっと下のほうにスクロールすると、日本語 106 キーボードもあります。日本語キーボードでないと何もできないという向きには、そのようにしてください。私の会社ではいろいろな国にいろいろな管理者がいますので、サーバに日本語キーボードなどを使用すると怒られてしまいます。私はいつもdefault keymap、つまり、US/English キーボードを使用します。外人がたくさんいる環境の方は US キーボードくらいはブラインドタッチできるようにしておきましょう 🙂

キーボードの次は、新しく作るサーバにお名前を付けてやります。私の自宅のネットワークにはドメイン名はありません。会社組織ですと、それなりにドメイン名をお持ちのはずです。例えば、cisco.com …. whitehouse.gov …. yahoo.co.jp …. google.com などなど。本来は DNS の設定に従って命名します。自信がなければ、私の例の .myhome.net の部分を取り払って、ホスト名だけでも大丈夫です。ちなみに、myhome.net ドメインは実在しているようです。存在しないドメイン名を探すか、ドメイン部なしで進みましょう。

こんな感じで確認します。この例の場合、myhome.net は存在しているのでアドレスが返ってきます。しかし、myhomesick.net は存在しないので、エラーとなります。ご参考まで。。。とりあえず、myhome.net のまま進みます。

ホスト名の次は何をインストールするかを指定してやります。私は開発者ではありませんので、デバッグシンボルは不要です。32ビットの互換ライブラリと、OSのソースコードだけを入れます。

次に設定するのはファイルシステムとパーティション割を指定します。ZFS のほうが新しいファイルシステムなのですが、どうもいまいち好きになれません。メモリも多く必要になることから私は UFS を使用して、デフォルトのパーテイション切り ( boot, swap, root ) を使用します。

サーバーにする場合はアプリケーションがディスクを使い切っても OS の動きに影響が出ないように切ることもできます。というか、本来そのようにすべきなのでしょうが、そこは仮想PC、後からディスクの拡張や追加をして自由に変更できますので、とりあえずこのままゆきます。ただ一点、このパーティションの並びですと、ディスクを拡張したときに swap パーティションが邪魔になり、da0p2 を連続した領域として拡張できません。拡張の必要が出てきた場合は細工が必要となるかもしれません。

最終確認です。ここまでの手順ではディスクに変更は加えられませんが、ここで<Commit>を押すと、ディスクはきれいさっぱり消されてしまいます。

Go or No Go ?
<Commit>を押すとそれまでに指定したとおりに作業が進んでゆきます。

ファイルのインストールが終わると、root ユーザのパスワードをセットします。

同じパスワードを2回入力しましょう。注意が必要なのは自分がどのキーボードを使うようにしたかです。記号をパスワードに入れるときに意図しない文字が入力されることがあります。例えば、JP キーボードの ” キーは US キーボードの @ になっています。後でログインできないのでご注意を。

続いて、ネットワークの設定です。FreeBSD VM にデフォルトで使用される NIC は Intel E1000となっています。最高のパフォーマンスを発揮するためには VMXNET インターフェースを使用したいところです。VMware Playerの標準のNIC変更方法もあるのでしょうが、私は仮想マシンファイルを直接編集して変更します。変更方法自体はまた別の機会で。

ここから設定です。IPv4 は使用したいです。IPv6 もにぎやかになってきましたが、まだまだ IPv4 が趨勢を占めています。

今回は簡単のために DHCP で自動割り当てを利用します。

次に、IPv6 の設定に続きます。

IPV6 も自動で割り当ててもらいましょう。私見ですが、IPV4 を使用していないご家庭はないと思いますが、IPV6 はプロバイダとどのような契約になっているか、プロバイダレベルで使用できるとしてもご家庭のインターネットルータでどのような設定をしているかにかかっています。ですので、IPV6 を利用できないこともあると思います。その場合は、1つ前の設定で IPV6 を使わないようにしましょう。

この例は私の自宅の設定です。皆さんのお宅では、IPV4 DNS が2つあるかもしれませんし、IPV6 の DNS があるかもしれません。個人のドメインをお持ちであれば search にそのドメインが入っているかもしれません。あくまで私の自宅の例です。

続いて、タイムゾーンの設定です。基本、PCのマザーボードの時計は UTC ( GMT ) でカウントしています。

時間のオフセットが 0 だと日本時間より9時間遅れます。ですので、日本のタイムゾーン ( JST ) にあるということを OS に教えてやると、正しく時間を扱うことができるようになります。勿論フランスでPCをご使用であれば、CET または CEST をご使用ください。ちなみに CET と CEST の違いは夏時間かどうかということです。私のような外人の多い環境ですと、外人がセットアップしたミーティングの開始時間が突如1時間遅くなったり早くなったりすることがあります。我々日本人にはなじみがないのですが、夏時間がある国のほうが世の中では多数を占めています。夏時間反対!!

タイムゾーンの次は日付を指定します。勿論正しくセットすることは重要なのですが、正確を期すために、NTP を使用する予定にしています。

続いて時間をセットします。現実から大きく離れているとは思いませんので、<Skip>しましょう。もし、大きくずれているようですと、ご使用中の PC の時計が狂っているかもしれません。本体の時計を確認してください。合わせてもしばらくしたら変わってしまうようなら、電池が死んでいるかもしれません。

続いて基本的なサービスのいくつかを起動時にスタートできるようにします。基本コンソールは使いにくいので、SSH でリモート接続して使用できるようにしたいので、SSH を。そして、時間は NTP を使用してネットワーク上のサーバから正確な時間をセットできるようにします。

共有レンタルサーバーなどで顧客間のトラブルを避けるためにお互いが見えないようにできたり、論理的に隔離されたOSを使用できるようにしたり、設定ファイルやログファイルを一般ユーザに見えなくしたりすることができます。自分だけのサーバなので、起動時に /tmp の掃除をしてくれるだけで結構です 🙂

設定はほぼ完了したので、自分が使うユーザを作っておきます。

適当に必要事項を入力してください。重要なのは wheel グループに入っておくことです。Linux とかですと、sudo が標準で使用できるようになりますが、歴史的に FreeBSD は su コマンドでユーザを root にスイッチして管理作業を行います。その su コマンドを実行するためには wheel グループにいる必要があります。また、再起動も行いたいのであれば operators グループにも入れておく必要があります。が、su で root になれれば何でもできますので、そのあたりは必要に応じて後から /etc/group のメンバシップを変更してください。

自分のアカウントができればほかの誰でも OS が起動してから追加できるので、no を入力して終了します。

さぁ、基本設定は終了です。インストーラを終了しましょう。

インストーラが終了する前に、設定し忘れたことや、標準でない変更を行いたい場合は、<Yes> を選んでファイルシステムに直接変更をかけることができます。特にないので、<No> で進みます。

動くかな?
再起動!!

再起動が完了し、こんな感じでログインプロンプトが表示されていたらログインしてみましょう。

自分用に作ったアカウントでログインしました。wheel グループのメンバです。

ご覧のように sudo は使用できません。su で root にスイッチしましょう。

最小限アプリケーションのインストール
最後に OS にパッチを当てて基本設定は終了なのですが、その前に今回は VMware にインストールしたということで、VMware tools を入れておきます。私はサーバの管理は 100% CLI を使用しますので、vmware tools without X11 をインストールします。

これだけの関連パッケージをインストールする必要があります。yes を入力して続けます。


vmware tools が自動起動するようにしておきます。そのために何の変数を指定すればよいのかをファイルをみて調べます。コメントから vmware_guestd_enable 変数を YES にすればよいと書かれています。

直接 /etc/rc.conf ファイルや /etc/rc.conf.local ファイルを編集する方法もありますが、OS 開発者のほうで sysrc というコマンドが用意されています。ありがたく使わせていただきましょう。ちなみに全ての変数のデフォルト値は /etc/defaults/rc.conf に指定されています。従いまして、デフォルトとは異なった値をセットしたいときや、デフォルトにない値をセットしたいときに /etc/rc.conf や /etc/rc.conf.local に書き加えます。

確認
再起動して自動で起動するか確かめてみましょう。


プロセスのステータスを確認して、カーネルモジュールも読み込まれているか確認します。vmxxxx.ko が vmware tools 関連のモジュールです。

OSパッチのインストール
最後に OS に最新のパッチを当てておきます。

一般ピープルにはできない作業でした 🙂 root で実行します。IP アドレスから判断して地理的に近くのサーバからパッチを落としてきてくれます。

アップデートされるファイルがリストされるので、’q’ でページャを終了します。現行のバージョンは FreeBSD 13.0-RELEASE-p11 となります。

ページャを何度か終了するとインストールが始まり、このような感じで終了します。再起動しましょう。

OS バージョン、IPv4 ネットワーク、IPv6 ネットワークの確認をします。DNS resolver もうまくアドレスを得ることができているようです。

もうインストール用のメディアは必要ありませんので外しておきましょう。

起動時電源投入と、接続済みのチェックマークを外しておきます。お使いの PC に DVD ドライブがあるPCをお使いであれば、物理ドライブを使用するようにしておくことも OK です。

以上で FreeBSD の基本的なインストールは終了です。必要に応じてアプリケーションを入れて目的のサービスを提供してみましょう。2021年6月時点で 36000 の ports が取り揃えられているとこちらに記述があります。すべてソースコードからコンパイルしてインストールすることができます。使用したいアプリケーションに気に入らない部分があれば、ライセンスさえ許せばソースコードを変更してコンパイルして使用することもできます。勿論バグを見つけたらソースコードを変更して直すこともできます。M$ 待ちの Windows とは大違いです 🙂 現在の状態では何のサービスも提供していませんが、これから各種アプリケーションのインストールおよび、設定に関して書き連ねたいと思います。とりあえず、ご自身の手でインストールした FreeBSD をお楽しみください。
以下広告





コメント