FreeBSD Daily Topics

2010年6月28日注目》PC-BSDで開発されたインストーラバックエンドpc-sysinstall(8)、FreeBSDにマージ]

heads-up

PC-Sysinstall on now FreeBSD

current - 2010年6月24日(協定世界時)に実施されたRevision 209513のコミットで、FreeBSD 9-CURRENTにPC-Sysinstall - pc-sysinstall(8)が追加されました。これはこれまで数回のリリースに渡ってPC-BSDで開発されてきたインストールバックエンドシステムです。今後のFreeBSDインストーラの主要なメカニズムとして採用されることになると見られます。

FreeBSDやFreeBSDをベースにして開発されたプロダクトにはいくつかのインストーラが存在します。簡単にまとめると次のインストーラがあります。

  • sysinstall(8) - FreeBSDのデフォルトインストーラおよび管理ツール。基本的なインストール機能を提供。ZFSやGEOMを活用したインストールには未対応
  • Bsdinstaller - FreeBSDベースのファイアウォール/ルーティングソリューションpfSenceで採用されているインストーラ。Luaベースのバックエンドを採用
  • Finstall - Google SoCで開発されたGUIインストーラ。Pythonベースのバックエンドを採用。FreeBSDに取り込まれるとみられていたが、ベースシステムに新しい言語を追加することやX関連のコードが入ることを懸念する向きが多く、システムに取り込まれなかった
  • 旧PC-BSDインストーラ - 多機能だがGUIインストーラとしての作りに特化しており、バックエンドとの分離などは提供されていない

インストール時にZFSやGEOMを使うなど最近の要求にsysinstall(8)で答えることが難しくなりつつあること、LinuxディストリビュションのようにノービスユーザにわかりやすいGUIインストーラを求める声などがあります。FreeBSDインストーラの改善が求められているのは事実ですが、前述したようにX関連のコードをベースシステムに取り込むことに懸念を示す向きが多いのもまた事実です。

そこで最近ではこのような意見が開発者の間で出されてきました。

  • インストール機能をモノリシックなものから、フロントエンドとバックエンドに分離させる。
  • 新しいメカニズムのもとで最新機能への対応を実施
  • FreeBSDベースシステムにはテキストベースのインストーラ
  • GUIインストーラを使いたいユーザはPC-BSDを使う

こうした要望を受けてPC-BSDの開発者によって新しいインストーラの設計と実装が実施されました。新しいインストーラの設計時に想定された目標は次のとおりです。

  • 機能の追加が実施しやすいモジュール構造の実現
  • スクリプトインストール機能の実現
  • 複数のフロントエンド実装の提供
  • エラーロギング機能
  • より多くのファイルシステムをサポート
  • よく多くのファイルシステム機能をサポート
  • FreeBSDとPC-BSDを両方共対応
  • ローカライゼーションの実現

この結果開発されたシステムインストーラバックエンドがpc-sysinstall(8)です。次の特徴があります。

  • /bin/shで開発
  • ベースシステムのコマンドで構成
  • ZFS/UFS/Gjournal/Gmirror/Geliなどに対応

pc-sysinstall(8)はバックエンドシステムです。単体で利用する場合、設定ファイルを記述してそれをかませるといった操作になります。インタラクティブなテキストベースのフロントエンドは現在開発段階にあり、テキストベースのフロントエンドはFreeBSDにマージされる予定になっています。最終的にsysinstall(8)を置き換えることになると見られます。

GUIインストーラからインストールしたい場合にはPC-BSDを採用します。PC-BSDはpc-sysinstall(8)をベースにしたGUIインストーラが搭載されており、PC-BSDがインストールできることはもちろん、素のFreeBSDもインストールできます。

おすすめ記事

記事・ニュース一覧