先日 Fedora の新しいバージョンがリリースされました。
Linux ファンであれば Fedora もまた、説明不要の Linux ディストリビューションでしょう。
今回は新しいバージョンがリリースされたというタイミングで、改めて Fedora について深堀してみました。
もうひとつの Linux の雄。
別動画で Ubuntu が注目される理由について紹介した動画をアップしましたが、Fedora もまた注目を集める Linux ディストリビューションのひとつです。
早速その理由を紐解いて行きましょう。
Fedora はレッドハット社が支援するコミュニティー「Fedora Project」によって開発されている Linux ディストリビューションです。
デスクトップ OS として日常的に使える Fedora Workstation と、インフラサービスを管理する Fedora Server 、IoT エコシステムのためのプラットフォーム Fedora IoT がオフィシャルエディションとして用意されています。
また、さまざまなデスクトップ環境で構築された Fedora Spins も用意されています。
Fedora Spins には
- KDE Plasma
- Xfce
- LXQt
- MATE Compiz
- Cinnamon
- LXDE
- SOAS
- i3
以上のデスクトップ環境が用意されています。
企業から支援を受けているという面で見ると、Ubuntu とカノニカルの関係のような雰囲気があるかも知れません。
まずは Fedora を語る前に、レッドハット社についても触れておきましょう。
レッドハット。
レッドハット社は1993年に設立され、 主にオープンソースソフトウェア関連の技術サービスを提供している、アメリカの著名な IT 企業で、現在は米 IBM 社の子会社になっています。
独自の Red Hat Enterprise Linux (通称 RHEL) を開発・配布し、法人ユーザーなどと有償で保守契約を結びソフトウェアの最新版の提供や技術サポートの提供などを行う事業を展開しています。
また、各種ソフトウェア技術者の資格認定なども行ってるのが特徴です。
Linux のような OSS は誰でも無償で入手・利用できますが、その使用は自己責任で開発者が丁寧にサポートしてくれるわけではありません。
そこに目をつけたのがレッドハット社です。
企業などが OS を導入する際には、何かあったときに責任を持って問い合わせを受け付けてくれる「開発元」に相当する窓口の必要性を見出し、レッドハット社は Linux に関して有償でその窓口を提供するというビジネスモデルを確立しました。
ソフトウェアのライセンス料は基本無料、ソフトウェアのアップデートやアップグレード、保守サポートなどを一本化したサブスクリプションを販売するというのが、レッドハット社のビジネスモデルです。
Linux の歴史の初期から、エンジニアに限らず一般ユーザーも利用できるように、Linux カーネル と GNU プロジェクト、BSD、X11 等のソフトウエアを組み合わせて、ネットワークサーバやワークステーションとして使えるディストリビューションを開発・配布してきました。
企業という立場ではありますが OSS の精神を厳格に重視しており RHEL はコピーレフトなソフトウェア、つまり「著作権を保持したまま、二次的著作物も含めて、すべての者が著作物を利用・再配布・改変できなければならない」というライセンスのソフトウェアを中心に構成されています。
そのため、されており、これを元にして CentOS や Turbo Linux 、Oracle Linux 、日本の Miracle Linux 、最近だと AlmaLinux や Rocky Linux などなど、数多くのディストリビューションが存在することとなります。
はじまりは Red Hat Linux
以前レッドハット社は Red Hat Linux という RHEL の前身となるディストリビューションの開発・販売・サポートを行っていました。
このときも基本的には現在のビジネスモデルと概ね同様でしたが、サポートを限定したコンシューマ向けの無料版の提供も行っていました。
しかし、2003年に発表した Red Hat Linux 9 を最後に、コンシューマ向けのディストリビューションの販売およびサポートを中止することとなります。
この時 Red Hat Linux 無料版の後継 OS に期待が高まりました。
当時の Fedora はハワイ大学の学生だった Warren Togami 氏が開発を進めており、それをレッドハットに提供すると申し出ると、2003年9月にレッドハットと Warren さんの合意のもと Fedora は Red Hat Linux の後継 OS となり、同時にレッドハットが Fedora のメインスポンサーになりました。
ちなみに Warren さんはレッドハットに就職し、Fedora の開発を続けることとなります。
レッドハットはその後、企業向けの RHEL だけのサポートに専念し、一方の Fedora はコミュニティ主導で開発されることとなります。
これにより高度な開発を柔軟に行うことができるようになり、その成果は RHEL にフィードバックされるという仕組みが出来上がりました。
こうして Fedora の開発が現在まで続けられています。
Fedora
Fedora は、Linux ファンから「最新技術を積極的に取り込むディストリビューション」として知られています。
次期 RHEL 安定版のための検証目的の開発という位置づけです。
Fedora は、開発目標を「rapid progress of Free and Open Source software(フリーおよびオープンソースソフトウェアの急速な進歩)」としており、フリーソフトウェアを厳格に重視した一面も持っています。
ちなみに Fedora は ver.6 までは Fedora Core と呼ばれていました。
余談ですが、コダシマは Fedora Core 3 を使って、自宅 Web サーバーを構築してブログをやっていたことがあります。
その時購入した書籍はとても思い出深く、今でも捨てられずに持っています。
※そもそも物が捨てられない質です。
話を戻しましょう。
Fedora Core 6 までは、レッドハット社の開発者により運営される公式リポジトリ Fedora Core(ディストリビューション名ではなくリポジトリ名)とは別に、コミュニティで運営される Fedora Extras というリポジトリが存在していました。
ディストリビューションの中核を形成するパッケージは Core で提供し、Extras では「追加パッケージ」を提供する位置づけで、新規パッケージが簡単に追加できたため、従来非公式なリポジトリで提供されていた数多くのパッケージがここに収録されていました。
プロジェクト発足当初は Core しかリポジトリ登録されていませんでしたが、Fedora Core 3 以降は Extras も利用可能となり、さらに Fedora Core 4 以降は、当時の標準パッケージ管理である Yum に Extras がデフォルトで登録され、必要なパッケージがすぐ利用できるようになりました。
その後、これらのリポジトリは Fedora 7 で Core と統合され、同時にディストリビューションの名称も現在の Fedora に変更されました。
Core 統合後も Fedora の「フリーソフトウェア精神」に反する、あるいはアメリカ国内法に違反する恐れがあるために収録が見送られたコミュニティベースのリポジトリが複数ありましたが、現在では RPM Fusion に統合され、オープンソースの「free」と、それ以外の「nonfree」に分けてメンテナンスされています。
ちなみに nonfree には GPU ドライバ、ネットワークドライバなどのプロプライエタリソフトウェアや、動画再生関連のライブラリなどが収録されています。
なんだか、いろいろとややこしい感じもしますが、基本的に Fedora はフリーソフトウェアの精神を重視しており、また一方で、ユーザーの利便性のためにフリーソフトウェア以外の拡張パッケージも用意しているということです。
RPM Package Manager
Fedora をはじめとした RHEL 系のいちばんの特徴が RPM Package Manager の存在です。
RPM Package Manager (通称 RPM) は、もともとはレッドハット社が Red Hat Linux で利用するために1997年に発表したソフトウェアのパッケージ管理システムおよびコマンドでオープンソースとして公開されています。
以前は Red hat Package Manager の略でしたが、レッドハット以外の Linux ディストリビューションでも広く利用されることとなり、現在ではフォーマットとして「.rpm」が拡張子のパッケージを管理するシステムとして、RPM Package Manager とされています。
RPM は、ソフトウェアをひとつのファイルにまとめて配布するためのファイル形式の仕様と、パッケージをシステムに導入する管理ツールで構成されています。
例えば、コンパイル済みのバイナリファイルや、システムにインストールされるファイル、インストール・アンインストール時に動作するスクリプト、そのパッケージに含まれるソフトウェアを動作させるために必要なパッケージの依存情報などです。
ただし RPM 自体に動作に必要なパッケージを自動的に取り寄せて導入する、いわゆる依存関係を解決する機能は含まれていないため、Yum や DNF と言った RPM を管理する高機能なメタパッケージ管理ツールなどを使う必要があります。
Linux を使い始めた当時のコダシマは、それまでなんとなく Linux に触れていましたが、この RPM を知ってから、Linux のパッケージ管理と言う概念をしっかりと認識できたきっかけでもあります。
Fedora のまとめ。
ということで、今回は Fedora に付いて深掘りしていきました。
Fedora もまた ubuntu 同様 Linux の世界ではとても注目されています。
Fedora の場合は、Linux の老舗企業レッドハット社が支援しているコミュニティ、かつレッドハット社が提供する Red Hat Enterprise Linux の検証用ディストリビューションとして位置づけられているため、その知名度も高く、企業向けの Linux を知りたいユーザーや新しい機能をいち早く知りたいユーザーなどに人気が高いようです。
コダシマも新しい GNOME とか触ってみたいときは Fedora をインストールしますね。
現在のサーバーシェアでは Ubuntu を始めとする Debian 系のディストリビューションに遅れを取っていますが、例えば富士通のスーパーコンピュータ「富岳」には Fedora ではありませんが RHEL が使われるなど、Red Hat 系ディストリビューションも特に大手企業のサーバーやスーパーコンピュータといった所で活躍しています。
ココらへんのエンジニアを目指す方も、そうでない方も、この機会に Fedora もチェックしてみてはいかがでしょうか?