出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/11/03 02:20 UTC 版)
|
|
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 (2021年10月)
|
| 開発者 | ジェラルド・ビークマンズなど |
|---|---|
| 開発状況 | 開発中 |
| ソースモデル | オープンソース |
| 初版 | 1999年12月 |
| 最新安定版 | 12.4[1] |
| 使用できる言語 | 1言語日本語対応は分かりません。 |
|
言語の一覧
英語のみ?
|
|
| アップデート方式 | ソースベース |
| パッケージ管理 | なし |
| プラットフォーム | IA-32, x86-64[2] |
| カーネル種別 | モノリシック |
| 既定のUI | キャラクタユーザインタフェース |
| ライセンス | 主にCC BY-NC-SA [3]とMIT License |
| ウェブサイト | linuxfromscratch |
| サポート状況 | |
| サポート中。但し、それぞれ異なる環境で自ら構築するLinuxであるため、サポート出来る範囲はLinux From Scratchそのもののに限られる。 | |
Linux From Scratch (リナックス フロム スクラッチ、LFS) は、ユーザが自分自身で「ゼロから(from Scratch、プログラミング言語のScratchではない)」Linuxシステムをビルドする、という一風変わった特徴を主旨とする、一種のLinuxディストリビューションである。また、ジェラルド・ビークマンズによる本のタイトルでもある。
最初のインストール(クリーンインストール)に、Live CDのようなライブイメージとバイナリパッケージを使用し、最低限の機能が備わったシステムを一気に用意してしまう一般的なディストリビューションとは異なり、全てをソースコードとして入手し、一種のクロスビルドによってシステムを構築する。
Linux From Scratchでは、すべてのコンポーネントを手動でビルドすることにより、Linuxシステムをインストールする。当然、これはコンパイル済みのLinuxディストリビューションをインストールするよりもはるかに長いプロセスである。Linux From Scratchサイトによると、この方法の利点は、コンパクトで柔軟性があり、安全なシステムであることと、Linuxベースのオペレーティングシステムの内部動作をより深く理解できることである[4]。
LFSを小さく、焦点を絞ったものにするために、Beyond Linux From Scratch (BLFS)という書籍が作成された。この書籍では、LFSで作成された基本的なLinuxシステムをさらに拡張する方法が説明されている。この書籍では、X Window System、デスクトップ環境、KDE、GNOME、Xfce、LXDE)、ウェブブラウザ、プログラミング言語とツール、マルチメディアソフトウェア、ネットワーク管理およびシステム管理ツールなど、システムへの追加機能を紹介し、読者をガイドする。リリース5.0以降、BLFS書籍バージョンはLFS書籍バージョンと一致している[5]。
Cross Linux From Scratch (CLFS)という本は、Linuxを実行できるもののLinuxをコンパイルするために必要なリソースがないヘッドレスシステムや組み込みシステム向けのコンパイルを含むクロスコンパイルに焦点を当てている。CLFSは幅広いプロセッサをサポートし、クロスビルドツールチェーン、マルチライブラリサポート(32ビットと64ビットのライブラリを並列で使用)、Itanium、SPARC、MIPS、Alphaなどの代替命令セットアーキテクチャなど、LFSの本には含まれていない高度なテクニックに対応している。
Linux From Scratchプロジェクトは、BitBakeと同様に、Raspberry PiやBeagleBoardなどのARM組み込みシステム向けのLinuxのクロスコンパイルもサポートしている[6][7]。
Hardened Linux From Scratch (HLFS)という本は、ハードニングされたカーネルパッチ、強制アクセス制御ポリシー、スタック破壊保護、アドレス空間配置のランダム化などのセキュリティ強化に焦点を当てている。セキュリティ重視のオペレーティングシステムを作成するという主な目的の他に、HLFSにはセキュリティ教育ツールになるという副次的な目標があった。2011年以降更新されておらず、2025年2月17日現在、HLFSの本はLFSサイトから消えている。
Automated Linux From Scratch (ALFS)は、LFSシステムの作成プロセスを自動化するように設計されたプロジェクトである。LFSおよびBLFSの本を何度も読み、作業量を減らしたいユーザーを対象としている。2つ目の目標は、LFSおよびBLFSブックのXMLソースから指示を直接抽出して実行することにより、LFSおよびBLFSブックのテストとして機能することである。
まず、現在動作しているLinuxシステムを用意する。その中に、クロスコンパイルの準備の要領で[注釈 1]ビルド環境を用意し、カーネルやカーネルモジュール等をはじめ、いわゆるベースシステム等と呼ばれるシステムソフトウェア類をビルドする。
次に、インストール対象となるマシンのためのディスク(ないしディスクイメージ)にパーティションを作り、extファイルシステムなどで論理フォーマットし、/usr など、基本的なインストールに必要なディレクトリツリーを構築してインストールし、/etc の中の設定ファイルなどを編集する。また、/boot など、ブートに必要な設定も行う。その他にも多くの作業があるが、全てを行えば、最低限の起動可能なシステムができあがる。
基本的な構築が完了した後は、Beyond Linux From Scratch (BLFS) に従って、応用的なライブラリやX Window Systemを使用するようなデスクトップ環境などを導入することができる。
LFS 7.8 に含まれたソフトウェアのリスト