2 新機能および変更点

この章では、Oracle Linux 8のこのリリースに含まれている新機能、主な機能強化、バグ修正およびその他の変更点について説明します。

オペレーティング・システムおよびソフトウェア管理

DNFに含まれるoffline-upgradeコマンド

Oracle Linuxには、DNF system-upgradeプラグインのdnf offline-upgradeコマンドが含まれています。リブートの後、パッケージ更新の影響を受ける可能性のあるライブラリがロードされる前に、パッケージ・インストールを実行することにより、アップグレード時のシステムを保護するには、オフライン・アップグレードが役立ちます。

この機能には、--advisory--security--bugfixなどのセキュリティ・アドバイザ・フィルタを適用して、パッケージおよびその依存関係のダウンロードを、指定したアドバイザに限定するオプションが含まれています。

DNF APIに含まれるunload_plugins関数

DNF APIは、プラグインをアンロードできるunload_plugins関数をサポートしています。この機能を使用するには、最初にinit_plugins関数を実行してから、unload_plugins関数を実行します。

rpm2archiveに含まれる--nocompressionオプション

RPMパッケージの解凍時に圧縮されないようにする--nocompressionオプションがrpm2archiveコマンドに含まれています。

コンパイラおよび開発ツールセット

コンパイラおよび開発ツールの更新

次のパフォーマンス・ツールおよびデバッガが更新されました:

  • Valgrind 3.19

  • SystemTap 4.8

  • Dyninst 12.1.0

  • elfutils 0.188

次のパフォーマンス・モニタリング・ツールが更新されました:

  • PCP 5.3.7

  • Grafana 7.5.15

次のコンパイラ・ツールセットが更新されました:

  • GCC Toolset 12

  • LLVMツールセット15.0.7

  • Rustツールセット1.66

  • Goツールセット1.19.4

GCC Toolset 12

GCCツールセット12は、最新バージョンの開発ツールを提供するコンパイラ・ツールセットです。このツールセットは、AppStreamリポジトリのソフトウェア・コレクション形式のアプリケーション・ストリームとして使用できます。

GCCツールセット12では、次のツールおよびバージョンを使用できます:

  • GCC 12.2.1

  • GDB 11.2

  • binutils 2.38

  • dwz 0.14

  • anobin 11.08

ツールセットをインストールするには、次のように入力します。

sudo dnf install gcc-toolset-12

GCCツールセット12からツールを実行するには、次のように入力します:

scl enable gcc-toolset-12 tool

GCCツールセット12のツール・バージョンがこれらのツールのシステム・バージョンをオーバーライドするシェル・セッションを実行するには:

scl enable gcc-toolset-12 bash

swig:4.1モジュール・ストリームの導入

Oracle Linux 8には、新しいモジュール・ストリームswig:4.1として使用できるSimplified Wrapper and Interface Generator (SWIG)バージョン4.1が導入されています。

swig:4.1モジュール・ストリームをインストールするには、次のように入力します:

sudo dnf module install swig:4.1

jaxb:4モジュール・ストリームの導入

Jakarta XML Binding (JAXB) 4が、新しいjaxb:4モジュール・ストリームになりました。JAXBフレームワークでは、開発者がJavaクラスとXML表現をマップできます。jaxb:4をインストールするには、次のように入力します:

sudo dnf install jaxb:4

glibcのセキュリティの向上

SafeLinking機能がglibcに追加されたので、アロケータのスレッド・ローカル・キャッシュなど、特定の単一リンク・リストの破損に対するmalloc関数ファミリの保護が向上します。

バージョン1.66.1に更新されたRustツールセット

この更新バージョンには、次の機能が含まれています:

  • ツールセットのAPIに対する追加

  • キーワードおよび文の変更

  • タイプおよびライフタイムの抽象用の汎用アソシエーション・タイプ(GAT)

  • 新しい言語サーバー・プロトコルとして実装されたrust-analyzer

  • 追加のサブコマンド

tzdataパッケージに含まれるleap-seconds.listファイル

/usr/share/zoneinfo/leap-seconds.listファイルは、tzdataパッケージに付属する/usr/share/zoneinfo/leapsecondsファイルの代替形式に対応しています。この2つのファイルにより、どちらかの形式を使用して、協定世界時(UTC)の値から国際原子時(TAI)を計算できます。

glibc動的ローダー・アルゴリズムの改善

深くネストされた依存関係を持つ共有オブジェクトの処理中に、glibc動的ローダー・アルゴリズムによってアプリケーションの起動と停止が遅くなることがあります。更新されたアルゴリズムでは、深さ優先検索(DFS)を使用して、この影響を回避しています。

動的ローダーのO(n3)アルゴリズムは、glibc.rtld.dynamic_sortチューニング可能パラメータを介して使用します。更新バージョンの使用を意味する「2」が新しいデフォルト設定になっています。以前のアルゴリズムを使用するには、次のようにチューニング可能パラメータを「1」に設定します:

GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1
export GLIBC_TUNABLES

動的プログラミング言語、Webサーバーとデータベース・サーバー

Python 3.11の提供

Python 3.9からPython 3.11に更新されました。このバージョンで導入された重要な変更の一部を次に示します:

  • 構造パターン一致に対するmatchキーワードの提供

  • Tom's Obvious Minimal Language (TOML)形式を解析するためのtomllib標準ライブラリ・モジュールの提供

  • タイプ・ヒントおよびtypingモジュールに関連する追加機能(新しいX | Yタイプの和集合演算子、可変個引数ジェネリックス、新しいSelfタイプなど)

  • 例外グループおよび新しいexcept*構文を使用して、関連性のない複数の例外を同時に生成および処理する機能

  • エラーの原因となった式を示すトレースバックの正確なエラー位置情報、エラー・メッセージの改善などにより、エラー処理が向上しています。

Python 3.11は、Python 3.9、Python 3.8およびPython 3.6と並行してインストールできます。以前のバージョンとは異なり、Python 3.11はモジュールではなく標準のRPMパッケージとして配布されています。

python3.11スタックからパッケージをインストールするには、次のように入力します:

sudo dnf install python3.11
sudo dnf install python3.11-pip

インタプリタを実行するには、次のように入力します:

python3.11
python3.11 -m pip --help

バージョン2.39.1に更新されたgit

  • git log --format=%(describe)コマンド構文を使用して、ロギング関数に出力の摘要を指定できます。

  • コミット操作に追加されたオプション:

    • --fixup<commit>は、ログ・メッセージを変更せずにコミットの内容を修正します。

    • --fixup=amend:<commit>は、メッセージと内容の両方を変更します。

    • --fixup=reword:<commit>は、コミット・メッセージのみを更新します。

  • シャロー・リポジトリからのクローニングを無効にする新しい--reject-shallowオプションをクローニングで使用できます。

  • 新しい--recurse-submodulesオプションを分岐で使用できます。

  • git merge-treeコマンドを使用すると、2つの分岐をマージできるかどうかをテストしたり、分岐をマージするマージ・コミットの結果ツリーを計算できます。

  • 新しいsafe.bareRepository構成変数で、ベア・リポジトリをフィルタで除外できます。

バージョン3.2.0に更新されたgit-lfs

更新版のGit Large File Storageの重要な更新の一部を次に示します:

  • 純粋なSSHベースのトランスポート・プロトコルの導入

  • マージ・ドライバのプロビジョニング

  • ポインタが正規であり、必要なLFSファイルの形式が正しいことも、git lfs fsckコマンドで確認されます

  • NT LAN Manager (NTLM)認証プロトコルのサポートが削除され、Kerberosまたは基本認証に置き換わります

新しいnginxモジュール・ストリーム

nginx 1.22 Webおよびプロキシ・サーバーをnginx:1.22モジュール・ストリームとして使用でき、次のような新機能が含まれています:

  • mailプロキシ・モジュールにおける、OpenSSL 3.0およびSSL_sendfile()関数、PCRE2ライブラリ、POP3およびIMAPパイプラインのサポート。

  • Auth-SSL-ProtocolおよびAuth-SSL-Cipherヘッダー行をメール・プロキシ認証サーバーに渡す機能。

  • 複数の拡張ディレクティブ。

  • エラー処理機能の向上。

  • HTTP/2接続に対するApplication Layer Protocol Negotiation (ALPN)の使用、およびNext Protocol Negotiation (NPN)プロトコルのサポート終了。

nginx:1.22ストリームをインストールするには、次のように入力します:

sudo dnf install nginx:1.22

2.9.6に更新されたmod_security

Apache HTTP Serverのこの更新されたmod_serucityモジュールでは、調整されたパーサー・アクティブ化ルールがmodsecurity.conf-recommendedファイルに含まれており、HTTPマルチパート・リクエストをモジュールが解析する方法も拡張されています。このモジュールには、次も追加されています:

  • 新しいMULTIPART_PART_HEADERSコレクション。

  • フォーマットされたログ・タイムスタンプのマイクロ秒の精度。

  • 欠落していた地理的国。

postgresql:15モジュール・ストリームの追加

PostgreSQLバージョン15は、postgresql:15モジュール・ストリームとして提供されています。PostgreSQL 15には、バージョン13に対するいくつかの新機能および拡張機能が含まれています。詳細は、https://www.postgresql.org/docs/release/15.0/を参照してください。

モジュール・ストリームのライフサイクル情報は、Oracle Linux: 製品ライフサイクル情報で入手できます。

新しいTomcatパッケージの導入

現在のOracle Linuxリリースには、Apache Tomcatサーバー・バージョン9が含まれています。Tomcatは、JavaサーブレットおよびJavaServer Pagesテクノロジの公式リファレンス実装で使用されているサーブレット・コンテナです。Tomcatはオープンな参加型環境で開発され、Apache Software Licenseバージョン2.0でリリースされています。

バージョン9に更新されたnpmを含む、バージョン18.14に更新されたnodejs:18

更新されたNode.js 18.14には、バージョン8からバージョン9にSemVerがメジャー・アップグレードされたnpmが含まれています。この更新では、セキュリティを向上させるために、スコープなしの認証構成のサポートが削除されています。この更新により、現在のnpm構成の調整が必要になる場合があります。

スコープなしの認証トークンを使用する場合は、.npmrcファイルでレジストリ・スコープのトークンを生成して指定してください。.npmrcファイルに_authを使用する行(///registry.npmjs.org/:_authなど)が含まれている場合は、これらの行を///registry.npmjs.org:_authToken=${NPM_TOKEN}に置き換えます。次に、生成されたスコープありのトークンを適用します。

高可用性とクラスタ

リソースおよびSTONITHエージェントにvalidate-all処理を実行できるPacemaker

リソースまたはSTONITHデバイスを作成または更新するときにvalidate-all --agent-validationコマンド・オプションを使用して、エージェントのメタデータに基づいてpcsによって実行される検証に検証を追加してトリガーできます。

インフラストラクチャ・サービス

周波数同期用のsynce41パッケージの追加

synce4lパッケージで、PTPクロックにより物理レイヤーで周波数を正確に同期するのに役立つハードウェア機能であるSyncE (同期イーサネット)を含むデバイスを管理します。SyncEは、特定のネットワーク・インタフェース・カード(NIC)およびネットワーク・スイッチで使用でき、通信会社の無線アクセスネットワーク(RAN)アプリケーションで正確な時間同期を実現して、通信効率を向上するのに役立ちます。詳細は、https://github.com/intel/synce4lを参照してください。

バージョン2.15に更新されたpowertop

更新されたpowertopパッケージには、次の機能および変更が含まれています:

  • 一般的な修正と安定性の向上

  • RyzenプロセッサおよびKaby Lakeプラットフォームとの互換性の向上

  • Lake Field、Alder Lake N、Raptor Lakeのプラットフォーム機能の有効化

  • Ice Lake NNPIおよびMeteor Lakeのモバイルおよびデスクトップ機能の有効化

バージョン2.20.0に更新されたtuned

更新されたtunedパッケージには、次の機能および変更が含まれています:

  • 実行時にプラグインインスタンス間でデバイスを移動しやすくするためのAPI更新。

  • plugin_cpuモジュールの更新:

    • pm_qos_resume_latency_us機能は、各CPUがアイドル状態からアクティブ状態に遷移するために許容される最大時間を制限します。

    • intel_pstateスケーリング・ドライバは、使用シナリオに基づいてシステムの電源管理をチューニングするためのスケーリング・アルゴリズムを提供します。

  • UNIXドメイン・ソケットを介してTuneDを制御する追加ソケットAPIをテクノロジ・プレビューとして使用できるようになりました。

バージョン4.17.5に更新更新されたsamba

更新されたsambaパッケージには、次の機能および変更が含まれています:

  • メタデータのワークロードが高い場合のサーバー・メッセージ・ブロック(SMB)サーバーのセキュリティ関連のパフォーマンスの向上。

  • ステータス情報をJSON形式で表示するための、smbstatusコマンドへの--JSONオプションの追加。

  • Samba構成をPythonプログラムから直接読み書きしやすくするための、smbconf Python APIへのsamba.smb.confおよびsamba.samba3.smb.confモジュールの追加。

    サーバー・メッセージ・ブロック・バージョン1 (SMB1)プロトコルはSamba 4.11以降で非推奨になり、将来のリリースで削除される可能性があります。Sambaを起動する前に、データベース・ファイルをバックアップしてください。smbdnmbdまたはwinbindサービスが起動されると、Sambaによってそのtdbデータベース・ファイルが自動的に更新されます。tdbデータベース・ファイルのダウングレードはサポートされていません。Sambaを更新した後、testparmユーティリティを使用して/etc/samba/smb.confファイルを検証します。

ネットワーク

バージョン1.40.16に更新されたNetworkManager

この更新バージョンには、次の機能が含まれています:

  • IPv6近傍検索メッセージから構成されたアイテムの有効期限が正しく計算されます。

  • 構成が変更されると、/etc/resolv.confファイルが自動的に更新されます。

  • すべてのアドレスでIPv6重複アドレス検出(DAD)に失敗した場合は、DHCPv6リースが拒否されます。

  • インタフェースが接続された後でのみ、DNSからインタフェースのシステム・ホスト名が解決されます。

  • 結合のアクティブ化時に、存在しないインタフェースがプライマリとして設定されなくなりました。

次の変更も実装されました:

  • 重複するエントリが--print-configサブコマンドで出力されなくなりました。

  • 外部で追加されたアドレスがnm-cloud-setupユーティリティで保持されます。

  • 結合をアクティブにしたときにインタフェースが存在しない場合でも、結合のプライマリ・インタフェースの設定が常に機能するようになりました。

  • ifcfg-rhプラグインで、明示的なインタフェース名なしでInfiniBand Pキーの接続プロファイルを読み取ることができるようになりました。

  • nmcliユーティリティで、結合ポート接続プロファイルを結合から削除できるようになりました。

  • ピアがすでに存在する場合に、vethプロファイルのアクティブ化中に発生する可能性のある競合状態が修正されました。

  • nm-initrd-generatorユーティリティによって作成されたプロファイルに、デフォルトより低い優先度が設定されるようになりました。

  • ブート時のMACsec接続の自動アクティブ化を妨げる競合状態が修正されました。

nm-initrd-generatorプロファイルに対する、自動接続プロファイルより低い優先度の設定

NetworkManagerの構成ジェネレータ・ユーティリティでは、自動接続の接続プロファイルより優先度が低い接続プロファイルが作成されます。その結果、生成されたネットワークプロファイルが、デフォルトのrootアカウントのユーザー構成と共存できます。

バージョン1.2.10に更新されたnispor

更新されたnisporパッケージには、次の拡張機能およびバグ修正が含まれています:

  • NetStateFilterが、ネットワーク・ルートおよびインタフェースでカーネル・フィルタを使用できます。
  • Single Root Input and Output Virtualization (SR-IOV)インタフェースで、仮想機能(VF)ごとにSR-IOV仮想機能(SR-IOV VF)情報を問い合せることができます。
  • 結合オプション(lacp_activearp_missed_maxおよびns_ip6_target)の追加。

セキュリティ

RPMデータベースのフィルタリングが可能なfapolicyd

fapolicydが信頼データベースに格納するRPMデータベース・ファイルのリストを、新しい/etc/fapolicyd/RPM-filter.conf構成ファイルを編集することによりカスタマイズできます。この機能を使用すれば、デフォルトの構成フィルタをオーバーライドして、RPMでインストールされるどのアプリケーションを許可または除外するかを指定できます。

バージョン4.9に更新されたLibreswan

次の機能が追加されました:

  • addconnおよびwhackに対する{left,right}pubkey=

  • Cryptoに対するKDFセルフテスト

  • seccompのsyscall許可リストの更新

  • ECDSA公開キーに対するホストの表示の認証キー(showhostkey)のサポート、およびPEMでエンコードされた公開キーの--PEMオプションによる表示

  • インターネット・キー交換プロトコル・バージョン2 (IKEv2)およびpluto IKEデーモンの新機能

SELinuxに対する変更および更新

更新には、ufdtoolsの限定、およびSELinuxドメインで実行するサービスのルールが設定されたsystemd-socket-proxydのSELinuxポリシーの導入が含まれます。

バージョン1.3.7に更新されたOpenSCAP

更新されたOpenSCAPパッケージには、次の機能および変更が含まれています:

  • OVALフィルタの処理時のエラーが修正されました。

  • XPathが一致しない場合に、無効な空のxmlfilecontentアイテムをOpenSCAPが生成しなくなりました。

  • 使用可能なメモリーの確認に失敗しましたというエラーが削除されました。

Rsyslogの証明書チェーンをOpenSSLドライバで使用可能

この更新により、指定された複数のCAファイルをOpenSSLライブラリで検証できるようになりました。その結果、Rsyslogの証明書チェーンをOpenSSLドライバで使用できるようになりました。

FIPSモードのFIPS 140-3準拠の向上

RHCKカーネルのFIPSモード設定が、米国連邦情報処理標準(FIPS) 140-3に準拠するように調整されました。この変更により、次のような多くの暗号化アルゴリズム、関数、および暗号スイートに、より厳密な設定が導入されます:

  • Triple Data Encryption Standard (3DES)、Elliptic-curve Diffie-Hellman (ECDH)、およびFinite-Field Diffie-Hellman (FFDH)アルゴリズムが無効になりました。この変更は、Bluetooth、カーネル・キーリングのDH関連の操作、およびIntel QuickAssist Technology (QAT)暗号化アクセラレータに影響します。
  • ハッシュベース・メッセージ認証コード(HMAC)鍵を112ビットより短くできなくなりました。Rivest-Shamir-Adleman (RSA)アルゴリズムのキーの最小長が2048ビットに設定されています。
  • xts_check_key()関数を使用したドライバが更新されて、かわりにxts_verify_key()関数が使用されています。
  • Deterministic Random Bit Generator (DRBG)ハッシュ関数: SHA-224、SHA-384、SHA512-224、SHA512-256、SHA3-224およびSHA3-384が無効になりました。

SELinuxによるudftoolsの限定

更新されたselinux-policyパッケージでは、SELinuxによってudftoolsサービスが限定されます。

scap-security-guideルールとRainerScriptログの互換性

scap-security-guideのルールとRainerScript構文の互換性が実現されました。したがって、scap-security-guideルールで、使用可能な両方の構文のRsyslogログ・ファイルの所有権、グループ所有権および権限をチェックおよび修正できます。

バージョン0.1.66に更新されたSCAPセキュリティ・ガイド

SCAPセキュリティ・ガイド(SSG)パッケージがアップストリーム・バージョン0.1.66に更新されて、次のような拡張機能およびバグ修正が提供されています:

  • Oracle Linux 8のstigおよびstig_guiプロファイルが、Oracle Linux 8 V1r6のDISA STIGと連携されました。

  • account_passwords_pam_faillock_auditルールは非推奨になり、accounts_passwords_pam_faillock_auditが推奨されています。

  • accounts_user_dot_no_world_writable_programsルールが更新されて、ユーザーのホーム・ディレクトリのみで初期化ファイルが検索され、他のファイル・システムではworld-writableが検索されなくなりました。

  • 対話型ユーザーを一貫して識別するために、新しいOVALマクロが導入されました。

  • anssi-highプロファイルの適用時にシステムの起動を妨げていたsebool_secure_mode_insmodの改善が修正されました。

3.19.0に更新されたopencryptoki

更新バージョンのパッケージでは、次のような重要な機能が提供されています:

  • 2重機能の暗号化関数
  • PKCS #11 Cryptographic Token Interface Base Specification v3.0に説明されているように、新しいC_SessionCancel関数では、アクティブなセッションベースの操作が取り消されます

コンテナ

このOracle Linux 8では、コンテナ・ツールに関連する次の機能、拡張機能および変更が導入されています。

container-toolsパッケージの更新

Podman v4.4のcontainer-toolsパッケージが更新されました。このパッケージには、Podman、Buildah、Skopeo、crunおよびruncの各ツールが含まれています。この更新では、次の機能と変更が提供されています:

  • Podman v4.4以降のjournaldエントリからコンテナに関する情報を直接監査できます。Podmanの監査を有効にするには、container.confファイルを変更し、events_container_create_inspect_data=trueオプションを[engine]セクションに追加します。監査データはpodman container inspectコマンドの出力と同等のJSON形式です。

  • コンテナおよびポッドのネットワークを更新するpodman network updateコマンドが追加されています。

  • Buildahバージョンを表示するpodman buildx versionコマンドが追加されています。

  • コンテナ起動時のヘルス・チェックを使用して、通常のヘルス・チェックがアクティブ化される前に、コンテナが完全に起動されていることを確認するコマンドをトリガーできます。

  • 新しいDocker互換性オプションおよび別名が含まれています。

  • kubeコマンドの統合によるKubernetesの統合の改善: podman kube generateおよびpodman kube playにより、podman generate kubeおよびpodman play kubeコマンドが置き換えられています。

  • podman kube playコマンドで作成され、systemdで管理されるポッドに、次の機能サポートが追加されています:

    • io.containers.sdnotify注釈、または特定のコンテナの場合はio.containers.sdnotify/$name注釈を使用して、sd-notifyでポッドを統合できます。

    • io.containers.auto-update注釈、または特定のコンテナの場合はio.containers.auto-update/$name注釈を使用してポッドを自動更新できます。

AardvarkおよびNetavarkでカスタムDNSサーバーを選択可能

AardvarkおよびNetavarkネットワーク・スタックを使用するコンテナに対してカスタムDNSサーバーを選択できます。ホスト上のデフォルトのDNSサーバーではなく、お客様のDNSサーバーをコンテナで使用できます。カスタムDNSサーバーを有効にするには、containers.conf構成ファイルにdns_serversフィールドを追加するか、新しい--dnsオプションを使用してpodmanコマンドの実行時にDNSサーバーのIPアドレスを指定します。--dnsオプションにより、container.confファイルに設定されている値がオーバーライドされます。

Skopeoを使用したSigstoreキー・ペアの生成

skopeo generate-sigstore-keyコマンドを使用して、Skopeoでsigstoreキーペアを生成できます。詳細は、skopeo-generate-sigstore-keyマニュアル・ページを参照してください。

Toolboxユーティリティの提供

toolboxユーティリティを使用すれば、追加のトラブルシューティング・ツールをシステムに直接インストールしなくても、コンテナ・コマンドライン環境にアクセスできます。Toolboxは、PodmanとOpen Container Initiativeのその他の標準的なコンテナ技術を使用しています。詳細は、toolbxを参照してください。

sigstore署名の提供

Podman 4.2以降では、sigstore形式のコンテナ・イメージ署名を使用できます。これらの署名は、イメージ署名を格納するための個別の署名サーバーではなく、コンテナ・イメージとともにコンテナ・レジストリに格納されます。

Podmanによる実行前フックのサポート

/usr/libexec/podman/pre-exec-hooksまたは/etc/containers/pre-exec-hooksにプラグイン・スクリプトを作成することにより、Podmanに実行前フックを構成してコンテナ操作を制御するために使用できます。実行前スクリプトは、/etc/containers/podman_preexec_hooks.txtという名前のファイルが存在する場合にのみ実行されます。すべてのプラグイン・スクリプトがゼロ値を返す場合は、podmanコマンドが実行されます。それ以外の場合は、失敗したスクリプトによって返された終了コードでpodmanコマンドが終了します。

サポート

IPv6アドレスを不明瞭化するsos cleanコマンド

sos cleanは、IPv6アドレスを検出および不明瞭化して、お客様の機密データを適切に不明瞭化します。