FreeBSD
GNOMEを起動させた状態の FreeBSD 6.1
|
|
| 開発元企業 / 開発者 | The FreeBSD Project |
|---|---|
| OSの系統 | BSD |
| 開発状況 | 開発中 |
| ソースコード | オープンソース |
| 最新安定版リリース |
8.2 / 2011年2月24日 |
| 最新開発版リリース |
9.0-CURRENT / daily |
| パッケージ管理 | package,ports |
| 対応プラットフォーム | i386, AMD64, PowerPC, PC-98, SPARC64, Alpha, IA-64, ARM, MIPS, Xbox |
| カーネル種別 | モノリシックカーネルモジュールも使用 |
| ライセンス | BSDライセンス |
| ウェブサイト | www.freebsd.org |
FreeBSD(フリービーエスディー)は、UNIXライクなオープンソースのオペレーティングシステムである。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年、William Jolitzによって4.3BSD Net/2をベースとしたオペレーティングシステム、386BSDが発表された。
しかし公開後の開発が停滞したため、386BSDのユーザらは「Unofficial 386BSD Patchkit」を製作し、バグの対応などを行っていた。その後386BSDは、ほぼ1年にわたって放っておかれ、やがてパッチキットの量は膨大になってしまった。
そこで、386BSDのユーザらは「386BSDの開発の手助けのため」、パッチキットを適用させた状態の「クリーンナップ」スナップショットの製作プロジェクトを進めた。しかし、Jolitzがこのプロジェクトの受け入れを拒否したことにより、プロジェクトは路線変更を余儀なくされた。結局、パッチキットの最後の取りまとめ役であったNate Williams、Rod Grimes、ジョーダン・ハバードらは、自分達で新しいオペレーティングシステムの開発を行う事を決意し、1993年にFreeBSDプロジェクトをスタートさせた。ちなみに、「FreeBSD」という名前はDavid Greenmanによって考案されたものである。
FreeBSDは4.3BSD Net/2をベースに開発が行われ、1993年12月には最初のリリースであるFreeBSD 1.0が、そして、1994年5月にはFreeBSD 1.1がリリースされた。
しかしこの後、当時UNIXのソースコードの権利をもっていたNovell社とカリフォルニア大学バークレー校との長期に渡った訴訟の和解が成立し、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に登録されているソフトウェアは2010年1月11日の時点で21,000を超えるが日々増加している。そのメンテナンス状況はメンテナと呼ばれる管理者の能力や意欲に左右される面がある。そのため、常時メンテナンスされて高い品質を維持しているportsも多いが、逆にソースファイルのサイトが閉じていたり、ビルドできなかったりあるいは古いバージョンのまま放置されていたりするものがあるという問題点も指摘されている。
日本人メンテナの活動により、日本語環境に関するportsは他言語に比べ比較的良く整備されており、特に日本語版LaTeXは完全な環境が容易かつ安定してインストールできることは特徴的である。
無駄なportsを増やさないために「/etc/portsnap.conf」で使わないカテゴリを指定できるがあくまでディレクトリ単位でのカテゴリ指定しかできない。安直にメタポートと呼ばれるものをビルドしようとすると依存するものを全てビルドしてしまうのでファイル構成を把握したらベーシックなライブラリから更新するとストレージ使用効率が良い。
portsからインストールしたものは、たとえpackage生成を行わないように指定したとしても、packageからインストールしたものと同等に扱われる。サポートツールとしてpkg_replaceの他portmasterとruby依存のportupgrade等が使われる。pkg_addに起因するportの依存記述には問題がありしばしインストールの妨げになることがある。
[編集] 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版に適用されるもの(ただし2011年現在適用例はない)。保証期間はリリース後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 8.2-RELEASE(2011年2月24日)
- CURRENT(最新開発版):FreeBSD 10-CURRENT
- STABLE(安定版):FreeBSD 8.x、FreeBSD 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
[編集] 対応アーキテクチャ
公式サイトにてインストールイメージが配布されているアーキテクチャは以下のとおり。
- i386(一般的なx86ベースの32bit CPU)
- AMD64(Intel,AMD等のCPU向けの一般的な64bit CPU)
- IA-64(Intel Itanium)
- PC-9800シリーズ
- SPARC
- PowerPC
- DEC Alpha - 7.x系のインストールイメージは公開されていない。
これ以外にもARMアーキテクチャ、MIPSアーキテクチャ、Xbox等への移植のためのプロジェクトが存在する。
[編集] 関連プロジェクト、関連ディストリビューション
[編集] FreeSBIEプロジェクト
FreeBSDの1CD版(LiveCD版)としてFreeSBIEプロジェクトがある。
[編集] FreeNASプロジェクト
FreeBSDを基盤としたWebベースでの操作を可能としたNASファイルサーバを運用するプロジェクトがある。
詳細は「FreeNAS」を参照
[編集] PC-BSD
FreeBSDをデスクトップパソコン向けに特化したディストリビューションにPC-BSDがある。
[編集] 使用例
- 2ちゃんねる - 海外のサーバはすべてFreeBSD。
- Yahoo! - netcraftによれば、世界各国のYahoo!のサーバOSはFreeBSDとLinuxが使われている。Yahoo! JAPANも各国のYahoo!と同様にサーバOSはFreeBSDで運用されている。
- さくらインターネット - サービスサーバは創設時から殆どFreeBSDを利用していた。2010年1月現在では、FreeBSD 7.1がメインであるが、各種LinuxディストリビューションやWindows Server 2003がサーバOSとして選択できる他、FreeBSD 6.4サーバを使用できるサービスが一つだけ残されている。
- netcraft 世界中のサーバの運用状況がわかるサイトとして有名であるが、FreeBSDとLinuxで運用されている。
- Livedoor - AAA! CAFEがFreeBSDで運用されている。
[編集] 関連項目
- 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.0-RELEASEでも「WARNING」は変わらず。主支援はThe FreeBSD Network Stack Virtualization Projectにて。
- ジャーナリングファイルシステム - 9.0から正式に搭載される模様
[編集] 脚注
- ^ Supported FreeBSD Releases - FreeBSD Security Information
[編集] 外部リンク
- オフィシャルページ
- ニュース
- ソフトウェア
- 検索
- その他
|
|||||
|
|||||||||||