Fedoraは、レッドハット社(Red Hat)が支援するコミュニティーFedora Projectに よって開発されているディストリビューションで、最新の技術、ソフトウェアバージョンを積極的に実装しているディストリビューションとして知られています。
少し時間経過しましたが、Fedora の最新版 Fedora 27 (Twenty Seven) が昨年の 2018年11月14日がリリースされました。前バージョンの Fedora 26 のリリースが一ヶ月以上伸びて7月11日にリリースされたため、今回は、4ヶ月という早い周期でのリリースでした。しかしServer版は Fedora 26 より進められていたシステムのモジュール化の実装に時間がかかっており、2018年の1月リリースとアナウンスされていましたが、ISO 2017/11/15 のISOは公開されているものの2月16日現在も正式リリースされていません。これは、Beta版なのか??分かりません。
Fedora には、Workstation、Server、Atomic の3つのエディションが存在します。Workstation は、GNOME Shell を採用したLaptopやディスクトップ向け、Serverはサーバ向けの ISO イメージが配布されています。Atomic は、Cloud や VirtualBoxなどの仮想マシン上で稼働することを想定したディスクイメージが配布されています。
アーキテクチャは、x86_64、ARM-hfp をメインにサポートしており、その他、MIPS、PowerPC64、RISC-V、s390x などもサポートしています。
https://arm.fedoraproject.org/
ARM 向けイメージ配布場所
https://fedoraproject.org/wiki/Architectures
その他のアーキテクチャ
なお、Fedora のアップデートパッケージが提供されている期間は、2つ先のバージョン(Fedora27の場合、Fedora 29)が リリースされてから一ヶ月後(予定 2018年12頃)となっています。あくまで最新の技術、パッケージバージョンを試す為のディストリビューションなので、長期運用用には使用しないでください。
詳細は、https://fedoraproject.org/wiki/Releases/27/ChangeSet にアナウンスされていますが、Fedora 27 の主な新機能は以下の通りです。
・32 bit UEFI サポート
・暗号化済の SSD の TRIM を /etc/crypttab を使って有効にする事が可能に
・Kerberos の認証情報キャッシュタイプのデフォルトがKCMへ。
・Fedora の Alpha版リリース廃止
・32bit, 64bit の Debuginfo パッケージを同時にインストール可能。
また、サブパッケージ/ソースパッケージ無しに Debuginfo パッケージがインストール可能に
・libcurl の暗号化ライブラリが NSS から OpenSSL に戻された。
・perl(dnf install perl) パッケージをインストールすると全ての perl モジュールがインストールされる。
・使用するJAVAを環境変数 PATH ではなく、JAVA_HOME で上書き設定可能に。
・Bay / Cherry Trail デバイスのサポートを改善(バッテリーモニター、タッチスクリーン、オーディオ、加速度センサーなど)
・OpenSSH の暗号化ポリシーを強化
・Python ライブラリが、/usr/lib/python3.6/ から /usr/lib/platform-python3.6/ へ。
サブパッケージ名も platform-python-* へ変更。
・GUI のパッケージマネージャが Yumex-DNF から dnfdragora に変更
#201801.1.03.png (dnfdragora)
・Samba AD での MIT Kerberos のサポート。
・Pine64 や Raspberry Pi 3 などの、64 bit ARM (aarch64) デバイスのイメージを提供してサポート。
また、Fedora Media Writer で Raspberry Pi などのARMデバイス用のFedoraで起動可能なSDカードを作成できます。
Fedora 27 が採用する主なソフトウェアのバージョン
Fedora 27 は、GNOME Shell が 3.24 -> 3.26 にマイナーバージョアンアップされ、設定のデザインが大きく変わりましたが、インストーラの変更も無くWorkstation ユーザ向けには大きな変化は見られません。
カーネル kernel 4.13.9
Cライブラリ
glibc 2.26
libgcc 7.2.1
ディスクトップ環境
wayland 1.14.0
gnome-shell 3.26.1
KDE Plasma 5.10.5
libreoffice 5.4.2.2
gtk 3.22.24
qt 4.8.7
プログラミング言語
perl 5.26.1
Python 3.6.2
php 7.1.10
ruby 2.4.2
rubygem-rails 5.1.4
nodejs 8.9.0
golang 1.9.1
データベース
postgresql 9.6.5 9.6.3
mariadb 10.2.9 10.1.21
Webサーバ
httpd 2.4.28
nginx 1.12.1
ネットワークサーバ
samba 4.7.0
bind 9.11.1
dovecot 2.2.32
postfix 3.2.3
そして正式リリースされたんだか、されていないんだか分からない、Fedora 27 Modular Server ですが、モジュール化と言われても、分からない方が多いと思うので解説したいと思います。
例えば、httpd 2.4 がデフォルトの Linux 環境で httpd 2.6 を使ったシステムを構築したい場合、Linux 上で自ら httpd 2.6 をビルドしてシステムに適用する必要があります。httpd 2.6 をビルドする以外に、それに依存するライブラリなどのビルドも必要になるかもしれません。その為、一般ユーザには個別のパッケージをアップグレードするのは大変です。しかし、モジュール化する事により mariadb, php など違うバージョンのサービスを同じディストリビューションのシステムで利用できるようになるのです。
モジュール化されたモジュールリストは、dnf コマンドの module オプションで確認する事が出来ます。リストを見るとモジュール化されたものが少ないため、今の所実用性があるとは思えませんが、まだ、モジュール化されたモジュールが少ないため、実用的なまのではありませんが、今後の進化に期待したいところです。
モジュール化されたモジュールリストは、以下のコマンドで参照できます。
$ dnf module list Fedora Modular Server 27 - x86_64 Name Stream Version Profiles 389-ds 1.3 [d] 20171121100617 default X11-base f27 [d][e] 20171103131108 default apache-commons f27 [d] 20171018085030 default autotools f27 [d] 20171115125319 default bind 9 [d][e] 20171120125653 client, default, ... boost 1.64 [d] 20171120100443 development cloud-init f27 [d] 20171120130452 default cmake 3.9 20171116110916 fonts f27 [d] 20171116164123 default, everything freeipa 4.6 [d][e] 20171128080200 activedirectory, client, ... hardware-support f27 [d][e] 20171121153659 host f27 [d][e] 20171116202148 httpd 2.4 [d][e] 20171106215612 default installer f27 [d][e] 20171121154133 default java 8 [d] 20171025083238 default libtom f27 [d] 20171115144303 mariadb 10.2 [d] 20171109104753 client, default, ... maven f27 [d] 20171120080805 default mongodb 3.4 [d] 20171120143335 client, default, ... mysql 5.7 [d] 20171117171055 client, default, ... networking-base f27 [d][e] 20171121092402 default ninja master [d] 20171121120058 default nodejs 6 20171116134309 default, development, ... nodejs 8 [d][e] 20171116133906 default, development, ... perl 5.26 [d] 20171103085454 default, minimal pki master [d] 20170906114456 default platform f27 [d][e] 20171127151655 buildroot, srpm-buildroot postgresql 9.6 [d] 20171105174222 client, default, ... python2 2.7 [d] 20171113104142 default, full, ... python2-ecosystem f27 [d] 20171115171206 python3 3.6 [d] 20171127104421 default, full, ... python3-ecosystem f27 [d] 20171115170939 resteasy 3.0 [d] 20171128172601 default rsyslog master 20171127134101 buildroot, default, ... ruby 2.4 [d] 20171116151033 default samba 4.7 [d][e] 20171120150115 client, default, ... sssd 1.16 [d] 20171123120504 default system-tools 2017.0 [d] 20171120160752 default tomcat 8.0 [d] 20171121151959 default udisks2 2 [d][e] 20171128084416 default Fedora Modular Server 27 - x86_64 - Updates Name Stream Version Profiles sssd master [e] 20170905144604 default a Hint: [d]efault, [e]nabled, [i]nstalled, [l]ocked Fedora 27 の nodejs のデフォルトは、Version 8 だが、以下のコマンドを実行すると Version 6 の nodejs が利用できます。 $ sudo dnf module install nodejs:6 詳細は dnf の man を参照して下さい。 $ man dnf
Server版のみ、全てのパッケージ名の一部にmoduleが含まれる。
$ rpm -qa GeoIP-1.6.11-3.module_326ed13f.x86_64 GeoIP-GeoLite-data-2017.10-1.module_326ed13f.noarch ModemManager-1.6.4-4.module_15b5d85b.x86_64 ModemManager-glib-1.6.4-4.module_15b5d85b.x86_64 NetworkManager-1.8.4-6.module_15b5d85b.x86_64 :