FreeBSD
GNOMEを起動させた状態の FreeBSD 6.1
|
|
| 開発元企業 / 開発者 | The FreeBSD Project |
|---|---|
| OSの系統 | BSD |
| 開発状況 | 開発中 |
| ソースモデル | オープンソース |
| 最新安定版リリース | 9.1 / 2012年12月31日 |
| 最新開発版リリース | 10.0-CURRENT / daily |
| パッケージ管理 | package,ports |
| 対応プラットフォーム | i386, AMD64, PowerPC, PC-98, SPARC64, Alpha, IA-64, ARM, MIPS, Xbox |
| カーネル種別 | モノリシックカーネルモジュールも使用 |
| ライセンス | BSDライセンス |
| ウェブサイト | www.freebsd.org |
FreeBSD(フリービーエスディー)は、Unix系のオープンソースのオペレーティングシステム (OS) である。NetBSDやOpenBSDと同じくBSDの子孫の1つである。近代的なオープンソースのBSDとしてはNetBSDに次いで古く、1993年12月に最初の公式リリースである1.0が公開された。
目次 |
特徴 [編集]
FreeBSDの開発者達は、Webサイトにて、安定していて高速・高性能でなおかつ安全、先進的な機能や多くのセキュリティ機能を提供していると語っていた。FreeBSD jail等の機能もレンタルサーバ等に適したシステムであるといえる。Linuxと異なりカーネルとユーザランドを含めて一つのOSであり、そしてOS側にGPLのものを含まないようにしていることも特徴の一つである。かつては自分の環境に合わせてカーネルを再ビルドする方法が主流であったがgenericカーネルに必要に応じてカーネルモジュールを追加する形で運用することが多い。
デスクトップ環境としてみた場合、2D限定あるいは3D機能の一部はX.Org Serverのドライバが多くのビデオカードに対応しておりXfce、GNOME、KDE等のデスクトップ環境を使うことができる(フリーのドライバを使う限りでは多少の対応状況の違いはあるもののLinuxとほぼ同様の環境となる)。NVIDIAのビデオカードであればメーカーのドライバがサポートされていてOpenGLで完全な3Dハードウェアアクセラレーションが動作する。
カーネルレベルでのLinuxバイナリ互換機能(カーネル2.6.16相当)や、アプリケーションレベルではWineによるWindows互換環境等を用いてネイティブでないソフトウェアも使うことができる。
歴史 [編集]
1991年、ウィリアム・ジョリッツによって4.3BSD Net/2をベースとしたOS、386BSDが発表された。
しかし公開後の開発が停滞したため、386BSDのユーザらは「Unofficial 386BSD Patchkit」を製作し、バグの対応などを行っていた。その後386BSDは、ほぼ1年にわたって放っておかれ、やがてパッチキットの量は膨大になってしまった。
そこで、386BSDのユーザらは「386BSDの開発の手助けのため」、パッチキットを適用させた状態の「クリーンナップ」スナップショットの製作プロジェクトを進めた。しかし、Jolitzがこのプロジェクトの受け入れを拒否したことにより、プロジェクトは路線変更を余儀なくされた。結局、パッチキットの最後の取りまとめ役であったNate Williams、Rod Grimes、ジョーダン・ハバードらは、自分達で新しいOSの開発を行う事を決意し、1993年にFreeBSDプロジェクトをスタートさせた。ちなみに、「FreeBSD」という名前はDavid Greenmanによって考案されたものである。
FreeBSDは4.3BSD Net/2をベースに開発が行われ、1993年12月には最初のリリースであるFreeBSD 1.0が、そして、1994年5月にはFreeBSD 1.1がリリースされた。
しかしこの後、当時UNIXのソースコードの権利をもっていたノベルとカリフォルニア大学バークレー校との長期に渡った訴訟の和解が成立し、4.3BSD Net/2にUNIXのライセンスに抵触する部分があることが正式に認められた。そのため、FreeBSDはそのまま開発を続けることが不可能となり、1994年7月にリリースされたFreeBSD 1.1.5.1を最後に4.3BSD Net/2をベースにした開発を停止した。
FreeBSDプロジェクトは、UNIXのライセンスに抵触していないことが公式に宣言された4.4BSD-Liteを基にしてFreeBSDの開発を再開した。再開後の最初のリリースであるFreeBSD 2.0は1994年11月に発表され、その後、FreeBSDは順調に発展を続けている。
なお、X Window Systemについては、当初XFree86を標準として採用していたが、FreeBSD 5.3からはX.Orgを標準とするように移行した。
パッケージ管理 [編集]
FreeBSDのパッケージ管理システムは、ビルド済みパッケージをインストールするpackageとソースをビルドするスタイルのportsがある。OS以外でpackageのインストールしたものは原則として「/usr/local」以下と「/var/db/pkg」以下に入る。つまりOS部分とほぼ分離されているので明示的な管理やバックアップもしやすいが 基本的にライブラリを共用する発想で構成されているのでWindows等でアプリごとにライブラリを用意することに慣れている人には使い辛いと感じることもある。7系から8系等、メジャーバージョンアップの際には使用ライブラリの互換性がなくなるが一部(usbを使うものなど)を除いて「compat7x」を入れることにより動作する。
package [編集]
packageはビルド済みのバイナリをシステムにインストールする仕組みでportsからインストールされたものも含めてバージョンやファイル構成が記録される。
サーバは本家の他日本など各地にある。自分でもpackageを作る事が出来るので複数台同一環境のPCを管理している場合にも使うことができる。
単独のpackageの個別インストールもできるが、「pkg_add -r」コマンドで上位にあるpackageを指定することにより依存packageもインストールされる。しかしpackageとPCのPerl等依存ツールやライブラリのバージョンが異なる場合、手動で修正が必要である等の問題があったり、RELEASE版では最新のpackageを取得するために環境変数「PACKAGESITE」を指定しなくてはいけない他、Web上の情報では「FreeBSDはビルドするのが当たり前」という風潮がかつては多かったため新規インストール以外にはあまり使われないように見受けられる。基本的にはports更新後一週間後程度にはstable版に最新のpackageがアップロードされているようだ。packageのバージョンアップ用のサポートツールとしてpkg_replace等がある。
ports [編集]
portsは半自動的にソースコードからpackageのビルド及びインストールを行う方法である。特殊なパッチを当てる当てないの選択肢ダイアログ等が表示される場合もあるが、基本的にはソースコードのダウンロードからコンパイル、package生成、packageインストールまでの一連の流れを自動的に行うことができる。
ただ、実際にはシェルスクリプトだけのものやフォント、NVIDIA等メーカー品バイナリやJava等ビルド不要のものも多い。packageに比べると作業領域を明示的に指定できる長所がある。
基本的には「/usr/ports」に置かれる。portsの最新情報への更新は「portsnap」というコマンドを用いる事で最小限の更新だけで済ませられる(あるいはcsupないしcvsupを用いてportsツリーを更新することも可能。csup/cvsupについては次項参照のこと)。portsに登録されているソフトウェアが新バージョンへ更新した時に一時的にビルドできなくなるなどの問題が発生することもあるので、Perl等の重要なportsの更新時には一定期間(1週間程度)様子を見る必要がある。
portsに登録されているソフトウェアは2013年1月3日の時点で24,000を超えるが日々増加している。そのメンテナンス状況はメンテナと呼ばれる管理者の能力や意欲に左右される面がある。そのため、常時メンテナンスされて高い品質を維持しているportsも多いが、逆にソースファイルのサイトが閉じていたり、ビルドできなかったりあるいは古いバージョンのまま放置されていたりするものがあるという問題点も指摘されている。
日本人メンテナの活動により、日本語環境に関するportsは他言語に比べ比較的良く整備されており、特に日本語版LaTeXは完全な環境が容易かつ安定してインストールできることは特徴的である。
無駄なportsを増やさないために「/etc/portsnap.conf」で使わないカテゴリを指定できるがあくまでディレクトリ単位でのカテゴリ指定しかできない。安直にメタポートと呼ばれるものをビルドしようとすると依存するものを全てビルドしてしまうのでファイル構成を把握したらベーシックなライブラリから更新するとストレージ使用効率が良い。
portsからインストールしたものは、たとえpackage生成を行わないように指定したとしても、packageからインストールしたものと同等に扱われる。サポートツールとしてpkg_replaceの他portmasterとruby依存のportupgrade等が使われる。pkg_addに起因するportの依存記述には問題がありしばしインストールの妨げになることがある。
pkg [編集]
pkgは、FreeBSD用の次世代のパッケージ管理システム pkgng として開発されてきたものである。従来のバイナリベースパッケージ管理システムである package よりも、手軽なバイナリアップデート、リモートパッケージ検索、依存関係の管理等の機能が強化されている。pkgは、これまでのものとはパッケージのデータベースの管理方法が異なるため現時点ではFreeBSD 9.x までのバージョンでは、pkgの使用がデフォルト設定にはなっておらず、手動で pkg 管理システムに移行しなければならない。FreeBSD 10.0Rからデフォルトのパッケージ管理システムとして採用される予定である。(開発バージョンである FreeBSD 10-currentでは、デフォルト設定になっている)
OSのバージョン [編集]
FreeBSDでは安定版であるFreeBSD-RELEASEの他FreeBSD-CURRENTとFreeBSD-STABLEの2つの開発ブランチが存在する。
CURRENTはまさに最新のFreeBSDのバージョンの開発ブランチで、作業進行中のソースがならび、開発途上のソフトウェアや過渡的な機能などが含まれている。しかし、これがリリース版に採用されるとは限らない。
STABLEは主に開発が終わったCURRENT開発ブランチに対して、分枝されてリリース版(安定版)を作成する開発ブランチである。こちらに移ってからは全ての修正はこの開発ブランチで行われる。1つのバージョン系列の開発が終わるとこのブランチからも外れ、以後一定期間は必要に応じてセキュリティアップデート等の修正が行われる。修正はパッチをあてることで行われ、8.1-RELEASE-p2などと最後尾に修正が行われた回数(pはpatch levelのこと)が示される。
なお、いったんSTABLEとして扱われると、1つ上の開発バージョンがCURRENTとして扱われることになる。例外として、FreeBSD 5系では多くの改善や機能追加が行われたために、5.0〜5.2の間はリリース版が出ているのにも関わらずSTABLEとして扱われない状態が続いていたが、6.0がリリースされてからは元の体制に戻った。
バージョン管理 [編集]
FreeBSDのSTABLE版とCURRENT版は、cvsやsubversionを使ってソースコードレベルでOSのバージョン管理を行う。 ソースコードの更新には「csup」というコマンドが用いられる(csupはCVSupの主要な機能をC言語で再実装したものである。これは、CVSupがプログラム言語として一般的でないModula-3で実装されており、これが理由でcsupはベースシステムに含まれるがCVSupはportsから導入する)。そしてmake worldにより、メジャーバージョンの更新も含めてOS全体のバージョンアップができる。
バイナリで配布されたRELEASE版のgenericカーネルに対しては「freebsd-update」というコマンドが用いられ定期的なセキュリティパッチ等のバージョンアップができる。通常はセキュリティパッチが入るとカーネルの名称に「p2」等とバージョンがつくがカーネル以外だけの更新の場合カーネル名称は変わらない。
セキュリティ対応と保証期間 [編集]
FreeBSDのSTABLE版及びRELEASE版については、リリース後一定期間、セキュリティに関する問題が発生した場合に必要なアドバイザリ及びアップデートがリリースされる保証期間が設けられる。保証期間については以下の3つの区分が存在する[1]。なおCURRENT版についてはあくまで開発版という扱いのため、セキュリティアップデートやアドバイザリは提供されない。
- Early Adopter
- CURRENT版から分岐した最初のRELEASE版に適用されるもの(ただし2012年現在適用例はない)。保証期間はリリース後6ヶ月。
- Normal
- 通常のRELEASE版(STABLE版から分岐したもの)に適用されるもの。保証期間はリリース後1年。
- Extended
- 原則として、メジャーバージョンに対して2番目以降のRELEASE版及びそれに対応するSTABLE版に適用されるもの。保証期間はリリース後2年。
ただし実際には、各RELEASE版に対しNormal及びExtendedのどちらを選択するか、その時点でのRELEASE版のコード品質等を考慮して個別に定められることが多く、時には「古いRELEASEの方が新しいRELEASEよりも保証期間が長い」という逆転現象が起こることがある(例:8.1-RELEASEの保証期間が2012年7月末までなのに対し、8.2-RELEASEの保証期間は2012年2月末まで。また過去には7.1-RELEASEと7.2-RELEASEの間でも同様の逆転現象が発生した。ただし8.2-RELEASEの保守終了予定日は8.1-RELEASE同様2012年7月末まで延長されている)。このため、特にサーバ等で長期に運用する予定の機器では、保証期間の終了時期を踏まえたバージョン選択を行う必要がある。
最新のバージョン [編集]
現在のリリース版と開発版、およびこの時点でセキュリティアップデートなどのサポートしている安定版は以下の通りである。
- RELEASE(最新リリース):FreeBSD 9.1-RELEASE(2012年12月31日)
- CURRENT(最新開発版):FreeBSD 10-CURRENT
- STABLE(安定版):FreeBSD 9.x、8.x、7.x
これまでのリリース [編集]
掲載しているのはRELEASEのアナウンスがされたバージョンのみ。現在も修正等のサポートが行われているバージョンは斜体でしめしている。
- 1993年
- 11月1日 FreeBSD 1.0-RELEASE
- 1994年
- 5月6日 FreeBSD 1.1-RELEASE
- 6月30日 FreeBSD 1.1.5-RELEASE
- 7月5日 FreeBSD 1.1.5.1-RELEASE
- 11月22日 FreeBSD 2.0-RELEASE
- 1995年
- 6月10日 FreeBSD 2.0.5-RELEASE
- 11月19日 FreeBSD 2.1-RELEASE
- 1996年
- 7月16日 FreeBSD 2.1.5-RELEASE
- 11月15日 FreeBSD 2.1.6-RELEASE (FreeBSD 2.1.6.1-RELEASEに置き換え)
- 11月26日 FreeBSD 2.1.6.1-RELEASE
- 1997年
- 2月20日 FreeBSD 2.1.7-RELEASE
- 3月19日 FreeBSD 2.1.7.1-RELEASE
- 3月16日 FreeBSD 2.2-RELEASE
- 3月25日 FreeBSD 2.2.1-RELEASE
- 5月16日 FreeBSD 2.2.2-RELEASE
- 10月22日 FreeBSD 2.2.5-RELEASE
- 1998年
- 3月25日 FreeBSD 2.2.6-RELEASE
- 7月22日 FreeBSD 2.2.7-RELEASE
- 10月15日 FreeBSD 3.0-RELEASE
- 11月30日 FreeBSD 2.2.8-RELEASE
- 1999年
- 2月15日 FreeBSD 3.1-RELEASE
- 5月18日 FreeBSD 3.2-RELEASE
- 9月17日 FreeBSD 3.3-RELEASE
- 12月20日 FreeBSD 3.4-RELEASE
- 2000年
- 3月13日 FreeBSD 4.0-RELEASE
- 6月24日 FreeBSD 3.5-RELEASE
- 7月27日 FreeBSD 4.1-RELEASE
- 9月27日 FreeBSD 4.1.1-RELEASE
- 11月22日 FreeBSD 4.2-RELEASE
- 2001年
- 4月20日 FreeBSD 4.3-RELEASE
- 9月29日 FreeBSD 4.4-RELEASE
- 2002年
- 1月26日 FreeBSD 4.5-RELEASE
- 6月15日 FreeBSD 4.6-RELEASE
- 8月15日 FreeBSD 4.6.2-RELEASE
- 10月10日 FreeBSD 4.7-RELEASE
- 2003年
- 1月19日 FreeBSD 5.0-RELEASE
- 4月3日 FreeBSD 4.8-RELEASE
- 6月9日 FreeBSD 5.1-RELEASE
- 10月28日 FreeBSD 4.9-RELEASE
- 2004年
- 1月12日 FreeBSD 5.2-RELEASE
- 2月25日 FreeBSD 5.2.1-RELEASE
- 5月27日 FreeBSD 4.10-RELEASE
- 9月6日 FreeBSD 5.3-RELEASE(5.x系では初めてとなるSTABLEブランチからのリリース)
- 2005年
- 1月25日 FreeBSD 4.11-RELEASE(4.x系最後のリリース)
- 5月9日 FreeBSD 5.4-RELEASE
- 11月4日 FreeBSD 6.0-RELEASE
- 2006年
- 4月1日 FreeBSD 2.2.9-RELEASE(エイプリルフールのネタとしてリリース)
- 5月9日 FreeBSD 6.1-RELEASE
- 5月25日 FreeBSD 5.5-RELEASE(5.x系最後のリリース)
- 2007年
- 1月15日 FreeBSD 6.2-RELEASE
- 2008年
- 1月18日 FreeBSD 6.3-RELEASE
- 2月26日 FreeBSD 7.0-RELEASE
- 11月28日 FreeBSD 6.4-RELEASE(6.x系最後のリリース)
- 2009年
- 1月5日 FreeBSD 7.1-RELEASE
- 5月4日 FreeBSD 7.2-RELEASE
- 11月25日 FreeBSD 8.0-RELEASE
- 2010年
- 3月23日 FreeBSD 7.3-RELEASE
- 7月23日 FreeBSD 8.1-RELEASE
- 2011年
- 2月24日 FreeBSD 7.4-RELEASE
- 2月24日 FreeBSD 8.2-RELEASE
- 2012年
- 1月12日 FreeBSD 9.0-RELEASE
- 4月20日 FreeBSD 8.3-RELEASE
- 12月31日 FreeBSD 9.1-RELEASE
対応アーキテクチャ [編集]
以下に挙げられている以外にもARMアーキテクチャ、MIPSアーキテクチャ、Xbox等への移植のためのプロジェクトが存在する。
現在対応中 [編集]
最新のRELEASE版について、公式サイトにてインストールイメージが配布されているアーキテクチャは以下のとおり。
過去に対応していたアーキテクチャ [編集]
- PC-9800シリーズ - 8.x系までサポート
- DEC Alpha - 6.x系までサポート
関連プロジェクト、関連ディストリビューション [編集]
FreeSBIEプロジェクト [編集]
FreeBSDの1CD版(Live CD版)としてFreeSBIEプロジェクトがある。
FreeNASプロジェクト [編集]
FreeBSDを基盤としたWebベースでの操作を可能としたNASファイルサーバを運用するプロジェクトがある。
詳細は「FreeNAS」を参照
NAS4Freeプロジェクト [編集]
FreeNASプロジェクトから分離したNASファイルサーバ用OS。[2]
詳細は「NAS4Free」を参照
PC-BSD [編集]
FreeBSDをデスクトップパソコン向けに特化したディストリビューションにPC-BSDがある。
使用例 [編集]
- 2ちゃんねる - 海外のサーバはすべてFreeBSD。
- Yahoo! Japan - netcraftによれば、主にFreeBSDが使われている。なお、世界各国のYahoo!では既にLinuxが主になっている。
- さくらインターネット - 共用サーバーにおいてFreeBSDが使用されている。VPSや専用サーバーなどではLinuxが標準となっている。
関連項目 [編集]
- FreeBSDディストリビューション
- FreeBSD jail
- BSDの子孫
- BSD
- Mac OS X
- DragonFly BSD
- NetBSD
- OpenBSD
- PC-BSD
- Unix File System - FreeBSDのファイルシステム。5.xからはUFS2を採用。
- ZFS - 新しいファイルシステム。FreeBSD 8.0で正式に搭載されている。
- DTrace 7.1より採用。
- VIMAGE - Network Stack Virtualization。FreeBSD 8.2にて、「VIMAGE(virtualized network stack) is a highly experimental feature」のような「WARNING」を告げられる。FreeBSD 9.1-RELEASEでも「WARNING」は変わらず。主支援はThe FreeBSD Network Stack Virtualization Projectにて。
- ジャーナリングファイルシステム - 9.0から正式に搭載される模様
脚注 [編集]
- ^ Supported FreeBSD Releases - FreeBSD Security Information
- ^ http://www.nas4free.org/
外部リンク [編集]
- オフィシャルページ
- ニュース
- ソフトウェア
- 検索
- その他
|
|||||
|
|||||||||||