2 新機能および変更点
この章では、このリリースのOracle Linux 8に含まれている新機能、主な機能強化、バグ修正およびその他の変更点について説明します。
Oracle Linux 8ソフトウェアの配布および管理
Oracle Linux 8では、ソフトウェア管理に関する次の機能、機能強化および変更点が導入されています。
Oracle Linux 8コンテンツ配信の変更点
一般的なOracle Linux 8サーバーのコア・オペレーティング・システムおよび関連パッケージは、アプリケーション・ストリームを介して配布されます。アプリケーション・ストリームには、必要なすべてのシステム・コンポーネントと、以前はソフトウェア・コレクションとして配布されていた一連のアプリケーションに加えて、他の製品やプログラムが含まれています。
Oracle Linux 8のリポジトリについて
Oracle Linux 8インストールのベース・リポジトリを形成するOracle Linux 8 ISOのyumリポジトリは、BaseOSとAppStreamの2つのリポジトリに分かれており、どちらもすべてのOracle Linuxサブスクリプションで使用できます。オペレーティング・システムが動作するには、これらの2つのリポジトリが必要です。追加のリポジトリ(CodeReady Linux Builderリポジトリなど)で追加パッケージが提供されることもあります。
BaseOSリポジトリには、Oracle Linuxが機能するために必要なパッケージのコア・セットが含まれているとともに、すべてのインストール方法に必要なパッケージが含まれています。BaseOSリポジトリのコンテンツはRPM形式で入手できます。以前のリリースで適用されていたものと同じサポート期間がOracle Linux 8リリースにも適用されます。
AppStreamリポジトリには、ユーザースペース・アプリケーション、ランタイム言語、データベースなど、様々なワークロードの追加サポートを提供するパッケージが含まれています。AppStreamリポジトリには、従来のRPMパッケージおよび拡張形式(モジュールと呼ばれる)として入手できる、様々なライフ・サイクルを持つコンテンツが含まれています。
CodeReady Linux Builderリポジトリでは、Oracle Linuxにパッケージとして同梱できる、従来の方法でコンパイルされたバイナリを開発者およびパッケージ保守担当者がビルドするために必要なビルド・パッケージが提供されます。たとえば、このリポジトリには、コンパイラ、ビルド・ツール、ライブラリ・ソース、開発者ドキュメント、ドキュメント・ビルド・ツール、その他の様々な開発者関連パッケージが含まれています。
codeready_builder
yumリポジトリまたはULNチャネルからパッケージをインストールしようとする場合は、依存関係の問題を回避するために、システムがappstream
yumリポジトリまたはULNチャネルにもサブスクライブされている必要があります。システムがcodeready_builder
yumリポジトリまたはULNチャネルとbaseos_latest
にサブスクライブされているのみでは十分ではありません。
このリリースにおけるパッケージの変更に関する情報は、「アップストリーム・リリースからのパッケージの変更」を参照してください。
アプリケーション・ストリームについて
Oracle Linux 8ではアプリケーション・ストリームの概念が導入されており、複数のバージョンのユーザースペース・コンポーネントをコア・オペレーティング・システム・パッケージよりも頻繁に提供および更新できます。アプリケーション・ストリームには、必要なすべてのシステム・コンポーネントと、以前はソフトウェア・コレクションとして配布されていた一連のアプリケーションに加えて、他の製品やプログラムが含まれています。
AppStreamリポジトリのコンテンツは、RPMと、RPM形式の拡張であるモジュールの2つの形式で入手できます。従来のRPMパッケージは、即時インストールに使用できます。従来のパッケージ管理方法およびインストールがすべてのコンテンツについて透過的にサポートされています。モジュールはソフトウェア・コレクションと似ており、コンポーネントの複数のメジャー・バージョンがAppStreamリポジトリでインストール用に提供されるメカニズムを備えています。モジュールは、ソフトウェア・コレクションよりも簡単にインストールおよび使用できます。モジュラ機能を利用するパッケージをインストールできるように、モジュールとストリームの適切な組合せが自動的に使用されます。
AppStreamリポジトリには、次のコンポーネントが含まれています。
-
モジュール: グループ化され、一緒にインストールされるRPMパッケージのセットです。モジュールには、インストール可能な複数のバージョンのアプリケーションで構成される複数のストリームを含めることができます。モジュール・ストリームを有効にすると、そのモジュール・ストリーム内に含まれているRPMパッケージへのシステム・アクセスが提供されます。
一般的なモジュールには、アプリケーションを含むパッケージ、アプリケーションの特定の依存関係ライブラリを含むパッケージ、アプリケーションのドキュメントを含むパッケージ、ヘルパー・ユーティリティを含むパッケージといった様々なタイプのパッケージを含めることができます
-
モジュール・ストリーム: 異なるバージョンのパッケージとその依存関係が含まれています。モジュールには複数のストリームを含めることができ、各ストリームは個別に更新を受け取ります。モジュールには複数のストリームを含めることができますが、有効にできるのはそのストリームのうち1つのみであり、それぞれのバージョンのコンテンツをインストールできるようにそのパッケージが提供されます。通常は、最新バージョンを持つストリームがデフォルト・ストリームとして選択され、操作で特定のストリームが指定されていない場合または別のストリームが有効になっていない場合はそれが使用されます。
ノート:
インストールするモジュールの最新のストリームを使用することをお薦めしますが、他のストリームでも引き続き、制限付きサポートを受けることはできます。
-
モジュール・プロファイル: 特定のユースケースについて同時にインストールされる特定のパッケージをリストします。各モジュールには、1つ以上のプロファイルを含めることができます。
例を含むモジュールの詳細は、Oracle Linux: Oracle Linuxでのソフトウェアの管理のDNFに関する章を参照してください。
DNFサポートの追加
Oracle Linux 8では、DNFテクノロジに基づく新しいバージョンのYumツールがサポートされています。DNF (Dandified yum)は、RPMベースのLinuxディストリビューションでパッケージのインストール、更新および削除を行うソフトウェア・パッケージ・マネージャです。Yum DNF (単にDNFと呼ばれることが多い)には、以前のリリースで使用されていたYum v3ツールと比べていくつかの利点があります。特に、DNFでは、モジュラ・コンテンツに加えて、拡張およびプラグイン用の厳密で安定したAPIもサポートされています。
DNFを使用するときには、次の重要な点に留意してください。
-
DNFは、コマンドラインから使用するとき、あるいは構成ファイルを編集または作成するときにYum v3と互換性があります。
-
Oracle Linux 7およびそれより前のリリースにおけるyumコマンドの使用方法と同様に、dnfコマンドとそのすべてのオプションを使用できます。
-
providesコマンドを使用して、以前に使用されていた名前でYumパッケージをインストールできます。
-
Yum v3からDNFへの移行を支援するために、パッケージには、バイナリ、構成ファイルおよびディレクトリを通常の場所で見つけることができるように互換性シンボリック・リンクが含まれています。
-
Yum v3によって提供されるPython API、およびLibdnf C APIは、Oracle Linux 8のライフ・サイクル中に変更される可能性があるため、ユーザーには、プラグインおよびスクリプトを新しいDNF Python APIに移行することをお薦めします。このAPIは安定しており、Oracle Linux 8で完全にサポートされています。
Yum v3とDNFの間のコマンドライン、プラグインおよびユーティリティの違いの比較については、「Yumバージョン3とDNFの比較」を参照してください。
RPMの改良点
Oracle Linux 8にはバージョン4.14のRPMが同梱されています。このバージョンのRPMでは、以前にサポートされていたRPMバージョン4.11に対する多くの改良点が導入されています。
RPMバージョン4.14では、debuginfo
パッケージをパラレルにインストールできます。このバージョンのRPMでは、次のようないくつかの新機能もサポートされています。
-
弱い依存関係
-
リッチまたはブール依存関係
-
4 GBより大きいファイルのパッケージ化
-
ファイル・トリガー
その他の重要な変更点には、より厳密なスペックパーサー、非冗長モードでの出力の簡易署名チェック、マクロにおける追加や非推奨が含まれます。
このバージョンのRPMにおける重要な変更点の1つは、インストールを開始する前にパッケージの内容全体が検証されるようになったことです。Oracle Linux 7では、RPMによって、展開中に個々のファイルのペイロードの内容が検証されていましたが、これは、ペイロードが破損していた場合は特に、効率的でないことがありました。
また、以前のバージョンのRPMでは、圧縮されていないデータに対して個々のファイルのハッシュが実行されていたため、RPMがデコンプレッサの脆弱性の影響を受けやすくなっていました。Oracle Linux 8では、使用可能な最善のハッシュを使用して、インストール前に別個のステップとしてパッケージ全体が検証されます。このリリースでは、圧縮されたペイロードで新しいSHA-256
ハッシュを使用してパッケージがビルドされます。署名付きパッケージについては、ペイロード・ハッシュが署名によってさらに保護されるため、パッケージ・ヘッダーの署名や他のハッシュを破ることなく改ざんすることはできません。古いパッケージでは、MD5
ハッシュがヘッダーおよびペイロードに使用されます(このハッシュが構成によって無効化されている場合を除く)。また、%_pkgverify_level
マクロを使用して、インストール前に署名検証を強制したり、ペイロード検証を無効にすることもできます。さらに、%_pkgverify_flags
マクロを使用して、許可されるハッシュおよび署名を制限することもできます。
インストール、ブート、およびイメージの作成
Oracle Linux 8では、システムのインストールとブート、およびイメージの作成に関する次の重要な機能と改良点が導入されています。
-
新しいカーネル・ブート・パラメータをインストーラに追加
新しいカーネル・ブート・パラメータ
inst.addrepo=name,url
がインストーラに追加されました。このパラメータを使用して、インストール中に追加のリポジトリを指定できます。このパラメータには、指定する必要がある2つの必須値(リポジトリの名前とそのリポジトリを指すURL)があります。以前は、カーネル・ブート・パラメータを設定することによってベース・リポジトリのみを指定できました。 -
LUKS2ディスク暗号化をインストーラに追加
デフォルトでは、Oracle Linux 8インストーラはLUKS2形式を使用します。この変更により、オンディスク・フォーマットの機能の拡張やメタデータを格納するための柔軟な方法の提供など、いくつかの改良点が導入されています。インストーラを使用したインストール中に、カスタム・パーティショニング・ウィンドウでLUKSバージョンを選択できるようになりました。または、
autopart
、logvol
、part
およびRAID
オプションを使用して、kickstartプロファイルでこれらの新しいコマンド・オプションを指定できます。 -
Boomブート・マネージャを追加
Boomブート・マネージャでは、ブート・エントリ構成のBootLoader仕様をサポートするブート・ローダーが使用されます。Boomは柔軟なブート構成を提供し、新しいまたは変更されたブート・エントリの作成を簡略化します。Boomには、ブート・エントリの作成タスクを容易にするシンプルなコマンドライン・インタフェース(CLI)とAPIが含まれています。
Boomブート・マネージャは、既存のブート・ローダー構成を変更しません。追加エントリを挿入するのみであるため、カーネルのインストール・スクリプトや更新スクリプトなどのディストリビューション統合とともに、既存の構成が維持されます。この構成は、以前のリリースと同様に引き続き機能します。
-
統合ISOのサポートをインストーラに追加
このリリースでは、BaseOSおよびAppStreamインストール・ソース・リポジトリを自動的にロードする統合ISOがインストーラで使用されます。この機能は、インストール中にロードされる最初のベース・リポジトリについては動作しますが、別のベース・リポジトリを使用してブートした後、統合ISOに変更しようとした場合は動作しません。そのようにすると、ベース・リポジトリは置き換えられますが、AppStreamリポジトリは置き換えられず、引き続き元のファイルを指します。
-
非推奨になったKickstartコマンドおよびオプション
以前のリリースで使用できたいくつかのKickstartコマンドおよびオプションが非推奨になりました。最も重要なのは、
ignoredisk
コマンドの--interactive
オプションは非推奨であり、インストール中の致命的なエラーを回避するために、既存のkickstart構成から削除する必要があるということです。非推奨になったその他のコマンドおよびオプションは次のとおりです。
-
auth
-
authconfig
-
device
-
deviceprobe
-
dmraid
-
install
-
lilo
-
lilocheck
-
mouse
-
multipath
-
bootloader --upgrade
-
ignoredisk --interactive
-
partition --active
-
reboot --kexec
-
Red Hat Compatible Kernel
Oracle Linux 8に同梱されているRed Hat Compatible Kernel (RHCK)には、次の重要な機能、機能強化および変更点が適用されています。
-
PKCS#7モジュール署名を認識して表示するようにmodinfoコマンドを更新
modinfoコマンドが更新されて、CMSおよびPKCS#7形式の署名で署名されたモジュールについて、署名キーのフィンガープリント、署名者、正しいハッシュ・アルゴリズムなどの署名情報を認識して表示するようになりました。また、以前のバージョンのmodinfoコマンドでは、これらのモジュールがMD4ハッシュで署名されたものとして誤って表示され、署名キーや正しいハッシュ・アルゴリズムなどの適切な署名情報が表示されませんでした。
-
一部のカーネル・モジュールを
kernel-modules-extra
パッケージに移動Oracle Linux 8のセキュリティを強化するために、いくつかのカーネル・モジュールが
kernel-modules-extra
パッケージに移動されました。つまり、これらのモジュールはいずれもデフォルトではインストールされません。その結果、これらのコンポーネントもデフォルトでブロックリストに登録されるため、root以外のユーザーはそれらをロードできません。これらのカーネル・モジュールのいずれかを使用するには、root
ユーザーとして、kernel-modules-extra
パッケージをインストールしてから、モジュール・ブロックリストを明示的に削除する必要があります。この結果として、root以外のユーザーがソフトウェア・コンポーネントを自動的にロードできるようになります。モジュールが移動されており、現在
kernel-modules-extra
パッケージに含まれているかどうかを確認するには、次のコマンドを実行します。sudo dnf repoquery -l kernel-modules-extra
-
5レベルのページングを追加
Tが更新されて、新しい
P4d_t
ソフトウェア・ページ表タイプが追加されました。この変更により、Oracle Linux 8で5レベルのページングが有効になります。この機能には、ご使用のプロセッサ・タイプでは提供されていない可能性があるハードウェア・サポートが必要です。 -
メモリー管理の5レベルのページングを追加
メモリー・バスの制限が57/52ビットの仮想/物理メモリー・アドレス指定に拡張され、仮想アドレス空間が128 PiB、物理メモリー容量が4 PBになりました。このように拡張されたアドレス範囲により、Oracle Linux 8のメモリー管理機能で5レベルのページングを有効にすることができ、拡張されたアドレス範囲を処理できます。
このリリースでは、LinuxカーネルのI/Oメモリー管理ユニット(IOMMU)コードも更新されて、5レベルのページング表が有効になっています。
-
コントロール・グループv2のサポートを追加
このリリースでは、プロセスを階層的に編成し、制御された構成可能な方法でシステム・リソースを階層に沿って分配するコントロール・グループv2のメカニズムがサポートされています。以前にサポートされていたバージョンとは異なり、コントロール・グループv2は、プロセス所有者のロールに基づいてプロセスを分類し、競合するポリシーや複数の階層に関する問題を解消する単一の階層です。
コントロール・グループv2のメカニズムでは、CPUコントローラ、メモリー・コントローラ、I/Oコントローラ、PIDコントローラおよびRDMAコントローラを含む多数のコントローラがサポートされています。I/Oコントローラは、メモリー・コントローラと連動して、ページ・キャッシュのライトバックIOの制御を実装します。
ノート:
cpuset
Cgroup v2コントローラのサポートは、現在、Oracle Linux 8では提供されていません。 -
eBPFベースのプログラムおよびマップのレポート機能をsosreportツールに追加
Oracle Linux 8では、ロードされたextended Berkeley Packet Filtering (eBPF)プログラムおよびマップをレポートする機能が
sosreport
ツールに含まれています。 -
bpftoolを追加
bpftool
ツールのサポートがLinuxカーネルに追加されました。このツールは、eBPFに基づくプログラムおよびマップの検査と基本的な操作に使用されます。bpftool
ツールは、カーネル・ソース・ツリーの一部であり、kernel
パッケージのサブパッケージであるbpftool
パッケージによって提供されます。 -
early kdumpのサポートを追加
early kdump
機能を使用すると、初期のクラッシュを含め、vmcore
情報を取得できるように、クラッシュ・カーネルおよびinitramfs
を初期段階でロードできます。以前は、kdumpサービスが十分に早い段階で開始されず、初期のカーネル・クラッシュについては特に、クラッシュ情報(vmcore
)を取得できませんでした。詳細は、/usr/share/doc/kexec-tools/early-kdump-howto.txt
ファイルを参照してください。
Cockpit
Oracle Linux 8には、Cockpitインタフェースに関する次の機能、機能強化および変更点が含まれています。
ノート:
セキュリティ上の目的のために、Cockpitでは通常、WebブラウザがHTTPSを使用してアプリケーションと通信することが求められます。証明書や、SSLおよびTLSのバージョンに関する情報など、Cockpitの使用要件の詳細は、https://cockpit-project.org/guide/latest/https.html#https-certificatesを参照してください。
-
デフォルトでインストール可能なCockpitパッケージ
CockpitパッケージがOracle Linuxのデフォルト・リポジトリに追加されており、即時インストールに使用できます。最小インストール以外については、Cockpitが自動的にインストールされます。ログイン前に表示されるシステム・メッセージでは、Cockpitを有効にする方法やCockpitにアクセスする方法に関する情報が提供されます。
ノート:
ファイアウォールが有効になっている場合は、cockpitで使用されるポートについてアクセスを許可する必要が生じることがあります。このサービスについてファイアウォール・ポートを明示的に有効にするには、次のコマンドを実行します。
sudo firewall-cmd --permanent --add-service=cockpit; firewall-cmd --reload
-
Cockpitのネットワーキング・ページにファイアウォール・セクションを追加
ネットワーキング・ページの新しいファイアウォール・セクションでは、ファイアウォールの有効化と無効化がサポートされていますまた、ページのこのセクションでファイアウォール・ルールを追加、削除および変更することもできます。
-
欠落している更新およびサブスクリプションを表示するようにCockpitフロント・ページを改良
Cockpit管理対象システムに古いパッケージまたは失効したサブスクリプションがある場合、システムのCockpitフロント・ページに警告が表示されるようになりました。
-
モバイル・ブラウザとのCockpitの互換性
このリリースでは、様々なモバイル・ブラウザでCockpitのメニューおよびページを操作できます。この変更により、モバイル・デバイスからCockpitを使用してシステムを管理できるようになります。
-
PBDルールのサポートを追加
Cockpitインタフェースを使用して、管理対象システムのディスクにポリシーベースの復号化(PBD)ルールを適用できるようになりました。Clevis復号化クライアントを使用すると、LUKSで暗号化されたディスク・パーティションの自動ロック解除など、Cockpitの様々なセキュリティ管理機能が容易になります。
-
Cockpitによる仮想マシンの管理のサポート
Cockpitインタフェースに仮想マシンのページを追加する機能が追加されました。このページを使用して、
libvirt
ベースの仮想マシンを作成および管理できます。
Podman、BuildahおよびSkopeoコンテナ・ツールの同梱
Oracle Linux 8リリースには、podman、buildahおよびskopeoコンテナ・ツールが用意されています。これらのツールはOpen Container Initiative (OCI)と互換性があり、Dockerおよび互換性がある他のコンテナ・エンジンによって生成および管理されるものと同じLinuxコンテナの管理に使用できます。これらのツールは軽量であり、主に機能のサブセットに重点を置いているため、デーモン・プロセスを操作するオーバーヘッドを減らしながら実行できます。
-
ポッド・マネージャ(podman)
Oracle Linux 8では、ポッド・マネージャ・ツール(podman)が導入されています。これは、Linuxシステムで互換性があるコンテナ・イメージを開発、実行および管理するために使用できるデーモンレス・コンテナ・エンジンです。コンテナは、rootとして実行することも、ルートレス・モードで実行することもできます。
podmanツールは、
libpod
ライブラリに基づいて構築されており、コンテナおよびコンテナのグループ(ポッドと呼ばれる)の管理を行うことができます。podmanを使用すると、run、stop、start、ps、attach、execなどのコマンドや同様のコマンドにより、1つのノード上のポッド、コンテナ・イメージおよびコンテナを直接管理できます。podmanツールはdockerコマンドライン・ツールと同様の構文を使用し、Docker環境で動作するように設計されたイメージを実行できます。また、podmanの構文は多くの場合、一般的なコマンドをより簡単に実行できるように簡略化されています。たとえば、Dockerコマンドdocker container ls --allはpodman ls --allに短縮されています。さらに、podmanでは
--latest
構文が導入されており、コンテナ名を繰り返し入力しなくても済むように、直近に作成されたコンテナの簡略表現としてこれを使用できます。podmanおよび関連ツールはcgroup v1の機能に依存するため、この機能は無効にしないでください。
podmanの使用の詳細は、https://podman.ioを参照してください。
-
Buildah (buildah)
buildahコマンドを使用して、作業コンテナまたはDockerfileから、あるいは最初からコンテナ・イメージを作成します。結果として生成されるイメージはOpen Container Initiativeに準拠しているため、DockerやCRI-Oなど、Open Container Initiative Runtime Specificationに適合するコンテナ・ランタイムで動作します。
buildahコマンドには様々なオプションが含まれており、それらを使用して、コンテナまたはイメージの検査、コンテナのマウントとアンマウント、新しいコンテナ・レイヤーの作成、およびコンテナまたはイメージの削除を行うこともできます。
Buildahはデータを単独で格納し、イメージのビルドとコンテナとしてのそれらのイメージの実行の両方を行うことができる機能を備えているため、Dockerや他のコンテナ・ランタイムなしで動作できます。また、Buildahは、
/var/lib/containers
にあるcontainers-storage
として識別される領域にイメージを格納します。buildahコマンドは、次の点でdockerコマンドとは異なります。
-
buildahコマンドはDockerデーモンをバイパスするので、Buildahを使用するためにコンテナ・ランタイム(Docker、CRI-Oなど)は必要ありません。
-
buildahコマンドを使用して、別のコンテナに基づくイメージをビルドできます。また、スクラッチ(空の)イメージから開始することもできます。
-
Buildahツールは外部にあります。イメージ自体にはビルド・ツールが含まれないため、Buildahでビルドするイメージのサイズは小さくなります。その結果、こうした小さいイメージでは、転送するリソースが少なくて済みます。また、Buildahでビルドしたイメージを使用してコンテナをビルドするためにgcc、make、dnfなどのツールを使用する必要はないため、結果のイメージのセキュリティが向上します。
Buildahの使用の詳細は、GitHubのBuildahページを参照してください。
-
-
Skopeo (skopeo)
Skopeoは、リモート・イメージ・レジストリを操作して情報、イメージおよび署名コンテンツを取得するために使用するクライアント・ツールです。skopeoコマンドを使用して、リモート・コンテナ・レジストリとの間でコンテナ・イメージをコピーできます。このツールには、リモートでイメージの署名および認証を行う機能も含まれています。
skopeoコマンドには様々なオプションが含まれており、それらを使用してイメージのコピー、検査、削除および署名を行うことができます。たとえば、コンテナ・イメージをシステムにプルする前に検査する場合は、skopeo inspectコマンドを使用します。このコマンドでは、リモート・コンテナ・レジストリに存在するイメージに関する情報が表示されます。
Skopeoの使用の詳細は、GitHubのSkopeoページを参照してください。
デスクトップ
Oracle Linux 8では、GNOMEデスクトップに次の機能、機能強化および変更点が導入されています。
-
GNOME Shellのバージョンを3.27に更新
このバージョンのGNOME Shellには、以前のバージョンに対する次のようないくつかの改良点が含まれています。
-
GNOME Boxesの新しい機能
-
オンスクリーン・キーボードの実装
-
Thunderbolt 3インタフェースの統合を含む、拡張されたデバイス・サポート
-
GNOMEソフトウェア
dconf-editor
およびGNOME端末の改良
-
-
Waylandがデフォルトのディスプレイ・サーバーである
Oracle Linux 8では、GNOMEセッションとGNOMEディスプレイ・マネージャ(GDM)の両方でWaylandがデフォルトのディスプレイ・サーバーとして使用されます。Waylandは、以前のメジャーOracle Linuxリリースで使用されていた
X.org
サーバーに代わるものであり、それよりもシンプルです。コンポジタのプロトコルであるWaylandは、Linuxカーネルのモード設定およびevdev
入力デバイス、XアプリケーションまたはWaylandクライアントで実行されるスタンドアロン・ディスプレイ・サーバーです。クライアントは、従来のアプリケーション、Xサーバー(ルートレスまたは全画面)、あるいは他のディスプレイ・サーバーです。さらに、Waylandは開発および保守がより簡単です。Waylandには、
X.org
サーバーと比べて、他にも次のような利点があります。-
より強力なセキュリティ
-
マルチモニター処理の向上
-
ユーザー・インタフェース(UI)スケーリングの向上
-
デスクトップによるウィンドウ処理の直接制御
ノート:
現在、Waylandの一部の機能は正しく動作しないか、使用できません。
また、次のグラフィック・ドライバが使用されている場合、システムはデフォルトのディスプレイ・サーバーとして自動的に
X.org
にフォールバックします。-
NVIDIAバイナリ・ドライバ
-
cirrus
ドライバ -
mga
ドライバ -
aspeed
ドライバ
次のようにWaylandを手動で無効にできます。
-
GDMでWaylandを無効にするには、
/etc/gdm/custom.conf
ファイルでWaylandEnable=false
オプションを設定します。 -
GNOMEデスクトップでWaylandを無効にするには、ログイン名を入力した後、ログイン画面にある歯車メニューでレガシーX11オプションを選択します。
-
-
追加リポジトリでのデスクトップ・パッケージの検索がデフォルトで有効にならない
このリリースでは、デスクトップ・パッケージの追加リポジトリはデフォルトでは有効にならず、対応する
.repo
ファイルのenabled=0
行でこのことが指定されています。PackageKitを使用してこれらのいずれかのリポジトリからパッケージをインストールしようとすると、アプリケーションが使用できないことを示すエラーが発生します。パッケージを使用できるようにするには、それぞれの.repo
ファイルの行をenabled=1
に変更します。 -
gnome-packagekitをGNOME Softwareユーティリティに置換え
Oracle Linux 8では、以前のリリースで使用されていた
gnome-packagekit
パッケージがGNOME Softwareユーティリティ・パッケージ(gnome-software
)に置き換わっています。GNOME Softwareユーティリティを使用すると、アプリケーションおよびgnome-shell
拡張をインストールおよび更新できます。 -
RPMパッケージで動作するようにPackageKitを更新
rpm
パッケージでの動作のサポートがPackageKit
に追加されました。
開発者ツールおよびコンパイラ
Oracle Linux 8では、開発者ツールおよびコンパイラについて、次のような多くの機能強化と変更点が導入されています。
-
Boost C++ライブラリをバージョン1.66に更新
このバージョンのBoost C++ライブラリでは、Oracle Linux 7で使用されていたBoostバージョン1.53に対するいくつかの機能強化と改良点が提供されています。
ノート:
boost
パッケージをインストールしても、Boost.Python
ライブラリが依存関係としてインストールされなくなりました。Boost.Python
ライブラリを使用するには、boost-python3
またはboost-python3-devel
パッケージを明示的にインストールする必要があります。 -
GNU Cライブラリをバージョン2.28に更新
Oracle Linux 8では、セキュリティ強化機能、パフォーマンスの向上、Unicodeバージョン11.0.0および新しい開発者機能を含むGNU Cライブラリ・バージョン2.28 (
glibc
)が提供されています。 -
大規模な構造を正しく表示するようにltraceツールを改良
Oracle Linux 8には、改良された
ltrace
ツールが含まれており、大規模な構造を処理して正しく出力できるようになりました。 -
新しいcompat-libpthread_nonsharedパッケージを追加
Oracle Linux 8には、新しい
compat-libpthread-nonshared
パッケージが用意されています。このパッケージを使用すると、/usr/lib64/libpthread_nonshared.a
を直接参照するアプリケーションが正しく動作できます。 -
ロケール・パッケージの配布の変更
Oracle Linux 8では、言語およびロケールが複数の
glibc-langpack-
CODEパッケージで配布されます。以前のリリースでは、すべてのロケールおよび言語が単一のパッケージglibc-common
で配布されていました。また、このリリースでは、すべてのロケールがデフォルトでインストールされるわけではありません。インストール中に選択したもののみがインストールされます。追加のロケール・パッケージが必要な場合は、個別にインストールする必要があります。 -
compat-libgfortran-48パッケージを追加
Oracle Linux 8には、新しい
compat-libgfortran-48
互換性パッケージが用意されています。libgfortran.so.3
ライブラリを提供するこのパッケージは、Fortranライブラリを使用するOracle Linux 6およびOracle Linux 7アプリケーションとの下位互換性のために提供されています。 -
retpolineのサポートをGCCに追加
Oracle Linux 8では、GNUコンパイラ・コレクション(GCC)にretpolineのサポートが追加されています。retpolineは、CVE-2017-5715に記載されているSpectre Variant 2攻撃を緩和するオーバーヘッドを削減するためにカーネルが使用するソフトウェア構成体です。
-
CMakeをバージョン3.11に更新
Oracle Linux 8の
cmake
パッケージでは、CMakeビルド・システムのバージョン3.11が提供されています。 -
makeツールをバージョン4.2.1に更新
Oracle Linux 8には、
make
ビルド・ツールのバージョン4.2.1が含まれています。 -
Go ToolsetでビルドされたGoプログラムのFIPS準拠
ホスト・システムがFIPSモードで構成されている場合、Go Toolsetに含まれている暗号ライブラリではOpenSSLライブラリのバージョン1.1.0が使用されます。したがって、このバージョンのGo ToolsetでビルドされたプログラムはFIPS準拠です。
認証されていない標準暗号ルーチンのみをGoプログラムが使用するように指定するには、ビルド時にGoコンパイラの
-tags no_openssl
オプションを使用します。 -
SystemTapをバージョン4.0に更新
Oracle Linux 8には、SystemTapインストゥルメンテーション・ツールのバージョン4.0が含まれています。このバージョンのSystemTapには、重要な機能と以前のバージョンに対する改良点がいくつか含まれています。
-
binutilsがバージョン2.30に更新されました
Oracle Linux 8では、
binutils
パッケージのバージョン2.30が提供されています。改良点には、新しいs390x
アーキテクチャ拡張のサポートの強化や、アセンブラおよびリンカーのサポートの改良が含まれます。このバージョンのbinutils
におけるその他の重要な変更点には、readelf
、objdump
およびnm
ツールの新しいオプションの追加が含まれます。 -
Performance Co-Pilotをバージョン4.1.3に更新
このリリースにはPerformance Co-Pilot (pcp)のバージョン4.1.3が含まれており、以前のバージョンの
pcp
に対するいくつかの改良点が提供されています。 -
メモリー保護キーを提供
このリリースでは、スレッドごとのページ保護フラグの変更を許可するハードウェア機能が有効になっています。
pkey_alloc()
、pkey_free()
およびpkey_mprotect()
関数について、新しいglibc
システム・コール・ラッパーが追加されました。さらに、pkey_set()
およびpkey_get()
関数も追加されました。これらの関数を使用すると、スレッドごとの保護フラグにアクセスできます。 -
タイムゾーン・データを新しいアップストリームのデフォルト・データ形式に更新
Oracle Linux 8には、新しいデフォルトのアップストリーム・データ形式を操作するとともに、マイナスのDST (夏時間)オフセットも含む
tzdata-2018e
パッケージのバージョンが含まれています。 -
elfutilsをバージョン0.174に更新
Oracle Linux 8には、
elfutils
バージョン0.174が含まれています。このバージョンのelfutils
では、以前のバージョンのツールに対するいくつかの改良点が提供されています。 -
Valgrindをバージョン3.14に更新
Oracle Linux 8には、Valgrind実行可能コード分析ツールのバージョン3.14が含まれています。このバージョンのValgrindには、以前のバージョンのツールに対するいくつかの機能強化と変更点が含まれています。
-
GDBがバージョン8.2に更新されました
Oracle Linux 8には、GDBデバッガのバージョン8.2が含まれています。このバージョンのGDBデバッガには、以前のバージョンに対するいくつかの改良点が含まれています。
-
GCCをバージョン8.2に更新
Oracle Linux 8では、GCCツールチェーンはGCC 8.2リリース・シリーズに基づいており、以前のバージョンのGCCに対するいくつかの変更点と改良点が提供されています。
ファイル・システムおよびストレージ
Oracle Linux 8では、ファイル・システムとストレージに関する次の重要な機能、機能強化および変更点が導入されています。
-
Btrfsファイル・システムをRHCKで削除
Oracle Linux 8では、Btrfsファイル・システムがRHCKから削除されています。そのため、このカーネルを使用している場合はBtrfsファイル・システムを作成したり、マウントできません。また、このリリースではBtrfsユーザースペース・パッケージは提供されていません。Btrfsを使用する場合は、引き続きOracle Linux 7を使用してください。
-
OCFS2ファイル・システムのサポートがRHCKで提供されない
Oracle Linux 8では、OCFS2ファイル・システムがRHCKでサポートされていません。OCFS2を使用する必要がある場合は、引き続きOracle Linux 7を実行してください。
-
Oracle Linux 8ではUDP経由のNFSv3のサポートが提供されない
Oracle Linux 8では、デフォルトで、NFSサーバーがUser Datagram Protocol (UDP)ソケットをオープンしたり、UDPソケットでリスニングしなくなりました。この変更は、NFSバージョン3 (NFSv3)にのみ影響します。バージョン4にはTransmission Control Protocol (TCP)が必要です。
-
DMマルチパスの機能強化
Oracle Linux 8では、デバイス・マッパー・マルチパス(DMマルチパス)構成に関する次のような注目に値する機能強化がいくつか導入されています。
-
新しい
overrides
セクションが/etc/multipath.conf
ファイルに追加されました。このセクションを使用して、すべてのデバイスの構成値を入力できます。設定した属性はその後、デバイスを格納するパスの/etc/multipath.conf
ファイルのmultipaths
セクションで設定された属性によって値が上書きされないかぎり、すべてのデバイスのDMマルチパスで使用されます。この新しい機能は、構成ファイルのdevices
セクションにある、サポートされなくなったall_devs
パラメータに代わるものです。 -
マージナル・パスの改良された検出のサポートがmultipathdサービスに追加されました。この機能強化により、繰り返し失敗する可能性があるパスをマルチパス・デバイスで回避できるため、パフォーマンスが向上します。マージナル・パスの動作を制御する、
/etc/multipath.conf
ファイルのこのオプションに関する情報を含め、この変更点の詳細は、multipath.conf
のmanページを参照してください。
-
-
SCSIマルチキュー・ドライバのサポートを追加
Oracle Linux 8では、ブロック・デバイスでマルチキュー・スケジューリングが使用されます。この機能強化により、高速ソリッドステート・ドライブ(SSD)およびマルチコア・システムでブロック・レイヤーのパフォーマンスを適切にスケーリングできます。
また、SCSIマルチキュー(
scsi-mq
)ドライバはデフォルトで有効になっており、カーネルはscsi_mod.use_blk_mq=Y
オプションでブートします。DMマルチパスの要件は、scsi-mq
ドライバがアクティブであることです。 -
Stratisローカル・ストレージ・マネージャを導入
Oracle Linux 8には、Stratisローカル・ストレージ管理ツールが含まれています。Stratisでは、統合インタフェースを使用することで、複雑なストレージ・タスクの実行やストレージ・スタックの管理をより簡単に行うことができます。
-
XFSによる共有COWデータ・エクステントのサポート
XFSファイル・システムで共有copy-on-write (COW)データ・エクステント機能がサポートされるようになり、2つ以上のファイルがデータ・ブロックの共通セットを共有できます。この機能は、他のファイル・システムにあるCopy on write (COW)機能と似ており、共通ブロックを共有しているファイルのいずれかが変更されると、XFSはそれらの共通ブロックへのリンクを解除し、新しいファイルを作成します。
共有COWエクステントは高速で容量効率に優れ、透過的です。ユーザースペース・ユーティリティでは、クローニング、ファイルごとのスナップショットおよびアウトオブバンド重複除外にCOWエクステントを使用できます。OverlayfsやNFSなど、いくつかのカーネル・サブシステムでもCOWエクステントが使用されます。
共有COWデータ・エクステントは現在、
xfsprogs
4.19.0-2.0.1.el8
パッケージ・バージョンでは、XFSファイル・システムの作成中にデフォルトで無効になっています。この機能を有効にしてXFSファイル・システムを作成するには、次のコマンドを実行します。sudo mkfs.xfs -m crc=1,reflink=1 block-device
xfsprogs
の将来のバージョンでは、この機能がデフォルトで有効になる可能性があります。 -
テクノロジ・プレビュー: MD Raidにおけるクラスタ・ビットマップ
MD Raidデバイスの管理に使用されるmdadmコマンドには、クラスタ環境内に配列のビットマップを格納するための
--bitmap=clustered
オプションが含まれています。この機能は、テクノロジ・プレビューとして提供されており、Oracle Linux 8ではサポートされていません。
アイデンティティ管理
Oracle Linux 8では、アイデンティティ管理に関するいくつかの重要な機能および機能強化が導入されており、これには、Identity Management (IdM)サーバーおよびクライアントのインストールに必要なパッケージの配布方法の大幅な変更も含まれています。この詳細に加えて、アイデンティティ管理に関する注目すべきその他の変更点を次に示します。
-
IdMパッケージがモジュールとして配布されるようになった
Oracle Linux 8以降、IdM (Identity Management)サーバーおよびクライアントのインストールに必要なパッケージはモジュールとして配布されます。クライアント・ストリームは、
idm
モジュールのデフォルト・ストリームです。このストリームを有効にしなくても、クライアントのインストールに必要なパッケージをダウンロードできます。IdMサーバーのモジュール・ストリームは
DL1
ストリームと呼ばれ、これには、server
、dns
、adtrust
、client
、default
といった様々なタイプのIdMサーバーに対応する複数のプロファイルが含まれています。パッケージを
DL1
ストリームの特定のプロファイルにダウンロードするには、次の手順を実行します。-
このストリームを有効にします。
-
このストリームを介して配布されるRPMの使用に切り替えます。
-
次のコマンドを実行します。
sudo yum module install idm: DL1/profile-name
-
-
ディレクトリ・サーバーの機能強化
このリリースには、ディレクトリ・サーバーに関する次の機能強化が含まれています。
-
新しいパスワード構文チェック: ディレクトリ・サーバーのこの機能強化により、辞書チェックを有効にしたり、文字シーケンスおよび回文の使用を許可または拒否できます。ディレクトリ・サーバーで採用されているパスワード・ポリシー構文チェックを有効にすると、より安全なパスワードが強制されます。
-
内部操作ロギングのサポートの強化: ディレクトリ・サーバーでは、実際の接続および操作IDがログに記録されるようになったため、サーバーに対する内部操作やその操作の原因となったクライアント操作をトレースできます。以前は、サーバーでは内部操作の
Internal
接続キーワードのみがログに記録されていました。また、操作IDは常に-1
に設定されていました。
-
-
エンタープライズ・セキュリティ・クライアントでopenscライブラリがトークンの検出に使用される
エンタープライズ・セキュリティ・クライアント(ESC)では、削除された
coolkey
ライブラリのかわりに、opensc
ライブラリがトークンの検出に使用されるようになりました。この変更により、サポートされているトークンがアプリケーションで正しく検出されます。 -
証明書システムでログ・ローテーションがサポートされる
証明書システムでは、ログ・ローテーションをサポートする
java.logging.util
フレームワークが使用されるようになりました。この変更の結果として、ログ・ローテーションをサポートしていなかった以前のロギング・フレームワーク・メソッドを使用するかわりに、/var/lib/pki/
instance-name/conf/logging.properties
ファイルでログ・ローテーションを構成できるようになりました。詳細は、
java.util.logging
パッケージのドキュメントを参照してください。 -
ローカル・ユーザーおよびグループの解決がSSSDによってキャッシュされ、nss_sssモジュールを介して処理される
Oracle Linux 8では、ローカル・ユーザーおよびグループの解決がさらに高速になっています。
root
ユーザーがシステム・セキュリティ・サービス・デーモン(SSSD)によって処理されることはありません。したがって、SSSDの潜在的なバグがrootの解決に影響を及ぼすことはありません。また、SSSDが実行されていない場合は、nss_sss
モジュールがnss_files
にフォールバックします。filesドメインは自動的に追加されるため、SSSDを構成する必要はありません。 -
KEYRINGをKCMに置換え
Oracle Linux 8では、
sssd-kcm
デーモンを利用するKerberos資格証明マネージャ(KCM)がデフォルトの資格証明キャッシュ・ストレージになっています。この機能強化は、コンテナ化された環境のサポートを強化するとともに、今後のリリースでさらに多くの機能を追加するための基盤となります。KCMによって、KEYRINGの制限(この機能は名前空間を使用しないため、割当ての表示および管理に使用できないことから、コンテナ化された環境で使用することが難しい)が解消されます。 -
Active Directoryを使用してアイデンティティ管理を実施するためのサポートを追加
このリリースでは、Active Directory (AD)ユーザーのユーザーIDオーバーライドをIdentity Management (IdM)グループのメンバーとして追加できます。この変更により、IdM LDAPサーバーは、IdMグループのアクセス制御ルールをADユーザーに適用できます。
さらに、AD管理者は、2つの別個のアカウントがなくてもidMを完全に管理できるようになりました。また、ADユーザーは、SSHキーのアップロードや個人データの変更など、IdMユーザー・インタフェース(UI)のセルフサービス機能を使用できます。ただし、ADユーザーは、一部のIdM機能をまだ使用できない場合があります。
-
sssctlを使用してIdMドメインのHBACルール・レポートを出力するためのサポートを追加
Oracle Linux 8では、SSSDのsssctlコマンドを使用して、IdMドメインのアクセス制御レポートを出力できます。この機能強化により、特定の環境で(規制上の理由から)、特定のクライアント・システムにアクセスできるユーザーおよびグループのリストを表示できるようになります。IdMクライアントでsssctl access-report domain-nameコマンドを実行すると、クライアントのシステムに適用される、IdMドメインのホストベース・アクセス制御(HBAC)ルールの解析済サブセットが出力されます。
-
セッション記録ソリューションのサポートを追加
Oracle Linux 8には、セッション記録ソリューションが用意されています。新しい
tlog
パッケージとそれに関連付けられたCockpitセッション・プレーヤを使用すると、ユーザー端末セッションを記録および再生できます。その後、SSSDサービスを使用して、ユーザーごとまたはユーザー・グループごとにその記録を構成できます。端末の入出力がすべて取得され、テキストベース形式でシステム・ジャーナルに格納されます。セキュリティ上の理由から、入力はデフォルトでは非アクティブになっています。この記録ソリューションを使用して、セキュリティ上重要なシステムでユーザー・セッションを監査することもできます。セキュリティ違反が発生した場合は、記録されたセッションを確認して分析できます。また、セッション記録をローカルで構成した後、CockpitのWebベース・インタフェースから、またはtlog-playコマンドを使用して結果を表示できます。
-
authconfigコマンドをauthselectコマンドに置換え
このリリースでは、authconfigコマンドがauthselectコマンドに置き換わっています。authselectコマンドによって、Oracle Linux 8におけるユーザー認証の構成が簡略化されます。また、authselectコマンドによって、プラガブル認証モジュール(PAM)のスタック管理に対するより安全なアプローチが提供されます。
authselectコマンドを使用して、パスワード、証明書、スマート・カードおよび指紋といった認証方法を構成できます。ただし、authselectコマンドを使用して、リモート・ドメインに参加するために必要なサービスを構成することはできません。このタイプの構成については、realmdまたはipa-client-installコマンドを使用してください。
インフラストラクチャ・サービス
Oracle Linux 8では、インフラストラクチャ・サービスに関する次の機能、機能強化および変更点が導入されています。
-
GeoLiteデータベース・パッケージをGeolite2データベース・パッケージに置換え
Oracle Linux 7でGeoLiteデータベース向けに提供されていた
GeoIP
パッケージとレガシー・データベースはサポートされなくなりました。Oracle Linux 8では、GeoLite2データベースが複数のパッケージによって提供され、これには、ライブラリを含むlibmaxminddb
パッケージや、アドレスの手動検索を可能にするmmdblookup
コマンドライン・ツールが含まれます。レガシーGeoIP
パッケージのgeoipupdate
バイナリは、geoipupdate
パッケージによって提供されるようになりました。このパッケージでは、レガシー・データベースと新しいGeoLite2データベースの両方をダウンロードできます。
ネットワーク
このリリースのOracle Linux 8では、次の機能、拡張機能および改善が導入されています。
nftablesによるiptablesの置換え
Oracle Linux 8では、デフォルトのiptables
ネットワーク・パケット・フィルタリング・フレームワークがnftables
フレームワークに置き換えられました。iptables
、ip6tables
、arptables
およびebtables
の後継として指定されたnftables
フレームワークには、パケット分類機能といくつかの改良点が含まれており、以前使用されていたパケットフィルタリング・ツールと比べて利便性が増しているとともに、パフォーマンスが向上しています。
nftables
実装は、次の改良点を備えています。
-
ルックアップ表による線形処理の置換え
-
IPv4プロトコルとIPv6プロトコルの両方に対応した単一のフレームワーク
-
より一貫性のあるコンパクトな構文
-
nftraceによるルールセットでのデバッグおよびトレースのサポート
-
サード・パーティ・アプリケーション用のNetlink API
nftables
実装に関する追加情報を次に示します。
-
nftables
フレームワークでは、iptables
と同様に、チェーンを格納するために表が使用されます。チェーンには、アクションを実行するための個別のルールが含まれています。 -
以前使用されていたパケットフィルタリング・フレームワーク・ツールはすべて、nftツールに置き換わっています。
-
libmnl
ライブラリを介したnftables
Netlink APIとの低レベルのやり取りにlibnftables
ライブラリを使用できます。 -
iptables
、ip6tables
、ebtables
およびarptables
ツールは、同じ名前を使用する、nftables
ベースのドロップイン置換に置き換えられています。これらのツールは、対応するレガシー・ツールと同じように動作しますが、内部では、必要に応じて、互換性インタフェースを介してレガシー
netfilter
カーネル・モジュールとともにnftables
を使用します。nft list rulesetコマンドを使用して、
nftables
ルールセットに対するモジュールの影響を確認できます。ただし、これらのツールは表、チェーンおよびルールをnftables
ルールセットに追加するため、一部のnftables
ルールセット操作(nft flush rulesetコマンドなど)は、以前は別々だったレガシー・コマンドを使用してインストールされたルールセットに影響を及ぼす可能性があります。現在実行しているツールのバージョンを確認するには、iptables --versionコマンドを使用します。バージョン情報がバックエンド名を含むように更新されています。たとえば、Oracle Linux 8を実行している場合は、次のように
nftables
ベースのiptables
ツールを実行できます。iptables --version
前述のコマンドを実行すると、次のような出力が表示されます。
iptables v1.8.2 (nf_tables)
iptables
ツールのレガシー・バージョンがインストールされている場合に同じコマンドを実行すると、次のような出力が表示されます。iptables v1.8.0 (legacy)
iptablesルールを同等のnftablesルールに変換するためのツール
Oracle Linux 8には、既存のiptables
およびip6tables
ルールを対応するnftables
ルールに変換するためのiptables-translateおよびip6tables-translateコマンドが用意されています。拡張に変換サポートが含まれていない場合は、次のコマンドを実行すると、先頭にハッシュ記号(#
)が付いた未変換のルールが変換ツールによって出力されます。
iptables-translate -A INPUT -j CHECKSUM --checksum-fill
出力内容は次のようになります。
nft # -A INPUT -j CHECKSUM --checksum-fill
このユーティリティを使用してiptables
ルールのダンプを1回の操作で変換するには、次のコマンドを実行します。
iptables-save > rules.iptables iptables-restore-translate -f rules.iptables > rules.nft nft -f rules.nft
firewalldがデフォルトでnftablesを使用
Oracle Linux 8では、nftables
フィルタリング・サブシステムがfirewalld
デーモンのデフォルトのファイアウォール・バックエンドです。バックエンド・ファイアウォールを変更する場合は、/etc/firewalld/firewalld.conf
ファイルでFirewallBackend
オプションを指定します。
この機能の変更により、nftables
を使用する際に次のような重要な動作の違いが生じます。
-
iptables
ルールの実行は、常にfirewalld
ルールの前に行われます。 -
iptables
では、DROP
はパケットがfirewalld
によって認識されないことを意味し、ACCEPT
はパケットが引き続きfirewalld
ルールの対象であることを意味します。 -
firewalld
のダイレクト・ルールは引き続きiptables
を介して実装されますが、他のfirewalld
機能ではnftables
が使用されます。 -
ダイレクト・ルールの実行は、確立された接続に対する
firewalld
の一般的な許可の前に行われます。
IPVLAN仮想ネットワーク・ドライバを追加
Oracle Linux 8のカーネルでは、IPVLAN仮想ネットワーク・インタフェース・カード(NIC)がサポートされています。このサポートの追加により、1つのMACアドレスをローカル・ネットワークに公開することで、複数のコンテナのネットワーク接続が可能になります。この機能強化により、1つのホスト上の複数のコンテナについてネットワーク接続を有効にできるため、ピア・ネットワーキング機器でサポートされているMACアドレスの数に関して存在する可能性がある制限を解消できます。
ネットワーキング・スタックをバージョン4.18に更新
Oracle Linux 8のネットワーキング・スタックはバージョン4.18に更新されています。このバージョンのネットワーキング・スタックには、新しいオフロード機能や新しいfq_codel
デフォルト送信キュー・スケジューリング・アルゴリズムを含め、以前のバージョンに対するいくつかのバグ修正および改良点が含まれています。汎用ビジー・ポーリング・コードの改良や、User Datagram Protocol (UDP)、IPv6およびルーティング・コードに関するスケーラビリティの向上に加えて、いくつかの送信キュー・スケジューリング・アルゴリズムなど、その他にも様々な変更が加えられています。
tcコマンドからの-okオプションの削除
Oracle Linux 8では、tcコマンドで-okオプションがサポートされなくなりました。1つの回避策は、netlinkを介してカーネルと直接通信するコードを実装することです。それほどタイムクリティカルでないアプリケーションに対する別の代替策は、カスタム・スクリプトを使用して、tcの起動が成功するたびにOK
を出力することによってtc -batchの動作をシミュレートすることです。
SR-IOV仮想関数をNetworkManagerに追加
このリリースでは、NetworkManager
を使用して、シングルルートI/O仮想化(SR-IOV)をサポートするインタフェースの仮想関数(VF)の数を構成できます。NetworkManager
では、MACアドレス、VLAN、スプーフィング・チェック設定、許可されるビットレートなど、VFの特定の属性を構成することもできます。SR-IOVに関連するプロパティはすべて、sriov
接続設定で使用できます。詳細は、nm-settings(5)
のmanページを参照してください。
スクリプトおよび動的プログラミング言語
このリリースでは、スクリプトおよび動的プログラミング言語に関する次の変更点が導入されています。
-
Pythonバージョン3.6を同梱
Oracle Linux 8にはPythonバージョン3.6が含まれています。このバージョンのPythonパッケージは、デフォルトではOracle Linux 8にインストールされません。
Python 2.7のパッケージ
python2
をOracle Linux 8システムにインストールすることもできますが、Python 2.7は、Python 3への移行をより円滑に進めるために提供されており、そのライフ・サイクルはPython 3よりも短くなります。ノート:
開発者には、Python 2で記述された以前のコードをPython 3に移行することをお薦めします。移行後、元のPython 2コードはPython 3インタプリタによって解釈可能になりますが、Python 2インタプリタでも引き続き解釈可能です。
Oracle Linux 8には、デフォルトの
python
パッケージに加えて、バージョニングされていない/usr/bin/python
実行可能ファイルが含まれています。python3またはpython2を直接使用してください。または、別の方法として、alternativesコマンドを使用して、バージョニングされていないpythonコマンドを構成することもできます。 -
PHPをバージョン7.2に更新
Oracle Linux 8にはPHPバージョン7.2が含まれており、これには、以前のバージョンのPHPに対する次のようないくつかの改良点が含まれています。
-
PHPでは、スレッド化された
httpd
で安全に使用できるFastCGI Process Manager (FPM)がデフォルトで使用されるようになりました。 -
このリリースでは、
httpd
構成ファイルでphp_value
およびphp-flag
変数を指定することはなくなりました。かわりに、プール構成/etc/php-fpm.d/*.conf
でこれらの変数を設定します。 -
PHP
スクリプトのエラーと警告は、/var/log/httpd/error.log
ではなく/var/log/php-fpm/www-error.log
に記録されるようになりました。 -
PHPの
max_execution_time
構成変数を変更するには、構成が一致するようにhttpd
ProxyTimeout
設定も変更する必要があります。 -
PHPスクリプトを実行するユーザーがFPMプール構成ファイル
/etc/php-fpm/d/www.conf
で構成されるようになりました。また、apache
ユーザーがデフォルトとなっています。 -
構成を変更したり、新しい拡張をインストールした場合は、変更を有効にするために
php-fpm
サービスを再起動することが必要になりました。 -
このリリースでは、次のPHP拡張が削除されています。
-
aspell
-
memcache
-
mysql
mysqli
およびpdo_mysql
拡張は、php-mysqlnd
パッケージによって引き続き提供されています。 -
zip
-
-
-
Rubyの改良
Oracle Linux 8にはRubyバージョン2.5が含まれており、Ruby 2.0.0に対する次のようないくつかの改良点が提供されています。
-
シンボルがガベージ・コレクトされるようになった。
-
refinements
構文のいくつかの改良。 -
$SAFE=2
および$SAFE=2
レベルが廃止された。 -
IntegerクラスへのFixnumクラスとBignumクラスの統合。
-
Hashクラスの最適化、インスタンス変数へのアクセスの向上、およびMutexクラスのパフォーマンスの向上を含む、パフォーマンスの向上。
-
いくつかの古いAPIの非推奨。
-
RubyGems、Rake、RDoc、Psych、Minitestおよびtest-unitを含む、バンドルされたライブラリの更新。
-
以前、Rubyとともに配布されていた
mathn
、DL
、ext/tk
およびXMLRPC
ライブラリは非推奨となり、含まれなくなった。 -
SemVerバージョニング・スキームがRubyのバージョニングに使用されるようになった。
-
-
Perlの機能および改良点
Oracle Linux 8にはPerlバージョン5.26が含まれており、新機能と以前のバージョンのPerlに対する改良点が提供されています。このバージョンのPerlでは、いくつかの機能が非推奨となっています。
このバージョンのPerlにおける重要な変更点は次のとおりです。
-
Unicode 9.0を使用可能。
-
op-entry
、loading-file
およびloaded-file
SystemTap
プローブの追加。 -
構造化された方法でperl -Vデータにアクセスするための
Config::Perl::V
モジュールの追加。IPv4およびIPv6ソケットを透過的に処理するための
IO::Socket::IP
モジュールの追加。 -
新しい
perl-App-cpanminus
パッケージが追加された。このパッケージにはcpanm
ユーティリティが含まれており、これを使用して、Comprehensive Perl Archive Network (CPAN)リポジトリからモジュールを取得、抽出、ビルドおよびインストールできます。 -
パフォーマンスを向上させるために、スカラーを割り当てるときにcopy-on-writeメカニズムを使用可能。
-
ハッシュがデフォルトでランダム化されるようになった。また、
perl
を実行するたびに、キーと値がハッシュから返される順序が変更されます。ランダム化を無効にするには、PERL_PERTURB_KEYS
変数を0
に設定します。 -
perl
パッケージがアップストリームと一致するようになり、コア・モジュールもインストールする。/usr/bin/perl
インタプリタは、perl-interpreter
パッケージによって提供されています。これは、perl
パッケージに最小限のインタプリタのみが含まれ、perl-core
パッケージにインタプリタとコア・モジュールの両方が含まれていた以前のリリースからの変更点です。
次のPerl機能は非推奨となっているか、削除されています。
-
現在のディレクトリ(
.
)が@INC
モジュールの検索パスから削除されました。この変更は、セキュリティ上の理由から行われました。 -
do
文は、ファイルのロードに失敗したときに非推奨の警告を返します。 -
do subroutine(LIST)
コールはサポートされなくなっており、構文エラーが発生します。 -
正規表現パターンでは、エスケープされていないリテラル
{
文字は許可されていません。 -
$_
変数に対する字句スコープのサポートが削除されました。 -
配列またはハッシュで
defined
演算子を使用することはできません。これにより、致命的なエラーが発生するためです。 -
UNIVERSAL
モジュールから関数をインポートすると、致命的なエラーが発生します。 -
find2perl
、s2p
、a2p
、c2ph
およびpstruct
ツールの削除。 -
${^ENCODING}
機能の削除。また、encoding
プラグマのデフォルト・モードはサポートされなくなりました。UTF-8以外のエンコーディングを使用してソース・コードを記述するには、エンコーディングのFilter
オプションを使用します。
-
セキュリティ
Oracle Linux 8では、セキュリティに関する次の機能、機能強化および変更点が導入されています。
-
OpenSSHをバージョン7.8p1に更新
openssh
パッケージがアップストリーム・バージョン7.8p1にアップグレードされました。このバージョンのOpenSSHには、次の変更点が含まれています。-
UsePrivilegeSeparation=sandbox
オプションは必須となり、無効にすることはできません。 -
RSA
キーの最小許容サイズは1024ビットに設定されています。 -
Diffie-Hellmanパラメータのモジュール・サイズが2048ビットに変更されました。
-
UseDNS
オプションのデフォルト値がno
に変更されました。 -
DSA
公開キー・アルゴリズムはデフォルトで無効になっています。 -
ExposeAuthInfo
構成オプションのセマンティクスが変更されました。 -
OpenSSH 7.8p1では、次の機能が削除されています。
-
SSHバージョン1プロトコル
-
hmac-ripemd160
メッセージ認証コード -
RC4 (
arcfour
)、BlowfishおよびCAST暗号
-
-
-
LUKS1をLUKS2に置換え
このリリースでは、レガシーLUKS (LUKS1)形式がLUKSバージョン2 (LUKS2)形式に置き換わっています。また、
dm-crypt
サブシステムおよびcryptsetup
ツールでは、暗号化ボリュームのデフォルト形式としてLUKS2が使用されるようになりました。 -
nobodyユーザーおよびグループのペアによるnfsnobodyユーザーおよびグループのペアの置換え
IDが99の
nobody
ユーザーおよびグループのペアと、IDが65534 (デフォルトのカーネル・オーバーフローID)のnfsnobody
ユーザーおよびグループのペアは、nobody
ユーザーおよびグループのペアにマージされました。この変更により、nobody
が所有し、NFSとは無関係のファイルに関する混乱が低減します。マージされたユーザーおよびグループのペアは65534のIDを使用します。フレッシュ・インストール中にnfsnobody
ユーザーおよびグループのペアは作成されなくなりました。 -
GPGキーの長さが4096ビットに増加
セキュリティを強化するために、Oracle Linux 8 RPMパッケージは、新しい4096ビットのGNU Privacy Guard (GPG)キーで署名されるようになりました。以前は、GPGキーの長さは2048ビットでした。
-
OpenSCでRSA-PSSを使用可能
Oracle Linux 8には、
OpenSC
スマート・カード・ドライバ用のRSA-PSS暗号化署名スキームが用意されています。この新しいスキームにより、クライアント・ソフトウェアでのTLS 1.3のサポートに必要なセキュアな暗号化アルゴリズムが有効になります。 -
rsyslogをバージョン8.37.0に更新
Oracle Linux 8では、
rsyslog
パッケージがバージョン8.37.0にアップグレードされています。このバージョンのrsyslog
には、以前のバージョンに対するいくつかのバグ修正および改良点が含まれています。 -
新しいomkafka rsyslogモジュールを追加
Oracle Linux 8リリースの
omkafka
モジュールを使用して、Kafkaの一元化されたデータ・ストレージ・シナリオを有効にできます。また、このモジュールを使用して、ログをKafkaインフラストラクチャに転送することもできます。 -
libsshがSSHをコア暗号化コンポーネントとして実装
Oracle Linux 8では、SSHプロトコルを実装する
libssh
ライブラリがコア暗号化コンポーネントとして導入されています。libssh
は、システム全体の暗号化ポリシーには準拠しません。 -
OpenSCAP APIの統合
Oracle Linux 8では、OpenSCAP共有ライブラリAPIが統合されています。その結果、63個のシンボルが削除され、14個のシンボルが追加され、4個のシンボルで署名が更新されています。
OpenSCAP 1.3.0で削除されたシンボルは次のとおりです。
-
バージョン1.2.0で非推奨としてマークされたシンボル
-
SEAPプロトコル・シンボル
-
内部ヘルパー関数
-
未使用のライブラリ・シンボル
-
未実装のシンボル
-
-
スマート・カードとHSMのPKCS #11サポートを統一
Oracle Linux 8では、PKCS #11暗号化トークン・インタフェースを使用するスマート・カードとハードウェア・セキュリティ・モジュール(HSM)の使用方法が統一されており、ユーザーおよび管理者は、システム内の関連するすべてのツールに同じ構文を使用できます。
-
iscsiuioプロセスが正しく動作するようにSELinuxポリシーを改良
Oracle Linux 8では、
iscsiuio
プロセスがmmap
システム・コールを使用して/dev/uio*
デバイスにアクセスできるように、欠落ルールがSELinuxポリシーに追加されています。以前は、SELinuxポリシーによってこのようなアクセスが制限されていたため、検出ポータルへの接続が失敗していました。 -
システム全体の暗号化ポリシーをデフォルトで適用
Oracle Linux 8では、
crypto-policies
コンポーネントがコア暗号化サブシステムを構成し、TLS、IPSec、SSH、DNSSecおよびKerberosプロトコルに対応しています。このコンポーネントは、update-crypto-policiesコマンドを使用して選択できる少数のポリシーを提供します。また、現在の脅威モデルに対する安全な設定を提供するシステム全体の
DEFAULT
暗号化ポリシーは、TLS 1.2および1.3プロトコルに加えて、IKEv2およびSSH2プロトコルを許可するため、PCI-DSS要件にも準拠しています。RSAキーとDiffie-Hellmanパラメータは、2047ビットより大きい場合に受け入れられます。update-crypto-policies(8)
のmanページを参照してください。 -
OSPP 4.2をSCAPセキュリティ・ガイドに追加
SCAPセキュリティ・ガイドには、OSPP (Protection Profile for General Purpose Operating Systems)プロファイルのバージョン4.2 RHEL 8のドラフトが含まれています。このプロファイルには、Protection Profile for General Purpose Operating Systems (Protection Profileバージョン4.2)のNIAP構成に関する付属文書で識別されている必須の構成コントロールが反映されています。SCAPセキュリティ・ガイドには、OSPPで定義されている要件をユーザーが満たすことができるように、自動化されたチェックとスクリプトが用意されています。
-
OpenSCAPコマンドライン・インタフェースの改良
すべての
oscap
モジュールおよびサブモジュールで冗長モードが使用できるようになりました。また、ツールの出力にも改良が加えられています。いくつかのオプションは非推奨となり、削除されています。これには次のものが含まれます。
-
osccap xccdf generate reportコマンドの
--show
オプションは完全に削除されました。 -
oscap oval evalの
--probe-root
オプション。かわりに、環境変数OSCAP_PROBE_ROOT
を設定できます。 -
oscap xccdf evalコマンドの
--sce-results
オプションは、--check-engine-results
オプションに置き換えられています。 -
validate-xmlサブモジュール・バリデータは、CPE、OVALおよびXCCDFモジュールから削除されました。validateサブモジュールを使用して、XMLスキーマおよびXSD schematronに対してSCAPコンテンツを検証できます。
-
oscap oval list-probesコマンド。かわりに、
--version
オプションを指定してoscapコマンドを使用して、この情報を表示します。 -
ノート:
OpenSCAPでは、プロファイルに関係なく、--profile '(all)'を使用することにより、特定のXCCDFベンチマーク内のすべてのルールを評価できます。
-
-
SELinuxのmap権限コードを追加
Oracle Linux 8には、SELinuxの
map
権限機能が用意されています。この機能は、ファイル、ディレクトリおよびソケットへのメモリー・マップ・アクセスを制御し、SELinuxポリシーによって様々なファイル・システム・オブジェクトへの直接メモリー・アクセスを禁止するとともに、そのようなすべてのアクセスが再検証されるようにすることができます。 -
systemdのNo New PrivilegesをSELinuxに追加
Oracle Linux 8では、古いコンテキストと新しいコンテキストの間で
nnp_nosuid_transition
が許可されている場合に、No New Privileges (NNP)またはnosuid
でのSELinuxドメインの遷移を可能にするnnp_nosuid_transition
ポリシー機能がサポートされています。selinux-policy
パッケージには、NNPセキュリティ機能を使用するsystemdサービスのポリシーが含まれるようになりました。次の例は、サービスについてこの機能を許可する方法を定義するルールを示しています。
allow source_domain target_type:process2 { nnp_transition nosuid_transition };
たとえば、このサービスについては次のように定義されます。
allow init_t fprintd_t:process2 { nnp_transition nosuid_transition };
また、配布ポリシーには、
init_nnp_daemon_domain()
関数を使用するサービスのSELinuxセキュリティ・ポリシーで使用できるm4マクロ・インタフェースも含まれるようになりました。 -
processクラスのgetrlimit権限をSELinuxに追加
新しいSELinuxアクセス制御チェック
process:getrlimit
がprlimit()
関数に追加されました。この変更により、SELinuxポリシーの開発者は、あるプロセスが別のプロセスのリソース制限を読み取ろうとしたときと、その後、process:setrlimit
権限を使用して変更しようとしたときに、これらを制御できるようになります。SELinuxでは、プロセスがprlimit()
を介して自身のリソース制限を操作することは制限されません。詳細は、prlimit(2)
およびgetrlimit(2)
のmanページを参照してください。 -
新しいSELinuxブールを追加
Oracle Linux 8には、次の新しいSELinuxブールが含まれています。
-
colord_use_nfs
-
mysql_connect_http
-
pdns_can_network_connect_db
-
ssh_use_tcpd
-
sslh_can_bind_any_port
-
sslh_can_connect_any_port
-
virt_use_pcscd
詳細は、semanage boolean -lコマンドを実行してください。
-
-
暗号化ライブラリのTLS 1.3が追加されました
このリリースでは、すべての主要なバックエンド暗号化ライブラリにデフォルトでTransport Layer Security (TLS) 1.3が追加されています。この変更により、オペレーティング・システムの通信レイヤー全体で低レイテンシが実現するとともに、RSA-PSSやX25519などの新しいアルゴリズムを利用することでアプリケーションのプライバシとセキュリティが強化されます。
-
OpenSCAPをバージョン1.3.0に更新
Oracle Linux 8では、OpenSCAPスイートがバージョン1.3.0にアップグレードされています。このバージョンのOpenSCAPスイートでは、APIとABIの統合、コマンドライン・インタフェースの強化、以前のOpenSCAPバージョンに対するその他の重要な改良点など、多くの機能強化が導入されています。
-
Audit 3.0でのauditdによるaudispdの置換え
このリリースでは、
audispd
の機能がauditd
に移行されました。その結果、audispd
の構成オプションはauditd.conf
に含まれるようになり、plugins.d
ディレクトリは/etc/audit
の下に移動しています。auditd
とそのプラグインの現在のステータスを確認するには、auditd stateコマンドを実行します。 -
imfileモジュールをrsyslogに追加
Oracle Linux 8では、rsyslogの
imfile
モジュールが強化され、パフォーマンスが向上するとともに、さらに多くの構成オプションが追加されています。この変更により、さらに複雑なファイル・モニタリングにこのモジュールを使用できます。
Oracle Linux 8におけるsystemdの新しい動作
Oracle Linux 8では、systemdはページャを使用して、ページ区切り形式で完全なステータス出力を表示できます。systemctlコマンドを実行するときに--no-pager --full
オプションを使用すると、ページャを使用せずに完全な出力を取得できます。または、$PAGER
環境変数を設定して、使用するデフォルトのページャ・プログラムを指定できます。
ページャを使用する場合は、すぐに終了しない可能性があるフォークされたプロセスに出力がパイプされます。この場合、ページャ・プログラムに適した終了キー(通常は[q]
キー)を使用するか、[Ctrl]+[c]
を押します。
仮想化
Oracle Linux 8では、仮想化に関する次の機能、機能強化および変更点が導入されています。
-
5レベルのページングをKVMに追加
Oracle Linux 8では、カーネルベースの仮想マシン(KVM)仮想化によって、5レベルのページング機能をサポートできるハードウェアでこの機能が有効になります。この機能強化により、ホスト・システムとゲスト・システムが使用できる物理アドレス空間および仮想アドレス空間が大幅に増加します。
-
UMIPをKVMに追加
Oracle Linux 8では、KVM仮想化向けにUser Mode Instruction Prevention (UMIP)機能が追加されています。このセキュリティ強化により、ユーザースペース・アプリケーションがシステム全体の設定にアクセスするのを防ぐことができ、その結果、権限昇格攻撃の潜在的なベクトルが減少します。
-
KVMゲストのクラッシュ・レポートに情報を追加
このリリースでは、ゲストが予期せず終了したり、応答しなくなった場合にKVMハイパーバイザによって生成されるクラッシュ情報に追加情報が含まれており、これにより、KVM仮想化を使用している場合の問題の診断と修正が容易になります。
-
qemu-kvmをバージョン2.12に更新
Oracle Linux 8には、
qemu-kvm
2.12パッケージが用意されています。このバージョンのqemu-kvm
には、以前にサポートされていた1.5.3バージョンに対する多数のバグ修正および改良点が含まれています。 -
NVIDIA vGPUがVNCコンソールに対応
Oracle Linux 8では、NVIDIA仮想GPU (vGPU)機能の使用時に、VNCコンソールを使用してゲストのビジュアル出力を表示できます。
-
Cephの仮想化を追加
このリリースでは、Oracle LinuxでサポートされているすべてのCPUアーキテクチャ上のKVM仮想化でCephストレージがサポートされています。
-
Q35マシン・タイプの仮想化を追加
Oracle Linux 8は、より新しいPCI Expressベースのマシン・タイプであるQ35マシン・タイプを提供しています。機能の変更点には、仮想デバイスに関する様々な改良点とパフォーマンスの向上が含まれており、幅広い最新デバイスで仮想化機能との互換性が確保されます。Oracle Linux 8で作成した仮想マシン(VM)は、デフォルトでQ35マシン・タイプを使用するように設定されます。
-
QEMUのサンドボックス化機能を追加
Oracle Linux 8では、QEMUエミュレータにサンドボックス化機能が導入されており、デフォルトで有効になり、構成されます。サンドボックス化機能により、QEMUが実行できるシステム・コールについて制限を構成できるため、VMのセキュリティが向上します。
-
Microsoft Azureで実行されているVMへのエフェメラル・ディスクのマウントがOracle Linux 8ではより確実に動作する
以前のリリースのように、Microsoft Azureプラットフォームで実行されているVM上のエフェメラル・ディスクがVMから最近デタッチされた場合でも、Oracle Linux 8では、そのディスクの再接続が正しく処理され、失敗しないように改良が加えられています。
Webサービス
Oracle Linux 8では、Webサービスに関する次の機能、機能強化および変更点が導入されています。
-
Oracle Linux 8ではApache Tomcatパッケージが提供されない
Oracle Linux 7で提供されていたApache Tomcatソフトウェア・パッケージがOracle Linux 8には含まれなくなりました。
-
Apache HTTP Serverをバージョン2.4.35に更新
Oracle Linux 8にはApache HTTP Serverバージョン2.4.35が含まれており、以前のバージョンのApacheに対するいくつかの改良点が提供されています。
このバージョンのApache HTTP Serverには、次の変更点が含まれています。
-
Oracle Linux 8でHTTP/2を使用可能
このリリースではHTTP/2が追加されており、
mod_http2
パッケージによって提供されています。このパッケージは、httpd
モジュールに含まれています。 -
TLS証明書の自動プロビジョニング
Oracle Linux 8では、Automatic Certificate Management Environment (ACME)プロトコルを使用したTLS証明書の自動プロビジョニングおよび更新が
mod_md
パッケージを介して追加されています。mod_md
パッケージは、Let's Encryptなどの証明書プロバイダで使用されます。 -
TLS証明書のロードを追加
Apache HTTP Serverには、
PKCS#11
モジュールから直接、ハードウェア・セキュリティ・トークンからTLS証明書および秘密キーをロードする機能が含まれるようになりました。さらに、mod_ssl
構成では、PKCS#11
URLを使用して、TLS秘密キーと、オプションでTLS証明書をSSLCertificateKeyFile
およびSSLCertificateFile
ディレクティブで指定できるようになりました。 -
マルチプロセッシング・モジュールを高パフォーマンスのマルチスレッド・イベント・モデルに変更
Apache HTTP Serverがデフォルトで構成するマルチプロセッシング・モジュール(MPM)は、高パフォーマンスでマルチスレッドの
event
モデルに変更されました。以前は、マルチプロセス・フォーク・モデル(prefork
とも呼ばれる)が使用されていました。スレッドセーフでないサード・パーティ・モジュールは、置き換えるか削除する必要があります。現在構成されているMPMを変更するには、httpd.service(8)
のmanページに記載されている指示に従って、/etc/httpd/conf.modules.d/00-mpm.conf
ファイルを編集します。
-
-
nginx 1.14 Webおよびプロキシ・サーバーでHTTPを使用可能
nginx
1.14 Webおよびプロキシ・サーバーには、優れた通貨パフォーマンスと低いメモリー使用量を実現することで、HTTPおよびその他のプロトコルのサポートが含まれています。以前は、nginx
はソフトウェア・コレクションとしてのみ使用できました。また、
nginx
Webサーバーは、PKCS#11
モジュールから直接、ハードウェア・セキュリティ・トークンからTLS証明書および秘密キーをロードする機能のサポートも提供しています。その結果、nginx
構成では、PKCS#11
URLを使用して、TLS秘密キーをssl_certificate_key
ディレクティブで指定できます。