SSD Nodes Learn Hosting plans →
ガイド Matt Connor著者 Matt Connor

FreeBSD 15はサーバーOSとして何が優れている?

FreeBSD 15がサーバー運用で選ばれる理由を解説します。ZFS、jails、pf、統合されたベースシステムの強みと、Linuxとの違い、適した用途がわかります。

FreeBSD 15 とは

FreeBSD は、カーネルの上にディストリビューションを構築したものではなく、完全なサーバーオペレーティングシステムです。カーネルを開発する人々が、コアの userland、ドキュメント、リリースも開発し、それらをバージョン管理された1つの全体として同時にリリースします。FreeBSD 15 は、このシステムの最新のメジャーリリースです。Linux しか使ったことがない場合、次の点を押さえてください。FreeBSD ではベースシステムが1つのプロジェクトとして管理され、追加するパッケージはその上に明確に分離して配置されます。この設計上の選択が、FreeBSD が多くの人に好まれる理由の大半を説明します。

私は普段の作業の多くで Linux を使っており、SSD Nodes は Linux VPS ホストです。それでも、腰を据えて使うサーバーオペレーティングシステムとしては FreeBSD が今でも一番好きであり、この記事ではその理由を説明します。率直に補足すると、当社は FreeBSD VPS プランを提供していません。需要が少ないためです。FreeBSD を好む人は、レンタルするよりも自分のハードウェアで運用することが多く、そのため FreeBSD の VPS 市場は小さいままです。

FreeBSD 15 の新機能

2025 年 12 月にリリースされた FreeBSD 15.0 の大きな変更は、ベースシステム自体を pkg パッケージとしてインストールおよび更新する新しい方式、pkgbase です。インストーラーでは、pkgbase と従来の distribution sets のどちらを使うかを選択します。VPS で使用する公式の VM イメージとパブリッククラウドイメージでは、デフォルトで pkgbase が使用されます。FreeBSD 15.0 では pkgbase がテクノロジープレビューとして導入されました。プロジェクトは、将来のリリースでベースシステムのインストールとアップグレードにおける標準方式になると見込んでいます。distribution sets を使うインストールでは、従来の freebsd-update ツールを引き続き使用します。この方式は FreeBSD 15 系全体でサポートされますが、distribution sets のサポートは FreeBSD 16 で廃止される予定です。そのため、プレビューとして導入された方式ではあるものの、今後は pkgbase が主流になります。FreeBSD 15.1 は 2026 年 6 月 16 日に続いてリリースされ、15.0 は 2026 年 9 月 30 日にサポート終了となりました。現在も 15.0 を使用しているサーバーは 15.1 へ移行してください。

ベースシステムと Linux のディストリビューションモデル

FreeBSD を理解するうえで最も重要な違いは、この点です。他の多くの違いもここから生じます。Linux サーバーでは、ディストリビューションを使用します。カーネルは 1 つのプロジェクトから、C ライブラリは別のプロジェクトから、基本コマンドはさらに別のプロジェクトから提供されます。ディストリビューションのメンテナーは、それらを組み合わせ、互いに動作するバージョンを選びます。多くの調整が必要ですが、この方式は機能します。ただし、構成要素の境界は明確です。アップグレードによって、一部だけが更新されることがあります。

FreeBSD では、異なる場所に境界を設けています。カーネル、標準コマンド、C ライブラリ、ファイアウォール、ブートローダーは、1 つのソースツリーに含まれ、1 つのバージョン番号を持ちます。ベースシステムは一体としてアップグレードします。distribution sets を使うインストールでは freebsd-update を使用し、FreeBSD 15 のクラウドイメージでデフォルトとなっている pkgbase のインストールでは pkg 自体を使用します。その他の Web サーバー、データベース、言語ランタイムなどは、ベースシステムに組み込まれず、その上に配置される pkg パッケージから提供されます。pkgbase では 1 つのツールで両方の層を更新できるようになりましたが、「オペレーティングシステム」と「自分でインストールしたソフトウェア」は、引き続き個別に管理できる 2 つの層です。

ZFS を中核機能として利用する

ZFS は、多くの人が FreeBSD を選ぶ理由となるファイルシステムです。FreeBSD 15 では、後から追加する機能ではなく、システムの中核として統合されています。ZFS はファイルシステムとボリュームマネージャーを統合します。これにより、ディスクを無条件に信頼するのではなく、チェックサムでデータを検証してサイレント破損を検出できます。さらに、即時スナップショット、低コストのクローン、ファイルシステムをバイト単位で別のマシンへ転送する zfs send と zfs receive も利用できます。

サーバーでは、この機能が実運用に直結します。アップグレードの前にデータセットのスナップショットを作成できます。

zfs snapshot zroot/ROOT/default@before-upgrade

アップグレードに失敗した場合は、その時点の状態へすぐにロールバックできます。FreeBSD のブートローダーは ZFS のブート環境を認識します。そのため、変更を加える前に取得したスナップショットへ、オペレーティングシステム全体をロールバックできます。Linux でも OpenZFS を通じて ZFS を利用でき、十分に実用的です。違いは、FreeBSD では最初からインストーラー、ブートローダー、更新ツールに組み込まれている点です。

コンテナが一般化する前から存在したコンテナ、jail

jail は、ホストのカーネルを共有しながら、独自のファイルシステム、ユーザー、ネットワーク、プロセスビューを持つ、軽量で分離された環境です。コンテナに似ていますが、実際にそのとおりです。jail は Docker より 10 年以上前から存在します。FreeBSD 15 でも、jail の機能は引き続き強化されています。

完全なコンテナスタックよりも、理解しやすいモデルです。jail はディレクトリツリーと小さな設定ファイルで構成され、ホストのカーネル上で実際の FreeBSD ユーザーランドを実行します。分離環境を構築するために、イメージレジストリやバックグラウンドデーモンは必要ありません。複数のサービスを個別にホストするサーバーでは、jail によってオーバーヘッドをほとんど増やさずに強い分離を実現できます。bastille のようなツールを使えば、管理も容易です。これは 各サービスを専用の Docker コンテナで実行する場合と同じ考え方ですが、異なる方向から実現しています。特定のサービスでどちらを使うか選ぶ場合は、jail と Docker コンテナでは、ソフトウェアの導入方法、状態の保存場所、ネットワークの構成方法が大きく異なります。

pf:書くことが楽しいファイアウォール

FreeBSD のパケットフィルターである pf が広く支持されている理由は 1 つです。ルール構文が通常の文章のように読めます。ルールセットは上から下まで読み進めることができ、内容を実際に理解できるファイルです。Linux で iptables/nftables のルールを手作業で記述する場合と比べると、pf は人が保守することを前提に設計されたように感じられます。iptables 行が並ぶ画面に悩まされた経験があるなら、pf は大きな助けになります。

FreeBSD が適する用途と適さない用途

FreeBSD は、ZFS を利用するストレージサーバー、pf を利用するファイアウォールやルーター、最新のカーネル機能を追い続けることよりも、安定した一貫性のある基盤と安全なアップグレードを重視するサーバーに適しています。FreeBSD のドキュメントである FreeBSD Handbook は、オープンソース全体を見ても特に優れたマニュアルの 1 つです。これを読むことが、システムを学ぶ最も早い方法です。

FreeBSD がすべての用途に適しているわけではありません。コンテナのエコシステムは Linux を中心に発展しており規模も小さいため、ワークフロー全体が Docker イメージと Kubernetes に依存している場合は、対応に追われることになります。一部のプロプライエタリドライバーやベンダー製ツールは Linux 専用です。また、このサイトを含む多くのセルフホスティングチュートリアルは、Linux ディストリビューションを前提にしています。自宅やサイドプロジェクトのサーバーで実行できるものを広く把握するには、セルフホスティングの概要を参照してください。Linux 向けに書かれていますが、考え方は FreeBSD にも適用できます。機能を直接比較するには、サーバーにおける Linux と FreeBSD の比較を参照してください。

別の比較については、Linux と Windows Server の比較で、Linux ともう 1 つの主要なサーバープラットフォームを比較しています。

FAQ

FreeBSD 15 はサーバーに適していますか?

適した用途であれば適しています。FreeBSD 15 は、ZFS、jail、pf がベースシステムに組み込まれ、公式ドキュメントが充実し、システム全体を一単位として明確にアップグレードできる、安定した一貫性のあるサーバーオペレーティングシステムです。最新のカーネル機能よりも予測可能性を重視するストレージ、ファイアウォール、長期運用サービスに特に適しています。一方、Linux を中心としたコンテナエコシステムを前提とするワークフローには、適合しにくい場合があります。

FreeBSD のベースシステムと Linux の違いは何ですか?

Linux では、カーネルとユーザーランドは別々のプロジェクトから提供され、ディストリビューションがそれらを組み合わせます。FreeBSD では、カーネル、基本コマンド、C ライブラリ、ファイアウォール、ブートローダーが 1 つのソースツリーに含まれ、1 つのバージョンとして一体で更新されます。更新には freebsd-update を使用し、pkgbase のインストールでは pkg を使用します。インストールするその他のソフトウェアは、ベースシステム上にある独立したパッケージ層に残ります。このベースシステムとパッケージの分離が、構造上の中心的な違いです。

VPS で FreeBSD を実行できますか?

FreeBSD を提供しているホストであれば、VPS 上で実行できます。ただし、Linux より選択肢は限られます。SSD Nodes は FreeBSD プランを提供していません。需要が少ないためです。FreeBSD を使う人は、VPS よりも自分で管理するハードウェアを使う傾向があります。FreeBSD サーバーの多くは、所有者が直接管理する物理マシンです。

FreeBSD を試す前に Linux を知っておく必要はありますか?

必須ではありませんが、知っていると役立ちます。Linux の使用経験があれば、シェル、SSH、日常的に使う多くのコマンドにはすぐ慣れるでしょう。新たに学ぶ主な内容は、ベースシステムとパッケージの分離、ソフトウェア用の pkg です。FreeBSD 15 の pkgbase インストールでは、ベースシステムにも pkg を使用します。一方、distribution-set インストールでは、FreeBSD 15 系全体を通じて freebsd-update を使用します。ファイアウォールには pf を使用します。FreeBSD Handbook で、これらすべてを順に学べます。