FreeBSD

Research Unix をベースにしたBSDに由来する、フリーでオープンソースの Unix風オペレーティングシステム ウィキペディアから

FreeBSD

FreeBSD(フリービーエスディー)は、FOSSUnix系オペレーティングシステム (OS) である。Research UnixをベースにしたBerkeley Software Distributionに由来しており、最初のバージョンは1993年にリリースされた。2005年には、FreeBSDは最も人気のあるオープンソースのBSDオペレーティングシステムとなり、単純に寛容にライセンスされたBSDシステムのインストール数の4分の3以上を占めていた。

概要 開発者, プログラミング言語 ...
FreeBSD
アイコンが表示されたFreeBSD 13.1のUEFIブートローダ
開発者 The FreeBSD Project
プログラミング言語 CC++RoffShellAssemblyMakefile
OSの系統 BSD
開発状況 開発中
ソースモデル オープンソース
最新安定版

14.2-RELEASE - 2024年12月3日 (4か月前) (2024-12-03)[1] [±]

13.5-RELEASE - 2025年3月11日 (40日前) (2025-03-11)[2] [±]
リポジトリ
パッケージ管理 pkg, ports
プラットフォーム x64, x86-32, ARM64, ARM, RISC-V, PowerPC, PC-98, SPARC64, Alpha, IA-64, MIPS, Xbox, Wii, Xen, Nintendo Switch
カーネル種別 モノリシックカーネル
(モジュールも使用)
ライセンス BSDライセンス
ウェブサイト www.freebsd.org
テンプレートを表示
閉じる

FreeBSDはLinuxと似ているが、 範囲とライセンスに2つの大きな違いがある。すなわち、Linuxはカーネルデバイスドライバのみを提供し、システムソフトウェアをサードパーティーに頼っているのに対し、FreeBSDはカーネルデバイスドライバユーザーランドユーティリティ、およびドキュメントといった完全なシステムを維持している。FreeBSDのソースコードは通常、寛容なBSDライセンスでリリースされており、Linuxで使われているコピーレフトGPLとは対照的である。

FreeBSDプロジェクトには、ベースディストリビューションに含まれるすべてのソフトウェアを監督するセキュリティチームが含まれている。広範囲のサードパーティー製アプリケーションを追加するには、 pkgパッケージ管理システムやFreeBSD Portsを使ったり、ソースコードをコンパイルしたりしてインストールすることができる。

系譜的にはUNIX本流ともいえるOSであり、過去にはHotmailなどのサーバとして利用されていた実績を有するが、現在では多くがLinuxに置き換えられている。現在の利用状況に関しては、デスクトップOSのシェアは0.01%以下で計測不能であり[3]、サーバOSのシェアは0.1%程度と[4]、泡沫ともいえる厳しい状況が続いている。一方でNetflix社のようにFreeBSDサーバを積極的に活用し[5]、1台あたり400Gbpsという規模のコンテンツ配信を行っているところもある[6]

特徴

要約
視点
Thumb
かつてFreeBSDのロゴとして使用された「BSDデーモン

FreeBSDの開発者達は、Webサイトにて安定していて高速・高性能でなおかつ安全、先進的な機能や多くのセキュリティ機能を提供していると語っていた。FreeBSD jail等の機能もレンタルサーバ等に適したシステムであるといえる。Linuxと異なりカーネルとユーザランドを含めて一つのOSであり、そしてOS側にGPLのものを含まないようにしていることも特徴の一つである。そして、堅牢性の高いBSDカーネルの設計が最大の特徴として認知されている。

OSとしての特性
カーネルの高負荷耐性が高く、負荷が増大しても安定して動作する特徴がある。何千ものユーザーからの同時アクセスにもすばやく応答する[7]
デスクトップ環境
初期状態でツールが一通り揃っているLinuxと違い、ガイダンスに沿って普通にインストールした状態では最小の構成に留められており、CUIからしか操作を行えない。デスクトップ環境を揃えるにはX Window SystemLightDMまたはSDDMといったXディスプレイマネージャLuminaのほか、日本語フォント日本語入力環境などソフトウェアの追加インストールと設定の作業は必須である。GUI経由の設定よりも手作業で /etc/rc.conf などの設定ファイルを直接書き換えて設定する事が多く、若干UNIX熟練者向きであるとされる。しかし、サーバ向けとして見た場合には、このシンプルなOSの構成は安定性に大きく寄与していると言える。
最適化
ソースコードからコンパイルし直すことで、OS全体を特定のCPUに対して最適化する事が可能で、最新のLinuxが動作しないパソコンでも最新版のFreeBSDを実用的な速度で動作させることが可能である。
旧世代ハードウェアのサポート
ISAバスの拡張カード等、旧世代ハードウェアのドライバが豊富に含まれており、最新機種のみならず、数世代以上前のコンピュータでも動作させることが可能である。ただし、性能面での制約はより厳しいものとなる
グラフィックスデバイスのサポート
デスクトップ環境としてみた場合、2D限定あるいは3D機能の一部はX.Org Serverのドライバが多くのビデオカードに対応しており、LuminaのほかXfceGNOMEKDE等のデスクトップ環境を使うことができる。フリーのドライバを使う限りでは多少の対応状況の違いはあるもののLinuxとほぼ同様の環境となる。NVIDIAのビデオカードであればメーカーのドライバがサポートされていてOpenGLで完全な3Dハードウェアアクセラレーションが動作する。
他のプラットフォームのエミュレーション
カーネルレベルでのLinuxバイナリ互換機能(カーネル2.6.16相当)や、アプリケーションレベルではWineによるWindows互換環境等を用いてネイティブでないソフトウェアも使うことができる。

システム要件

以下は、amd64アーキテクチャにおける要件である。

最小構成

推奨される構成

歴史

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によって考案されたもので、386BSDの最初の単語 "Three" をもじって "Free" にした命名である。1993年6月19日、ジョーダン・ハバード、Rod GrimesおよびDavid Greenmanは、FreeBSDの開発開始をアナウンスした。

FreeBSDは4.3BSD Net/2をベースに開発が行われ、1993年12月には最初のリリースであるFreeBSD 1.0が、そして、1994年5月にはFreeBSD 1.1がリリースされた。

1994年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, pkg(8)とソースをビルドするスタイルの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」というコマンドを用いる事で最小限の更新だけで済ませられる(あるいは同portsツリーにあるdevel/git[9]ないしnet/gitup[10]を用いてportsツリーを更新することも可能)。portsに登録されているソフトウェアが新バージョンへ更新した時に一時的にビルドできなくなるなどの問題が発生することもあるので、Perl等の重要なportsの更新時には1週間程度様子を見る必要がある。

portsに登録されているソフトウェアは2022年1月14日の時点で46,811種[11]が登録されており日々増加している。そのメンテナンス状況はメンテナと呼ばれる管理者の能力や意欲に左右される面がある。そのため、常時メンテナンスされて高い品質を維持しているportsも多いが、逆にソースファイルのサイトが閉じていたり、ビルドできなかったりあるいは古いバージョンのまま放置されていたりするものがあるという問題点も指摘されている。

日本人メンテナの活動により、日本語環境に関するportsは他言語に比べ比較的良く整備されており、特に日本語版LaTeXは完全な環境が容易かつ安定してインストールできることは特徴的である。

無駄なportsを増やさないために「/etc/portsnap.conf」で使わないカテゴリを指定できるがあくまでディレクトリ単位でのカテゴリ指定しかできない。安直にメタポートと呼ばれるものをビルドしようとすると依存するものを全てビルドしてしまうのでファイル構成を把握したらベーシックなライブラリから更新するとストレージ使用効率が良い。

portsからインストールしたものは、たとえpackage生成を行わないように指定したとしても、packageからインストールしたものと同等に扱われる。サポートツールとしてpkg_replaceの他portmasterとruby依存のportupgrade等が使われる。pkg_addに起因するportの依存記述には問題がありしばしインストールの妨げになることがある。

pkg

pkg(8)は、FreeBSD用の次世代のパッケージ管理システム pkgng として開発されてきたものである。従来のバイナリベースパッケージ管理システムである package よりも、手軽なバイナリアップデート、リモートパッケージ検索、依存関係の管理等の機能が強化されている。pkgは、これまでのものとはパッケージのデータベースの管理方法が異なるため現時点ではFreeBSD 9.x までのバージョンでは、pkg(8)の使用がデフォルト設定にはなっておらず、手動で pkg 管理システムに移行しなければならない。FreeBSD 10.0Rからデフォルトのパッケージ管理システムとして採用されている。

OSのバージョン

要約
視点

FreeBSDでは安定版であるFreeBSD-RELEASEの他FreeBSD-CURRENTFreeBSD-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のRELEASE版及びSTABLE版、CURRENT版は、Git[12]を使ってソースコードレベルでOSのバージョン管理を行う。

ソースコードの管理は、当初はConcurrent Versions Systemが採用され、更新にはかつては「csup」というコマンドが用いられたが(csupはCVSupの主要な機能をC言語で再実装したものである。これは、CVSupがプログラム言語として一般的でないModula-3で実装されており、これが理由でcsupはベースシステムに含まれるがCVSupはportsから導入する)、cvsupによる配布は2013年2月一杯で終了した。以降2020年12月まではApache Subversionが用いられていたが、現在[13]ではGitへ移行している[14]

/usr/src以下に展開されたソースコードをmakeすることにより、メジャーバージョンの更新も含めてOS全体のバージョンアップができる。

バイナリで配布されたRELEASE版に対しては「freebsd-update」というコマンドが用いられ定期的なセキュリティパッチ等のバージョンアップができる。GENERICカーネルであればカーネルのアップデートも可能である。通常はセキュリティパッチが入るとカーネルの名称に「p2」等とバージョンがつくがカーネル以外だけの更新の場合カーネル名称は変わらない。

セキュリティ対応と保証期間

FreeBSDのSTABLE版及びRELEASE版については、リリース後一定期間、セキュリティに関する問題が発生した場合に必要なアドバイザリ及びアップデートがリリースされる保証期間が設けられる。保証期間については以下の3つの区分が存在する[15]。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 14.2-RELEASE(2024年12月3日)[16]
    • FreeBSD 13.5-RELEASE(2025年3月11日)[17]

バージョンごとの特徴

FreeBSD 1

「1.0-RELEASE」は、4.3BSD Net/2を基にして1993年11月に開発された。

4.3BSD Net/2にUNIXのライセンスに抵触する部分があるとして、1994年7月5日にリリースされた「1.1.5.1-RELEASE」を最後に4.3BSD Net/2を基にした開発を停止。

FreeBSD 2

「2.0-RELEASE」はUNIXのライセンスに抵触していないことが公式に宣言された4.4BSD-Liteを基にして1994年11月22日に発表された。バージョン2の最終版の「2.2.8-RELEASE」は1998年11月29日に発表された。

「2.0-RELEASE」は、AT&T由来のUNIXソースコードの著作権者ノベルの法的請求権から(将来に渡って)公的に解放された最初のFreeBSDのバージョンである[18]。インターネットサーバ拡大期の始まりにおいて、広く使われた最初のバージョンでもある。

FreeBSD 3

「3.0-RELEASE」は1998年10月16日に発表された。バージョン3の最終版の「3.5-RELEASE」は2000年6月24日に発表された。

「3.0-RELEASE」はジャイアントロックを用いてSMPシステムをサポートできる最初のブランチである。「3.1-RELEASE」からはUSBをサポートし、「3.2-RELEASE」からギガビット・イーサネットカードをサポートした。

FreeBSD 4

「4.0-RELEASE」は2000年3月13日に発表された。2005年1月25日に出た最終版の「4.11-RELEASE」は2007年1月31日までサポートされていた[19]

バージョン4は、その安定性を賞賛され、最初のインターネット・バブルの時期にプロバイダホスティングサーバから好まれたオペレーティングシステムであり、Unix系では最も安定した高いパフォーマンスのオペレーティングシステムの一つと広く見なされている[20]。バージョン4の新機能では、「4.1-RELEASE」より、後にNetBSDOpenBSDのシステムの一部となるkqueue(2)のシステムコールを導入した[21]

FreeBSD 5

「5.0-RELEASE」は2003年1月14日にCURRENT(最新開発版)として発表された。バージョン5の最初の安定版のリリースは、2004年9月6日に発表された「5.3-RELEASE」である。「5.05-RELEASE」 - 「5.2.1-RELEASE」は「5-CURRENT」として一般ユーザの利用は勧められていなかった[22]。バージョン5の最終安定版は2006年5月25日に出た「5.5-RELEASE」であった。

バージョン5の最初のブランチとして登場した「5.0-RELEASE」は、先進的なマルチプロセッサアプリケーションスレッディングUltraSPARCIA-64のプラットフォーム対応等のサポートといった注目度の高い機能を手広く先取りしていた。

カーネルロック機構の変更
バージョン5の最大のアーキテクチャに関する開発は、SMPを改善させる為に低レベルのカーネルロック機構を大きく変更させた点であった。これによって、ジャイアントロックからカーネルの大部分のリソースが開放された。複数のプロセスを同時にカーネルモードで実行できるようになった。
KSE
KSE(カーネルスケジュールエンティティ、"Kernel Scheduled Entities")は、1 個のプロセスが複数のカーネルレベルスレッドを持てるようにするための機構である[23]。原理的にKSEと同様に"M:N" モデルを用いる、NetBSDに実装されたScheduler activationsに似ている。KSEは「5.3-RELEASE」から安定版の実装が始まり、「7.0-RELEASE」で1個のカーネルスレッドを1個のユーザーランドスレッドが占有して利用する1:1スレッドの実装に置き換えられるまでFreeBSDのデフォルトのスレッド機構だった。
GEOM
Poul-Henning Kampの貢献によって作られた、ディスクI/O要求を変換するモジュール型フレームワークであるGEOM を実装することで、I/O層のブロック(記録単位)[24]をかなり変更できる。GEOMは、ミラーリング (gmirror) [25]暗号化 (GBDEとGELI) [26]などの機能の多くを簡単に作成可能とする。このGEOMの開発はDARPAによる支援を受けて作成されている。

FreeBSD 6

「6.0-RELEASE」は2005年11月4日にリリースされた。バージョン6の最終版の「6.4-RELEASE」は2008年11月11日にリリースされた。これらのバージョンは、SMPと先進的なIEEE 802.11の機能性の更なる開発の他に下記のようなものがある。

スレッド最適化
VFSマルチプロセッサセーフ (MPSAFE) が有効となり、ジャイアントロックが最小限まで減らされた[27]
著しいネットワークスタックのパフォーマンス強化
libthrライブラリのlibc_rのデフォルトスタックサイズ が増やされ、パフォーマンス性を高めた。32ビットプラットフォームでは、メインスレッドはデフォルトで2MBのスタックを受け取り他のスレッドではデフォルトで1MBのスタックを受け取る(64ビットプラットフォームでのデフォルトスタックサイズ は、それぞれ4MBと2MBとなる)。
OpenBSM
TrustedBSD[28]プロジェクトによって作成されBSDライセンスの下でリリースされたセキュリティイベントの監査用のOpenBSM[29]と呼ばれる基本セキュリティモジュール (BSM) 監査[30]の実装をした。これはAppleオープンソースDarwinに見出したBSM実装に基づいたものである。

その他、プリエンプティブカーネル(タスクの置き換え)とハードウェアパフォーマンス測定ドライバ (HWPMC) [31]のサポート等が挙げられる。

FreeBSD 7

「7.0-RELEASE」は2008年2月27日にリリースされた。バージョン7の最終版の「7.4-RELEASE」は2011年2月24日にリリースされた。

新機能は下記の通り多彩に渡る。

ベンチマークは、LinuxだけでなくFreeBSDの以前のバージョンに比べても著しい速度の向上を示している[35]

ULEスケジューラ
「5.1-RELEASE」から実験的に実装されてきたULEスケジューラは、「7.0-RELEASE」の新版でカーネルの構築時にスケジューラを調整できるようになるなど大きく改良されていたが、依然「4BSDスケジューラ」と呼ばれる従来のスケジューラが標準で実装されていた[36]。「7.1-RELEASE」では、AMD64/i386版で、標準でULEスケジューラが採用された[37]
システム情報取得機能「DTrace」
「7.1-RELEASE」よりDTraceが実装されてシステムのダイナミックな監視やトラブルシューティングが可能になった[37]。「プローブ (probe)」と呼ばれるデータ観測ポイントに、dtraceコマンドを含む「DTraceコンシューマ」という情報所得するプログラムを使って情報を取得する。dtraceコマンドは「D」と呼ばれるC言語に似たスクリプト言語で記述することによって実行ができる。これにより、プローブからのデータを取り出したり集計することができる[38]
jailによる仮想環境構築
「7.2-RELEASE」では、jailというOSレベルでの仮想化機構が実装された。1つのJail仮想環境に対して複数のIPv4/v6アドレスを割り当てたり、IPアドレスを割り当てないで運用したりすることが可能になった[39]

「4.0-RELEASE」より対応していたDEC Alphaアーキテクチャへの対応は、「7.0-RELEASE」より中止となった[40]

FreeBSD 8

「8.0-RELEASE」は2009年11月25日にリリースされた[41]。2009年8月にトランクからバージョン8はブランチした。バージョン8の最新版は「8.4-RELEASE」で2013年6月7日にリリースされた[42]

主な機能は、SuperPages対応、Xenの「ドメインU (domU)」への対応、ネットワークスタックの仮想化、スタックスマッシュプロテクション、新しいTTYレイヤへの置き換え、大幅に更新され、改善されたZFSへの対応、「8.2-RELEASE」で追加されたUSB3.0とそのホストコントローラの規格であるxHCIへの対応、IGMPv3を含むマルチキャストのアップデート、(「8.2-RELEASE」で追加された)インテルCPU対応のNFSv4AESアクセラレータを導入しているNFSクライアント・サーバの書き換えである。

改良されたデバイスのmmap()の拡張機能によって、x86-64プラットフォーム用の64ビットNVIDIAディスプレイドライバが実装可能となった。プラグイン対応の輻輳制御フレームワークと、Linuxのエミュレーション下で実行されるアプリケーションのシステム情報を取得するDTraceを使用可能とする機能は「8.3-RELEASE」で追加された。

FreeBSD 9

「9.0-RELEASE」は2012年1月12日にリリースされた[43]。「9.1-RELEASE」は2012年12月31日にリリースされた[44]。「9.2-RELEASE」は2013年9月30日にリリースされた[45]。「9.3-RELEASE」は2014年7月16日にリリースされた[46]

リリースの主な機能は、新しいインストーラ bsdinstall(8) の追加、UFSのFFS (Fast Filesystem) がsoftupdatesジャーナリングに対応、ZFSがバージョン28に更新、ユーザレベルDTraceの導入、NFSサブシステムが、NFSv3およびNFSv2に加えてNFSv4に対応した新しい実装に更新、ファイル保護機能Capsicumをカーネルでサポート[47]、FreeBSD/powerpcでPlayStation 3をサポートなどである。

カーネルとベースシステムはClangを使用して構築することができるようになったが、「9.0-RELEASE」はまだデフォルトでGCC4.2を使用している。

Orbis OS
PlayStation 4ゲーム機用OSとして、「9.0-RELEASE」からSCEフォークした「Orbis OS」と呼ばれるFreeBSD派生OSが使用されている[48][49]

FreeBSD 10

「10.0-RELEASE」は2014年1月20日にリリースされた[50]。「10.1-RELEASE」は2014年11月14日にリリースされた[51]。「10.2-RELEASE」は2015年8月13日にリリースされた[52]

  • 非推奨が含まれるGCCをClangに置き換えている。
  • BINDをベースシステムから削除している。
  • デフォルトパッケージ管理ユーティリティとしてpkg(7)を採用している。
  • iSCSI規格の実装

VirtIO (準仮想化)ドライバがKVMに対応、FUSEの実装などである[53]

「10.0-RELEASE」に実装されたBHyVe(BSDハイパーバイザ)は、まだ実験的なハイパーバイザであるが、仮想マシン内でゲストOSを稼働できる。仮想CPU数・ゲストメモリ・IOコネクティビティなどなどもコマンドラインパラメータで指定できる[54]

「10.3-RELEASE」より、UEFIシステムにおけるroot-on-ZFSインストールに対応した[55]

FreeBSD 11

「11.0-RELEASE」は2016年10月10日にリリースされた[56]

FreeBSD 11は新しいサポートモデルの下で、少なくとも2021年9月30日までの5年間の長期サポートが行われるとしている[57]

FreeBSD 11.0-RELEASEのリリースエンジニアリングの終盤でOpenSSLの脆弱性が公開されたため、FreeBSDリリースエンジニアリングチームはこれを修正した「FreeBSD 11.0-RELEASE-p1」を新しくビルドして公開した。今回のリリース対象はこのパッチレベル1が対象となっている。アップグレードする際に「FreeBSD 11.0-RELEASE」がインストールされている場合、早期に「FreeBSD 11.0-RELEASE-p1」以降へアップグレードすることが望まれるとしている。

FreeBSD 11.1-RELEASEは予定通り2017年7月26日リリースされた。

更新内容と一部としては
Clang, LLVM, LLD, LLDB, libc++ がバージョン 4.0.0. へ更新された。
Elf Tool Chain, ACPICA, libarchive(3), ntpd(8), unbound(8), などのサードパーティー・ソフトウェアが更新された。
blacklistd(8) が OpenSSHに追加された。

FreeBSD 12

「12.0-RELEASE」は2018年12月11日にリリースされた[58]

安定版ブランチ単位で5年間のサポートを提供することについてビジネスモデルを再評価する必要が出てきたとして、2019年3月31日まで新しいサポートモデルに関して意見を募るとしている[59]

「12.1-RELEASE」は2019年11月4日にリリースされた[60]

「12.2-RELEASE」は2020年10月27日にリリースされた[61]

「12.3-RELEASE」は2021年12月7日にリリースされた[62]

「12.4-RELEASE」は2022年12月5日にリリースされた[63]

FreeBSD 13

2021年4月13日、「13.0-RELEASE」がリリース[64]

2022年5月12日、「13.1-RELEASE」がリリース[65]

2023年4月11日、「13.2-RELEASE」がリリース[66]

2024年3月5日、「13.3-RELEASE」がリリース[67]

2024年9月17日、「13.4-RELEASE」がリリース[68]

2025年3月11日、「13.5-RELEASE」がリリース[69]

FreeBSD 14

2023年11月20日、「14.0-RELEASE」がリリース[70]

2024年6月4日、「14.1-RELEASE」がリリース[71]

2024年12月3日、「14.2-RELEASE」がリリース[72]

これまでのリリース

掲載しているのはRELEASEのアナウンスがされたバージョンのみ。

さらに見る バージョン, リリース日 ...
凡例
サポート終了
サポート中
現行バージョン
最新プレビュー版
将来のリリース
バージョン[73] リリース日[74] サポート終了予定[75] 備考
サポート終了:1.0-RELEASE 1993年11月1日
サポート終了:1.1-RELEASE 1994年5月6日
サポート終了:1.1.5-RELEASE 1994年6月30日
サポート終了:1.1.5.1-RELEASE 1994年7月5日
サポート終了:2.0-RELEASE 1994年11月22日
サポート終了:2.0.5-RELEASE 1995年6月10日
サポート終了:2.1-RELEASE 1995年11月19日
サポート終了:2.1.5-RELEASE 1996年7月16日
サポート終了:2.1.6-RELEASE 1996年11月15日 FreeBSD 2.1.6.1-RELEASEに置き換え
サポート終了:2.1.6.1-RELEASE 1996年11月26日
サポート終了:2.1.7-RELEASE 1997年2月20日
サポート終了:2.1.7.1-RELEASE 1997年3月19日
サポート終了:2.2-RELEASE 1997年3月16日
サポート終了:2.2.1-RELEASE 1997年3月25日
サポート終了:2.2.2-RELEASE 1997年5月16日
サポート終了:2.2.5-RELEASE 1997年10月22日
サポート終了:2.2.6-RELEASE 1998年3月25日
サポート終了:2.2.7-RELEASE 1998年7月22日
サポート終了:2.2.8-RELEASE 1998年11月30日
サポート終了:3.0-RELEASE 1998年10月15日
サポート終了:3.1-RELEASE 1999年2月15日
サポート終了:3.2-RELEASE 1999年5月18日
サポート終了:3.3-RELEASE 1999年9月17日
サポート終了:3.4-RELEASE 1999年12月20日
サポート終了:3.5-RELEASE 2000年6月24日
サポート終了:4.0-RELEASE 2000年3月13日
サポート終了:4.1-RELEASE 2000年7月27日
サポート終了:4.1.1-RELEASE 2000年9月27日
サポート終了:4.2-RELEASE 2000年11月22日
サポート終了:4.3-RELEASE 2001年4月20日
サポート終了:4.4-RELEASE 2001年9月20日
サポート終了:4.5-RELEASE 2002年1月29日 2002年12月31日
サポート終了:4.6-RELEASE 2002年6月15日 2003年5月
サポート終了:4.6.2-RELEASE 2002年8月15日
サポート終了:4.7-RELEASE 2002年10月10日 2003年12月
サポート終了:4.8-RELEASE 2003年4月3日 2004年3月31日
サポート終了:4.9-RELEASE 2003年10月28日 2004年10月31日
サポート終了:4.10-RELEASE 2004年5月27日 2006年5月
サポート終了:4.11-RELEASE 2005年1月25日 2007年1月31日
サポート終了:5.0-RELEASE 2003年1月14日 2003年6月30日 6.0が出るまではCURRENT(開発ブランチ)扱いであった
サポート終了:5.1-RELEASE 2003年6月9日 2004年2月
サポート終了:5.2-RELEASE 2004年1月9日 2004年12月31日
サポート終了:5.2.1-RELEASE 2004年2月25日
サポート終了:5.3-RELEASE 2004年11月6日 2006年10月31日 5.x系では初めてとなるSTABLEブランチからのリリース
サポート終了:5.4-RELEASE 2005年5月9日
サポート終了:5.5-RELEASE 2006年5月25日 2008年5月31日
サポート終了:6.0-RELEASE 2005年11月4日 2007年1月31日
サポート終了:6.1-RELEASE 2006年5月8日 2008年5月31日
サポート終了:6.2-RELEASE 2007年1月15日
サポート終了:6.3-RELEASE 2008年1月18日 2010年1月31日
サポート終了:6.4-RELEASE 2008年11月28日 2010年11月30日
サポート終了:7.0-RELEASE 2008年2月27日 2009年4月30日
サポート終了:7.1-RELEASE 2009年1月4日 2011年2月28日
サポート終了:7.2-RELEASE 2009年5月4日 2010年6月30日
サポート終了:7.3-RELEASE 2010年3月23日 2012年3月31日
サポート終了:7.4-RELEASE 2011年2月24日 2013年2月28日
サポート終了:8.0-RELEASE 2009年11月25日 2010年11月30日
サポート終了:8.1-RELEASE 2010年7月23日 2012年7月31日
サポート終了:8.2-RELEASE 2011年2月24日
サポート終了:8.3-RELEASE 2012年4月18日 2014年4月30日
サポート終了:8.4-RELEASE 2013年6月7日 2015年6月30日
サポート終了:9.0-RELEASE 2012年1月12日 2013年3月31日
サポート終了:9.1-RELEASE 2012年12月30日 2014年12月31日
サポート終了:9.2-RELEASE 2013年9月30日
サポート終了:9.3-RELEASE 2014年7月16日 2016年12月31日
サポート終了:10.0-RELEASE 2014年1月20日 2015年2月28日
サポート終了:10.1-RELEASE 2014年11月14日 2016年12月31日
サポート終了:10.2-RELEASE 2015年08月13日
サポート終了:10.3-RELEASE 2016年04月04日 2018年04月30日
サポート終了:10.4-RELEASE 2017年10月3日 2018年10月31日
サポート終了:11.0-RELEASE 2016年10月10日 2017年11月30日
サポート終了:11.1-RELEASE 2017年7月26日 2018年9月30日
サポート終了:11.2-RELEASE 2018年6月27日 2019年10月31日
サポート終了:11.3-RELEASE 2019年7月9日 2020年9月30日
サポート終了:11.4-RELEASE 2020年6月16日 2021年9月30日
サポート終了:12.0-RELEASE 2018年12月11日 2020年2月29日
サポート終了:12.1-RELEASE 2019年11月4日 2021年1月31日
サポート終了:12.2-RELEASE 2020年10月27日 2022年3月31日
サポート終了:12.3-RELEASE 2021年12月7日 2023年3月31日
サポート終了:12.4-RELEASE 2022年12月5日 2023年12月31日
サポート終了:13.0-RELEASE 2021年4月13日 2022年8月31日
サポート終了:13.1-RELEASE 2022年5月16日 2023年7月31日
サポート終了:13.2-RELEASE 2023年4月11日 2024年6月30日
サポート終了:13.3-RELEASE 2024年3月5日 2024年12月31日
サポート中:13.4-RELEASE 2024年9月17日 2025年6月30日
現行バージョン:13.5-RELEASE 2025年3月11日 13.xのサポートは、2026年4月30日まで[76]
サポート終了:14.0-RELEASE 2023年11月20日 2024年9月30日
サポート終了:14.1-RELEASE 2024年6月4日 2025年3月31日
現行バージョン:14.2-RELEASE 2024年12月3日
将来のリリース:14.3-RELEASE 2025年6月3日
バージョン リリース日 サポート終了予定 備考
閉じる

※2006年4月1日には、エイプリルフールのネタとしてFreeBSD 2.2.9-RELEASEが発表されている。

バージョン別の主な機能変更

1.1-RELEASE[77]
2.0-RELEASE[78]
  • コードのベースをBSD-Lite 4.4に取り換え
  • 新規のインストーラ
  • 新規のブートマネージャ
  • (FAT・unionfs・kernfs等)多くのファイルシステム
  • 大規模ファイルシステム用に差し替えた64ビットのコード
  • ロード可能なファイルシステム等のコードの置き換え
  • NetBSDからロード可能なカーネルモジュールをインポート
2.0.5-RELEASE[79]
2.1.5-RELEASE[80]
  • バグとセキュリティの修正
  • PCIバス解析
  • 一部のドライバの追加
2.1.6-RELEASE[81]
  • バグとセキュリティの修正
  • インストール機能の改良
2.1.7-RELEASE[82]
  • バグとセキュリティの修正
2.2-RELEASE[83]
2.2.1-RELEASE[84]
  • 2.2用のバグ修正
  • Adaptec 2940」と「インテルEtherExpress Pro」のドライバのアップデート
  • CD-ROMパッケージのインストーラの修正
2.2.2-RELEASE[85]
  • NFSv3が標準実装
  • 仮想FTPサーバ機能
2.2.5-RELEASE[86]
2.2.6-RELEASE[87]
  • ATAPIのフロッピーディスクドライブ
  • Linuxulatorの改良
  • 新しいサウンドドライバの対応
  • 新しい(PnP)の対応
2.2.7-RELEASE[88]
2.2.8-RELEASE[89]
  • ipfirewallのコンポーネントのdummynet traffic shaper機能
  • マルチインタフェース間のブリッジ機能
  • 8GB以上のIDEドライブに対応
3.0-RELEASE[90]
3.1-RELEASE[91]
  • USB対応
  • ユーザー認証システムのPAM(Pluggable Authentication Modules)機能
3.2-RELEASE[92]
3.3-RELEASE[93]
  • 改良されたUSB対応
  • RAIDを実行できるストレージ・マネージャーの「vinum」のメジャーアップデート
  • IPFWの改良
  • 電源管理インタフェース「APM」
  • データリンク層インタフェース「BPF」を標準設定可能にした
  • 多くのドライバを追加
3.4-RELEASE[94]
  • Netgraph
  • 「vinum」のRAID-5対応
  • ICMPとその他のセキュリティ修正
3.5-RELEASE[95]
4.0-RELEASE[96]
4.1-RELEASE[97]
  • システムコールKqueue
  • IPsecの改良
  • DEC Alpha対応を拡大
  • 標準インストール作業でのUSB対応
4.1.1-RELEASE[98]
  • ブリッジされた環境設定での仮想イーサネットデバイスドライバ
  • ATA100のコントローラ対応
4.2-RELEASE[99]
  • 初期的なUSBスキャナーの対応
  • USBモデムの対応
  • バッファオーバーフロー時のバグ修正
  • Portsの再構築
4.3-RELEASE[100]
  • サウンドドライバのアップデート
  • TCPのバグ修正
  • システムコールkqueueのデバイス層への拡張
4.4-RELEASE[101]
  • 新プロセッサ(Crusoe et al.)の検出
  • SSEの対応
  • smbfs(CIFS)のカーネル対応
  • IPv6スタックのアップデート
4.5-RELEASE[102]
  • TCPの改良(スループット・パフォーマンス・サービス拒否攻撃の鎮静等)
  • 標準でSoft updatesが出来るようになる
  • Linuxulatorの改良
  • 起動ローダが16Kのディスクブロック長を持つファイルシステムからの起動に対応(それまでは8K)
4.6-RELEASE[103]
  • XFree86のバージョンを4.2.0にアップデート
  • ドライバの追加とアップデート
4.6.2-RELEASE[104]
  • ATAデバイスにアクセスした時に生じていたエラーを修正
  • セキュリティ関連のバグを修正
4.7-RELEASE[105]
  • 新しいUSBデバイスとディスクコントローラ
  • (デフォルトでは無効な)IPFW2が追加
4.8-RELEASE[106]
  • 初期的なFirewireハイパースレッディングの対応
  • OpenBSD由来の新しいカーネル暗号化フレームワークを統合
  • ata(4)ドライバがCAMレイヤとCAMドライバ( cd(4)・da(4)・st(4)・pass(4))を経由してATAデバイスをSCSIデバイスとしてアクセスできるようにする機能に対応
4.9-RELEASE[107]
4.10-RELEASE[108]
  • USB 2.0に対応
  • Portsにports/CHANGESとports/UPDATINGが追加
4.11-RELEASE[109]
  • XFree86のバージョンを4.4.0にアップデート
  • インタフェース単位で制御可能なpolling(4)機能が実装されて全てのネットワークドライバは ifconfig(8) を使って制御できるようになる
5.0-RELEASE[110]
5.1-RELEASE[111]
  • x86-64の実験的なサポート
  • マルチスレッドプロセスの為の実験的な1:1スレッド(1個のカーネルスレッドを1個のユーザーランドスレッドが占有して利用)とM:Nスレッディングライブラリ
  • 実験的な Name Service Switch
  • PAE
  • GEOMとオプションから必須機能になったdevfs
  • LinuxulatorでのIPv6対応
  • 実験的なULEスケジューラ
  • 7年間正常に動作していなかった「XNS(Xerox Network Systems)」の対応削除
  • CAMレイヤが232個以上のブロックを持つデバイスに対応
  • rcNG(/etcにある起動スクリプトが削除され、NetBSDから移植された「rc.d」システムに置き換え)
  • XFree86のバージョンを4.3.0にアップデート
  • デンマーク語(da_DK.ISO8859-1)翻訳プロジェクトが発足
5.2-RELEASE[112]
  • x86-64のアーキテクチャが、サポートレベル順位「Tier 1」とされ、ほぼフル対応の対象となった
  • swap pagerの更新
  • カーネルが「Protocol Independent Multicastルーティング」(pim(4))に対応
  • IPv6とIPSec修正と更新がKAMEプロジェクトから統合
  • Bluetoothプロトコルスタックが更新
  • (ata(4)ドライバの ジャイアントカーネルロックが外されて)ata(4)ドライバが大きく書き直された
  • NFSv4クライアントが実装
  • トルコ語(tr_TR.ISO8859-9)翻訳プロジェクトが開始[113]
  • i386版で浮動小数点エミュレーションが削除[114]
  • IDE・SATA802.11a/b/gデバイスのドライバ対応が追加・改善、実験的なIPトラフィックのフィルタリング機能と転送機能のマルチスレッド化
5.2.1-RELEASE[115]
  • バグとセキュリティを修正
  • ATA/IDEおよびSATAの処理の著しい改善
5.3-RELEASE[116]
  • ネットワークインタフェースでのキュー制御をするALTQ
  • ネットワークとソケットサブシステムは、マルチスレッド化され、リエントラント(再入可能)対応となる
  • 新しいデバッグフレームワークKDB(Kernel debugger)の追加
  • TLSの動的・静的リンクの対応
  • OpenBSDからPF導入
  • GCC 3.4.2、Binutils 2.15、gdb 6.1に更新[117]
  • カーネルでWindows NDISネットワークドライバに対応。i386プラットフォームでバイナリ互換インターフェイスを導入
  • XFree86に替わって、X.org 6.7対応
  • サウンドカードのドライバ再構築
  • 暗号処理アクセラレータ
5.4-RELEASE[118]
5.5-RELEASE[120]
  • デュアルコアプロセッサの両方のコアがカーネルを使用して標準でSMPに対応できる
6.0-RELEASE[121]
  • 実験的なPowerPC対応
  • 無線セキュリティプロトコルWPA
  • wirelessアダプタのドライバ追加
  • 802.11g/i802.1XWME/WMM完全対応
  • ファイルシステムとディスクへの直接アクセスのパフォーマンスの改良
6.1-RELEASE[122]
  • ブート時の特別なオプションがなくともPS/2キーボードとUSBキーボードの共存が可能な「キーボード多重化」[123]
  • ファイルシステムの安定性改善
  • 多くのBluetoothデバイスの自動化された環境設定
  • イーサネット対応ドライバ
  • SAS/SATA対応RAIDコントローラ
6.2-RELEASE[124]
  • Xboxのアーキテクチャ対応
  • OpenBSM
  • セキュリティイベント監査
  • ipfirewall
  • セキュリティ修正とエラーパッチのバイナリアップデート
  • OpenIPMI(公開されたシステム管理の為のインタフェース)
6.3-RELEASE[125]
  • X.orgのバージョンを7.3にアップデート
  • UnionFSの再実装
  • 「freebsd-update」アップデートツール追加
  • OpenBSD/NNetBSDからlagg(4)ドライバ導入[126]
6.4-RELEASE[127]
  • 共通鍵ブロック暗号Camellia cipherに対応
  • 起動ローダの変更(USBデバイスからの起動とGPT対応BIOSからのGPTラベルデバイスの起動が可能となる)
  • malloc(9)で割り付けられたメモリのためのバッファ間違いを検出する「RedZone」
  • DVDでの ISOイメージ(x86-64i386対応)
7.0-RELEASE[128] drop support for DEC Alpha[129]
7.1-RELEASE[131]
  • DTrace
  • ULEスケジューラがi386/x86-64版の標準スケジューラとなる
7.2-RELEASE[132]
  • UltraSPARC IIIに対応
  • 仮想メモリサブシステムでのsuperpagesのトランスペアレント(利用者にソフトウェアの存在・作用が意識されない)利用
  • jailの実装
7.3-RELEASE[133][134]
  • 新しいgptzfsboot起動ローダ(GPTZFSに対応)
  • ZFSのバージョンを13にアップデート
  • Perlのバージョンを5.10にアップデート
  • VIA Nanoプロセッサに対応
7.4-RELEASE[135]
8.0-RELEASE[136]
  • 新たなUSB実装「USB2」
  • jailが"Vimage Jail"にアップデート[137]
  • 改善されたULE3スケジューラ
  • superpages対応
  • NFSv4対応
8.1-RELEASE[138]
  • HAST(Highly Available STorage)フレームワーク追加[139]
  • IPFW and dummynet improvements
  • PowerPC G5でのSMPサポート(デフォルトでは無効)
  • MS-DOS用ファイルシステムMP-safe
  • ZFS版対応のブートローダzfsloader追加
  • NFSv4 ACLUFS版とZFS版に正式対応
8.2-RELEASE[140]
  • LinuxulatorにVL4(Video4Linux)をインポート
8.3-RELEASE[141][117]
  • graid(8) GEOMクラスを各種BIOSベースのソフトウェアRAIDコントローラー対応のために追加 (ataraid(4)の代替)
  • ZFSのバージョンを28にアップデート
  • DTraceがLinuxulatorバイナリに対応
  • TCP/IPスタックがカーネルモジュール化された輻輳制御フレームワークmod_cc(9)に対応
8.4-RELEASE[142][143][117]
  • セキュリティ関連を含むバグ修正
  • ZFSの強化
9.0-RELEASE[144][117]
  • ユーザーレベルDTraceの導入
  • GCCに代わってClangLLVMをベースシステムに追加
  • USB3.0に対応
  • FFSがsoftupdatesジャーナリングに対応
  • ATA/SATAドライバーがCAMフレームワークに統合され、AHCIサポート
  • ZFSのバージョンを28にアップデート
  • 新型インストーラーのbsdinstall(8)
  • FreeBSD/ppcがPlayStation 3に対応
9.1-RELEASE[145][117]
  • GEM/KMSをサポートする新しいIntel GPUドライバ
  • 高速ユーザー空間パケットI/Oフレームワークとして、netmap(4)を追加
  • サウンドドライバのアップデート
  • IPv6の改善
  • LLVM libc++とlibcxxrtを含む、新しいC++11スタック
  • jailがdevfs・nullfs・ZFSに対応
  • sched_ule(4)によるSMTのロードのバランスの改良
9.2-RELEASE[146][117]
  • ZFSファイルシステムがLZ4圧縮形式に対応
  • ZFSファイルシステムがSSDのTRIMに対応
  • Firewireドライバ削除
  • i386/x86-64アーキテクチャにvirtio(4)ドライバを追加
10.0-RELEASE[147][117]
  • GCCの廃止とclang/LLVMに正式移行 (C/C++コンパイラーおよびライブラリでGPLフリーの達成)
  • bhyve(8)やvirtio(4)の追加など、Microsoft Hyper-V向けの仮想化機能の強化
  • USBをアップデート
  • ファイル保護機能capsicumをカーネルでサポート
  • pkg(7)をデフォルトのパッケージ管理ユーティリティとし、pkg_add(1)、pkg_delete(1)および関連ツールは廃止
  • DNSサーバBIND廃止
  • LDNS(DNSライブラリ)とDNSキャッシュサーバとしてUnboundを採用
  • Raspberry PiIEEE 802.11sFUSEの追加対応
  • ZFSをサーバのrootファイルシステムとして利用可能
  • GNUのツールをBSDライセンス版に代替
10.1-RELEASE[148][117]
  • ユニコードをサポートし、グラフィックモードの利用を改善するシステムコンソールvt(4)の追加[149]
  • amd64のみUEFIからの起動を初期サポート
  • IPv4およびIPv6スタックに対し、音声などマルチメディアに適しているとされる(RFC 3828で定義された)UDP-Liteプロトコルサポートを追加[150]
  • ハイパーバイザbhyve(4)にzfsファイルシステムからの起動サポート
  • ハイパーバイザbhyve(4)へFreeBSD/i386ゲストのサポート機能を追加
  • ファイルシステムの自動マウント機能であるautofs(5)を導入
  • armv6カーネルへSMPサポート機能を追加
10.2-RELEASE[151][152]
  • LinuxCentOS 6互換環境を提供するlinux_base-c6をデフォルトで採用
  • Linuxカーネル3.8.13に対応するようにDRMコードを更新し、複数のX.Org Serverを同時に実行することも可能とする
  • ZFSのパフォーマンスと信頼性の改善
  • resolvconfはプライバシー保護機能を強化したバージョン3.7.0に、GNOMEは3.14.2に、KDEは4.14.3にそれぞれアップデート
  • ARMサポートを強化
10.3-RELEASE[55][153][154]
  • UEFIシステムに自動モードでroot-on-ZFSインストールが作成可能となる
  • rerootの初期実装にrebootが追加
  • GNOMEは3.16.2に、TeX LiveはTL2015に、X.Org Serverは1.17.4にそれぞれアップデート
10.4-RELEASE[155]
  • eMMCストレージのフルサポート
  • fsck_ffs(8)ユーティリティにおけるGPTディスクラベルでのオルタネートスーパーブロックのサポート
  • ユーザランドコアダンプにヒューマンリーダブルなクラッシュレポートを報告するイベントを発生させることができる機能を追加(デフォルトでは無効)
11.0-RELEASE[57]
  • ZFSディスクのホットスペアおよびオートリプレースを可能にするzfsd(8)デーモンを導入
  • ハイパーバイザbhyve(8)においてネイティブグラフィック機能をサポート
  • AArch64(arm64)アーキテクチャのサポート追加
  • libblacklist(3)ライブラリおよびアプリケーションをNetBSDより移植
  • 802.11nワイヤレスのサポート追加
  • OpenSSHを7.2.p2へアップデート
  • OpenSSH DSA鍵生成をデフォルトで無効化およびプロトコル1のサポート廃止
  • より多くのワイヤレスネットワークドライバを追加
  • svnlite(1)をバージョン1.9.4へアップデート
11.1-RELEASE[156][157]
  • Clang、LLVM、LLD、LLDB、libc++をバージョン4.0.0へアップデート
  • Microsoft Hyper-V Generation 2サポートの追加
11.2-RELEASE[158][159]
  • Clang、LLVM、LLDB、compiler-rtをバージョン6.0.0へアップデート
  • 特定のDTraceプローブのトリガプロセスを見るdwatch(1)、EFIブートマネージャーの操作ができるefibootmgr(8)、El Toritoブートカタログ情報を閲覧できるetdump(1)などのユーティリティの追加
11.3-RELEASE[160]
  • clang、llvm、lld、lldb、compiler-rt、libc++のバージョンは8.0.0にアップデート
  • ZFSファイルシステムにパラレルマウント機能を追加
11.4-RELEASE[161][162]
  • clang, llvm, lld, lldb, compiler-rt 各ユーティリティは、バージョン10.0.0に更新
  • OpenSSLがバージョン1.0.2uに更新
  • Unboundがバージョン1.9.6に更新
  • pkg(8)ユーティリティがバージョン1.13.2に更新
  • KDEデスクトップ環境がバージョン5.18.4.1.19.12.3に更新
  • GNOMEデスクトップ環境がバージョン3.28に更新
  • ZFSブックマークの名前変更のサポートが追加
  • certctl(8)ユーティリティが追加
  • ユーザーランドアプリケーションへのいくつかの機能の追加と更新
  • 将来のリリースで廃止された機能に関する警告を促す表示開始
  • (RFC 6649)および(RFC 8429)で非推奨になったKerberosGSSAPIアルゴリズムの警告が追加
12.0-RELEASE[58][59][163]
  • Clang、LLVM、LLDB、compiler-rtをバージョン6.0.1へアップデート
  • NUMAオプションがamd64 GENERICとMINIMALカーネル設定でデフォルトで有効となった
  • jail(8)内部におけるbhyve(8)利用のサポート
12.1-RELEASE[164]
  • Cで書かれたSSL/TLSプロトコル(RFC 5246)の実装であるBearSSLをベースシステムにインポートした。OpenSSLはバージョン1.1.1dにアップデート
  • clang、llvm、lld、lldb、compiler-rt、libc++は最新の8.0.1となった。
  • zfsでは、ブックマーク向けのsendサブコマンドと合わせて「-v」、「-n」、「-P」フラグのサポートなどが加わった。
12.2-RELEASE[165]
  • 802.11nおよび802.11acのサポートを向上させるために、ワイヤレスネットワークスタックとさまざまなドライバのアップデート
  • ice(4)ドライバーが追加され、インテル®100Gbイーサネットカードをサポート
  • jail(8)ユーティリティが更新され、jailされた環境でLinux®を実行可能に
  • OpenSSLをバージョン1.1.1hに更新
  • OpenSSHをバージョン7.9p1に更新
  • clang, llvm, lld, lldb, compiler-rtユーティリティはバージョン10.0.1に更新
12.3-RELEASE[166]
  • さまざまなネットワークドライバーの更新
  • アップストリームで提供されたソフトウェアに対するいくつかの更新
  • いくつかのユーザーランドアプリケーションの改善とカーネルのバグ修正
12.4-RELEASE[167]
  • ena(4) カーネル ドライバーが 2.6.1 に更新
  • if_epair(4) ドライバーでは、複数のコアを使用してトラフィックを処理し、パフォーマンスを向上
  • unbound(8) ユーティリティがバージョン 1.16.3 に更新
  • telnetd(8) デーモンは廃止
  • tcpdump(1) ユーティリティでは、pflog ヘッダーの一部として公開されるルールに番号を設定可能
  • OpenSSLを1.1.1q に更新
  • OpenSSHを9.1p1 に更新
  • LLVM ツールチェーン スイートがバージョン 13.0.0 に更新
  • dma(8) ユーティリティがスナップショット 2022-01-27 に更新
  • file(1) ユーティリティがバージョン 5.43 に更新
  • libarchive(3) ライブラリがバージョン 3.6.0 に更新
13.0-RELEASE[168][169]
  • clang、lld、およびlldbユーティリティとcompiler-rt、llvm、libunwind、およびlibc ++ライブラリがバージョン11.0.1に更新
  • crackinfo(8)で使用するために /usr/libexec にインストールされていた古いバージョンのGNUデバッガーを削除
  • 廃止されたbinutils2.17とgcc(1)4.2.1をツリーから削除
  • BSDバージョンのgrep(1)が標準導入、以前標準であったGNU版は削除
  • libalias(3)からCU-SeeMeサポートを削除
  • qat(4)ドライバーが追加
  • いくつかの非推奨のドライバーが削除
  • いくつかのドライバーがPowerPC64アーキテクチャーに移植
  • カーネルは、TLSバージョン1.0から1.3のTCPソケットでのトランスポート層セキュリティ(TLS)データのカーネル内フレーミングと暗号化をサポート
  • arm64またはAArch64として知られる64ビットARMアーキテクチャは、FreeBSD13のTier-1ステータスに昇格
13.1-RELEASE[170]
  • OpenSSHをバージョン8.8p1に更新
  • OpenSSLをバージョン1.1.1oに更新
  • sshでFIDO/U2Fハードウェア認証の使用が可能になり、新しく公開鍵タイプecdsa-skとed25519-skと、それらに対応した証明書タイプを使用するようになった
  • ice(4)ドライバを1.34.2-kに更新、ファームウェアのロギングと初期のDCB対応を追加
  • より新しい Intel Wireless チップセット用の iwm(4) を補完するためにiwlwifi(4)ドライバと LinuxKPI 802.11 互換レイヤを追加
  • ZFSをOpenZFS release 2.1.4に更新
  • EC2イメージは、デフォルトでレガシーなBIOSではなくUEFIを使用してブートするようにビルドされるようになった
13.2-RELEASE[171][66]
  • OpenSSHをバージョン9.2p1に更新
  • OpenSSLをバージョン1.1.1tに更新
  • bhyveハイパーバイザがゲストで16を超えるvCPUをサポート
  • ZFSをOpenZFS release 2.1.9に更新
13.3-RELEASE[67]
  • OpenSSHをバージョン9.6p1に更新
  • ZFSをOpenZFS release 2.1.14に更新
13.4-RELEASE[68]
  • OpenSSHをバージョン9.7p1に更新
14.0-RELEASE[70]
  • OpenSSHをバージョン9.5p1に更新
  • OpenSSLをFreeBSD 13.2-RELEASEのバージョン1.1.1tからメジャーバージョンアップし3.0.12とした
  • bhyveハイバーバイザがTPMとGPUをパススルーでサポート
  • arm64プラットフォームで最大1024コアをサポート
  • ZFSをOpenZFS release 2.2に更新しパフォーマンスの改善を行った
  • ジャーナルソフトアップデートを行っているUFSファイルシステムで、バックグラウンドでファイルシステムのチェックを行える
  • AWSやAzureで、ZFSのイメージを実験的に使用できる
  • TCPにおける輻輳制御はデフォルトでCUBICとなっている
14.1-RELEASE[71]
  • C ライブラリは、パフォーマンスを向上させるために、amd64 上で文字列およびメモリ操作の SIMD 実装が追加
  • デバイスのホットプラグなどのサウンド サブシステムの改善
  • OpenStack および多くのホスターと互換性のある初期のネイティブ Cloud-init (構成ドライブ) サポート
  • OpenZFSをバージョン 2.2.4 に更新
  • Clang/LLVMをバージョン 18.1.5 に更新
  • OpenSSHをバージョン 9.7p1 に更新
14.2-RELEASE[72]
  • OCIコンテナイメージが利用可能になった
  • FreeBSDのベースシステムのインストール後に、インストーラが必要なファームウェアのパッケージをダウンロードしてインストールする機能をサポート
  • OpenZFSをバージョン 2.2.6 に更新
  • OpenSSLをバージョン 3.0.15 に更新

対応アーキテクチャ

要約
視点

FreeBSDでは、2023年現在、対応アーキテクチャを「Tier 1~4」までの4段階で管理している[172]

Tier 1

最新のRELEASE版について、公式サイトにてインストールイメージが配布されているアーキテクチャ。いわゆる「フルサポートアーキテクチャ」であり、ドキュメントなどもまずはこの層に属するアーキテクチャ向けに整備される。

Tier 2

開発・サポートプロジェクトが継続しているアーキテクチャ。公式サイトでインストールイメージも配布されているが、熟成度が低いとされて部分的なサポートのみとなっている。

  • i386
    • 一般的なx86ベースの32ビットCPU
  • Arm
    • 32ビットシステムの ARMv6 (armv6) と ARMv7 (armv7) をサポートしている。ただし、armv6 は14.xでTier 3となる。ARMv4/5 (arm) は13.x以降サポート終了。
    • Raspberry Pi等の多数の著名なシングルボードコンピュータも含む。これらは公式でSDカードイメージが配布されている。
  • SPARC
    • 「sparc64」として64ビットシステムのみサポートされている。ただし、13.x以降サポート終了。
  • PowerPC
    • 32ビットシステムの「powerpc」と64ビットシステムの「powerpc64」の両方をサポートしている。
  • MIPS
    • 13.xはTier 2だが、14.x以降サポート終了。

Tier 3

試験的に開発が行われているアーキテクチャ。開発状況によっては予告なくFreeBSDのソースツリーから外される可能性がある[172]

  • RISC-V
    • riscv64は、12.xはTier 3だが、13.x以降Tier 2。
    • riscv64sf (soft-float)は、12.xはTier 3。13.xでTier 2に昇格したが、14.x以降サポート終了。

Tier 4

完全にサポート外のアーキテクチャ[172]

過去に対応していたアーキテクチャ

  • DEC Alpha - 6.x系までサポート。
  • Xbox - 6.x系で一時開発されていた[174]
  • IA-64(インテル Itanium)- 10.x系まで。
  • PC-9800シリーズ - FreeBSD(98)移植チームにより、2.1.7.1から5.5まで「FreeBSD(98)」としてリリースされた[175]。FreeBSD本体で「FreeBSD/pc98」として公式サポートが始まったのは5.0からである。以降8.x系までTier 1だったが、9.x系以降はTier 2になり、pc98のISO Imageはリリースされていない[176]。12.x系でTier 4へ移行し、pc98のソースコードは削除された[177]

ロゴ

長年、FreeBSDのロゴはBeastieとも呼ばれる通常のBSDデーモンであった。しかしながら、Beastieは、FreeBSDに特有のものではなかった。最初に現れたのは1976年ベル研究所によるUNIXTシャツであり、最も人気のあるBSDデーモンのバージョンはアニメ監督ジョン・ラセターによって1984年に描かれ始めたものである[178]。いくつかのFreeBSDに特有のバージョンは、細川達己によって後に描かれたものである[179]

関連プロジェクト、関連ディストリビューション

FreeSBIEプロジェクト

FreeSBIEプロジェクトは、FreeBSDベースのLive CD環境を提供している。

TrueNAS(旧FreeNAS)プロジェクト

TrueNAS(旧FreeNAS)プロジェクトは、FreeBSDベースの、Webベースでの操作を可能としたNASファイルサーバ用OS環境を提供している。

XigmaNAS(旧NAS4Free)プロジェクト

XigmaNASプロジェクトは、FreeNASプロジェクトから分離したNASファイルサーバ用OS環境プロジェクトである。

TrueOS(旧PC-BSD)プロジェクト

TrueOS(旧PC-BSD)プロジェクトは、FreeBSDをデスクトップ・サーバと両方に対応したディストリビューションを提供している。

HardenedBSD プロジェクト

HardenedBSDは、セキュリティ対策を拡充するため2014年にフォークしたディストリビューション。

使用例

  • PlayStation 5 - 既知のFreeBSDの脆弱性が残った状態で出荷されたと指摘がある[180]
  • PlayStation 4 - 搭載されるOS「Orbis OS」はFreeBSD 9.0ベースである[181]
  • PlayStation Vita - 搭載されているOSにFreeBSDが使用されている[182][183]
  • PlayStation 3 - 搭載されているOSにFreeBSDが使用されている[184][183]
  • Nintendo Switch - 任天堂が公式にアナウンスをしているわけではないが、本体の知的財産表記にFreeBSDカーネルの権利表記が掲載されており、少なくともコンポーネントの一部を用いていることが確認できる[185]
  • VIERA - インターネットサービス「ビエラ・コネクト」に利用されているOSはFreeBSDベースである[186]
  • JUNOS - OSはFreeBSDカーネルをベースとしている。
  • OpenServer - OpneServer 10よりFreeBSDベースとなった[187]
  • Apple社のmacOS - 基盤となるDarwinがFreeBSDの一部機能を取り入れている[188]

脚注

関連項目

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.