2 新機能および変更点

特に明示されていないかぎり、このリリースのOracle Linux 9で導入された次の新機能、主な拡張機能、バグ修正およびその他の変更は、x86_64と64ビットArm (aarch64)の両方のプラットフォームに適用されます。

インストール

  • --allow-ssh kickstartオプションにより、パスワードベースのSSHルート・ログインが有効になります

    --allow-sshオプションは、rootpwコマンドとともに使用されます。このオプションを使用すると、kickstartインストールでルート・ユーザーがSSHを使用してパスワードでログインできるようにするグラフィカル・インストールでも同じ機能を使用できるようになりました。

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

  • 特定のワークフローを置き換えるmodulesyncコマンド

    この機能拡張により、モジュラ・メタデータが存在するようにすることで、モジュラ・パッケージのインストールが容易になります。以前は、メタデータはインストールに含まれていませんでした。そのため、最初にdnfコマンドを使用してパッケージをダウンロードし、次にcreaterepo_cコマンドを使用してそれらのパッケージを再配布していました。

    modulesyncコマンドは、モジュラ・パッケージをダウンロードし、同時に作業ディレクトリにモジュラ・メタデータを含むリポジトリを作成することで、プロセスを効率化します。

  • デフォルトで非表示になっているブート・ローダー・メニュー

    デフォルトでは、GRUBブート・ローダーにブート・メニューは表示されません。

    ただし、以前のシステム・ブートが失敗した場合、GRUBブート・ローダーは次回のシステム・ブート時にブート・メニューを表示します。

    ブート・メニューに手動でアクセスするには、システムのブート中に次のいずれかの手順を実行します。

    • [Esc]を繰り返し押します。
    • [F8]を繰り返し押します。
    • [Shift]を押したままにします。

    デフォルト設定を無効にするには、次のコマンドを使用します。

    sudo grub2-editenv - unset menu_auto_hide

シェルおよびコマンドライン・ツール

  • xmlstarletパッケージは、サポートされているリポジトリで使用できます

    xmlstarletパッケージは、以前はol9_developer_EPELリポジトリで使用可能でしたが、サポートされているol9_appstreamリポジトリで使用できるようになりました。このパッケージには、XPath構文を利用してファイル内の情報を正しく検索、追加または変更することによって、XMLファイルに対して一般的な操作(他のコマンドライン・ツールで簡単に実行できない)を実行するためにコマンドラインで頻繁に使用されるユーティリティが含まれています。

  • libvpdがバージョン2.2.9にリベースされます

    このバージョンには、データベース・ロックの修正と、更新済libtoolユーティリティ・バージョン情報があります。

  • lsvpdがバージョン1.7.14に更新されます

    この更新バージョンでは、lsvpdユーティリティによって、vpdupdateコマンドの実行時にデータベース・ファイルの破損が防止されます。

  • sysctlでは、引数の処理にsystemd-sysctlと同じ構文が導入されています

    sysctlユーティリティは、構成行にあるハイフン(-)またはグロブ(*)を解析できます。systemd-sysctl構文の詳細は、sysctl.d(5)のマニュアル・ページを参照してください。

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

  • chronyはDHCPv6 NTPサーバーを使用します

    DHCPオプションを指定して、chronyのNetworkManagerディスパッチャ・スクリプトでネットワーク・タイム・プロトコル(NTP)ソースを更新する方法を指定できます。DHCPオプション56はDHCPv6が使用され、DHCPオプション42はDHCPv4が使用されることを示します。これらのオプションを使用すると、DHCPv6とDHCPv4の両方によって提供されるNTPサーバーを使用するようにディスパッチャ・スクリプトを構成できます。

  • chronyがバージョン4.2に更新されます

    更新されたバージョンには、次の変更および拡張機能が含まれています。

    • サーバー・インターリーブ・モードは、より信頼性が高くなるように、およびネットワークアドレス変換(NAT)を使用する1つのアドレス・トランスレータの背後にある複数のクライアントをサポートするように更新されます。
    • ネットワーク・タイム・プロトコル・バージョン4 (NTPv4)拡張フィールドを使用すると、時間同期の安定性と推定エラーの精度を改善できます。このフィールドは、NTPv4プロトコルの機能を拡張します。このフィールドを有効にするには、extfield F323オプションを使用します。このオプションは試験的なものです。
    • Precision Time Protocol (PTP)経由のNTP転送は、PTPパケットに限定されたタイムスタンプを持つネットワーク・インタフェース・カード(NIC)上の完全なハードウェア・タイムスタンプを有効にするために使用できます。ptpport 319オプションを使用すると、NTP over PTPを有効にできます。このオプションは試験的なものです。
  • unboundがバージョン1.16.2に更新されます

    更新されたバージョンには、バグ修正および次の拡張機能が含まれています。

    • 受信者は、ZONEMDゾーン検証を使用してRFC 8976へのコンプライアンスを確保することで、データの整合性と提供元の信頼性についてゾーンの内容を検証できます。
    • unboundを使用すると、永続TCP接続を構成できます。
    • DNS draft-ietf-dnsop-svcb-httpsドキュメントによるサービス・バインディングおよびパラメータ指定に従ったSVCBおよびHTTPSのタイプと処理が追加されました。
    • システム暗号化ポリシーのデフォルトTLS暗号は、unboundコンポーネントによって使用されます。
    • RFC 8375に定義されている特殊用途ドメインhome.arpa.は、住宅用ホーム・ネットワークでの一意でない用途に使用できます。
    • スタブまたは転送ゾーンに対するtcp-upstream問合せの選択的な有効化がサポートされています。
    • aggressive-nsecオプションはデフォルトで有効になっています。
    • ratelimit関数のロジックが更新され、制限に達したときにオプションのより積極的な対応策としてratelimit-backoffおよびip-ratelimit-backoffが導入されています。
    • 新しいrpz-signal-nxdomain-raオプションを使用すると、問合せが非バインドのレスポンス・ポリシー・ゾーン(RPZ)のnxdomain応答によってブロックされたときにRAフラグを設定解除できます。
    • 追加のエラー情報は、RFC 8914に従って拡張DNSエラー(EDE)によって提供されます。
  • パスワード暗号化機能は、whoisにあります

    whoisパッケージでは、crypt Cライブラリ・インタフェースを使用してパスワードを暗号化できる/usr/bin/mkpasswdバイナリがサポートされています。

  • frrがバージョン8.2.2に更新されます

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

    • イーサネットVPN (EVPN)ルート・タイプ5ゲートウェイIPオーバーレイ索引のサポート。

    • Open-shortest-path-first (OSPFv3)プロトコルでの自律システム境界ルーター(ASBR)のサマリーのサポート。

    • OSPFv3でのスタブおよびnot-so-stubby-area (NSSA)の使用が拡張されています。

    • OSPFv2およびOSPFv3での正常な再起動機能のサポート。

    • 境界ゲートウェイ・プロトコル(BGP)のリンク帯域幅は、IEEE 754標準に準拠しています。前のエンコーディング・メソッドを使用するには、既存の構成でneighbor PEER disable-link-bw-encoding-ieeeコマンドを実行します。

    • BGPでの長期間の正常な再起動機能のサポート。

    • RFC 9072に基づく拡張管理停止通信およびBGPでの拡張オプション・パラメータ長に関するRFC 9003の実装。

セキュリティ

  • OpenSSHでは、RSAキーの最小長の設定がサポートされています

    短いRSAキーを使用すると、システムが攻撃を受けやすくなります。この更新では、OpenSSHサーバーの場合は/etc/ssh/sshd_configファイル、OpenSSHクライアントの場合は/etc/ssh/ssh_configファイルのRequiredRSASizeオプションを使用して、OpenSSHサーバーおよびクライアントの最小RSAキー長を設定できます。

  • crypto-policiesは、デフォルトでOpenSSH 2048ビットのRSAキーの最小長を適用します

    OpenSSHでのRSAキーの最小長の設定がサポートされるため、システム全体の暗号化ポリシーでは、デフォルトで2048ビットの最小キー長がRSAに適用されます。

    Invalid key lengthエラー・メッセージで接続に失敗した場合、OpenSSHは、より長いRSAキーを使用する必要があることを示します。

    デフォルトのキー長ポリシーの制限は緩和できますが、セキュリティは低下します。次のいずれかの方法を実行する前に、リスクを認識してください。

    • min_rsa_size@openssh = 1024パラメータを/etc/crypto-policies/policies/modules/RSA-OPENSSH-1024.pmodファイルに挿入して、カスタム・サブポリシーを定義します。

    • update-crypto-policies --set DEFAULT:RSA-OPENSSH-1024コマンドを使用して、カスタム・サブポリシーを適用します。

  • OpenSSLオプションは、署名のSHA-1をサポートします

    デフォルトでは、OpenSSL 3.0.0は署名の作成および検証のためにSHA-1をサポートしていません。SHA-1キー導出関数(KDF)およびハッシュベースのメッセージ認証コード(HMAC)は引き続きサポートされます。ただし、署名に引き続きSHA-1を使用するOracle Linux 8システムとの下位互換性は、rh-allow-sha1-signatures構成オプションを使用して実現できます。このオプションはopenssl.cnfalg_sectionで有効にすると、SHA-1署名の作成と検証が有効になります。

    このオプションは、システム全体のLEGACY暗号化ポリシーが設定されている場合に自動的に有効になります。これは、SHA-1署名を持つRPMパッケージがインストールされている場合に必要になることがあります。

  • crypto-policiesは、sntrup761x25519-sha512@openssh.comキー交換(KEX)メソッドをサポートしています

    sntrup761ポスト量子アルゴリズムは、OpenSSHスイートですでに使用可能です。この方法により、量子コンピュータからの攻撃に対するセキュリティが向上します。このキー交換方法を有効にするには、サブポリシーを作成して適用します。次に例を示します。

    sudo echo 'key_exchange = +SNTRUP' > /etc/crypto-policies/policies/modules/SNTRUP.pmod
    sudo update-crypto-policies --set DEFAULT:SNTRUP
  • 1023ビットより短いRSAキーのサポートがNSSで削除されます

    ネットワーク・セキュリティ・サービス(NSS)ライブラリの更新により、1023ビットを優先して128ビットのRSAキーのサポートが削除されました。この変更により、NSSは次の機能を実行しなくなりました。

    • 1023ビットより短いRSAキーを生成します。

    • 1023ビットより短いRSAキーを使用してRSA署名に署名または検証します。

    • 1023ビットより短いRSAキーを使用して値を暗号化または復号化します。

  • SCAPセキュリティ・ガイドが0.1.63に更新されます

    SCAPセキュリティ・ガイド(SSG)は、sysctlgrub2pam_pwquality、およびビルド・タイム・カーネル構成の新しいコンプライアンス・ルールを提供します。Oracle Linux 9に固有の新しいプロファイルには、次のものが含まれています。

    • ANSSI-BP-028 (拡張、高、中、最小)
    • CUI
    • E8
    • HIPAA
    • OSPP
    • PCI-DSS
    • 標準
    • STIG
    • STIG_GUI
  • keylimeパッケージを使用できます

    Keylimeは、Trusted Platform Module (TPM)テクノロジを使用したリモート・システムのアテステーションのためのツールです。Keylimeを使用すると、リモート・システムの整合性を検証し、継続的に監視できます。さらに、このツールでは、Keylimeが監視対象のマシンに配信する暗号化されたペイロードを指定できます。このツールを使用して、システムが整合性テストに失敗したときにトリガーされる自動アクションを定義することもできます。

  • Rsyslogエラー・ファイルは、最大サイズ・オプションで設定できます。

    action.errorfile.maxsizeオプションを使用すると、Rsyslogログ処理システムのエラー・ファイルの最大バイト数を指定できます。最大設定を超えると、Rsyslogは追加のエラーやその他のデータを書き込むことができません。このオプションを使用すると、サイズ超過のエラー・ファイルが使用不可のホスト・システムを表示できなくなります。

  • opencryptokiがバージョン3.18.0に更新されます

    このバージョンには、次の改善が含まれています。

    • 連邦情報処理標準(FIPS)準拠のトークン・データ形式(tokversion = 3.12)にデフォルト設定されます。
    • グローバル・ポリシーを使用してメカニズムおよびキーの使用を制限できます。
    • メカニズム使用状況の統計カウントを有効にします。
    • ICA/EP11トークンでは、libicaライブラリ・バージョン4を使用できます。
    • p11sakツールでは、公開キーと秘密キーに異なる属性を設定できます。
    • C_GetMechanismListは、EP11トークンのCKR_BUFFER_TOO_SMALLを返しません。

    このバージョンでは、FIPSによって承認されていないアルゴリズムを使用するデータ形式は機能しなくなります。したがって、Oracle Linux 9でopenCryptokiを使用するには、システム上でFIPSを有効にする前に、以前のトークン・データ形式を使用するトークンを移行して新しいデータ形式を使用する必要があります。移行するには、openCryptokiに付属のpkcstok_migrateユーティリティを使用します。

    ノート:

    pkcstok_migrateユーティリティは、移行中に非FIPS承認アルゴリズムを使用します。システムでFIPSモードを有効にする前に、このツールを使用する必要があります。詳細は、『Migrating to FIPS compliance - pkcstok_migrate utility』を参照してください。

  • fapolicydが1.1.3に更新されます

    更新されたfapolicydソフトウェア・フレームワークには、ハッシュ計算の暗号化エンジンとしてOpenSSLライブラリを使用する変更や、ルールがサブジェクトの親プロセスID (PPID)と照合を許可する機能など、いくつかの拡張機能が含まれています。fagenrules --loadコマンドの修正も含まれています。

  • SELinuxポリシーによって追加サービスが制限されます

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

    • ksm

    • nm-priv-helper

    • rhcd

    • stalld

    • systemd-network-generator

    • targetclid

    • wg-quick

  • SELinuxは、型の遷移でselfキーワードをサポートしています

    SELinuxツールは、ポリシー・ソースでselfキーワードを使用した型の遷移ルールをサポートしており、これにより、匿名のinodeのラベル付けにSELinuxポリシーが有効になります。

  • SELinuxユーザー領域パッケージが更新されます

    ユーザー領域パッケージlibsepollibselinuxlibsemanagepolicycoreutilscheckpolicyおよびmcstransには、次の変更が含まれています。

    • setfilesrestoreconおよびfixfilesツールの-Tオプションは、並列ラベル変更をサポートし、有効にします。

      このオプションを使用すると、プロセス・スレッドの数を指定できます。または、-T 0を使用して、使用可能なプロセッサ・コアの最大数を設定できます。

    • 新しい--checksumオプションは、モジュールのSHA-256ハッシュを出力します。

    • 新しいポリシー・ユーティリティがlibsepol-utilsパッケージに追加されています。

  • SELinux自動ラベル変更がデフォルトで並列になりました

    -T 0オプション設定は、fixfilesコマンドラインで実行される自動ラベル変更スクリプトに含まれています。-T 0オプションでは、デフォルトで、setfilesプログラムでラベル変更に使用可能なプロセッサ・コアの最大数が使用されます。

    このデフォルト設定をオーバーライドするには、次のいずれかのコマンドを選択します。

    • fixfiles -T 1 onboot
    • echo "-T 1" > /.autorelabel

ネットワーキング

  • firewalldがバージョン1.1.1に更新されます

    このバージョンでは、次のものを含む複数のバグ修正および拡張機能が提供されています。

    • リッチ・ルールは、ユーザー領域ロギングのNetFilterログ(NFLOG)ターゲットをサポートします。Oracle LinuxにはNFLOG対応のロギング・デーモンが存在しません。必要なログを収集するには、tcpdump -i nflogコマンドを使用します。

    • ingress-zones=HOSTおよびegress-zones={ANY, source based zone}設定により、ファイアウォール・ポリシーでのポート転送のサポートが有効になります。

    • afphttp3jellyfinnetbios-nsws-discoveryおよびws-discovery-clientサービスに対するサポートが追加されています

    • policyオプションのZシェルでのタブ補完とサブオプションがサポートされています。

  • NetworkManagerは、WEPサポートを使用できないことに関する警告を表示します

    Wired Equivalent Privacy (WEP)セキュリティ・アルゴリズムがwpa_supplicantパッケージから削除されました。この拡張機能により、NetworkManagerが更新され、これらの変更が反映されます。WEPのサポートがないことを示す適切なメカニズムが設定されており、WEPで保護されたネットワークに接続しようとするとエラー・メッセージが生成されます。

    セキュアな暗号化には、Wi-Fi Protected Access 2 (WPA2)およびWPA3認証を備えたwifiネットワークのみを使用してください。

カーネルおよびシステム・ライブラリ

次の重要な機能、拡張機能および変更は、Oracle Linux 9に同梱されているRed Hat Compatible Kernel (RHCK)に適用されます。

  • BPFがLinuxカーネル・バージョン5.16に更新されます

    この更新されたバージョンのBerkeley Packet Filter (BPF)機能では、次のような複数のバグ修正と拡張機能が提供されます。

    • 効率化された内部BPFプログラム・セクション処理およびlibbpfユーザー領域ライブラリ内のbpf_program__set_attach_target() API関数。この関数は、BPFベースのプログラムのBPFベースの接続ターゲットを設定します。

    • 次のパラメータおよび機能がサポートされています。

      • BTF_KIND_TAG kind。宣言およびBTF_KIND_DECL_TAG kindにタグ付けできます。

      • トレース・プログラムがハードウェアから最後の分岐レコード(LBR)を取得できるようにするbpf_get_branch_snapshot()ヘルパー。

      • レガシー・インタフェースを介したkprobeトレース・イベントの作成を可能にする、libbpfユーザー領域ライブラリのレガシーkprobe

      • __sk_buffヘルパー関数を使用して、BPF固有の構造体からハードウェア・タイムスタンプにアクセスする機能。

      • i40eおよびiceのドライバをサポートする、AF_XDPバッファ・プールでのRXバッファ割当て用のバッチ・インタフェース。

      • 最近マージされたレガシーkprobeを補完する、libbpfユーザー領域ライブラリでのレガシーuprobeのサポート。

      • 可変長引数のprintkヘルパーとしてのbpf_trace_vprintk()

      • libbpf 1.0の作業の一環として、より厳しいBPFプログラム・セクション名の処理を適用するlibbpfオプトイン。

      • libbpf: perf RBなどの特殊なマップを特定し、作成中にBTFタイプ識別子を内部的に削除します。

      • 要素がセットに存在するかどうかをテストするbloomfilter BPFマップ・タイプ。

      • BPFからのカーネル・モジュール関数呼出し。

      • ライト・スケルトンの型なしおよび弱いksym

    実行中のカーネルのBPF機能の完全なリストおよび説明については、bpftool featureコマンドを使用します。

  • tpm2-toolsパッケージが5.2.1に更新されます

    このバージョンでは、次の機能およびツールの追加サポートが提供されています。

    • tpm2_createprimaryおよびtpm2_createツールを使用してプライマリ・オブジェクトが作成された場合の公開キー出力。
    • 公開キーの出力形式を出力するための tpm2_printツール。このツールは、Trusted Platform Module (TPM)のデータ構造をデコードし、囲まれた要素を出力します。
    • 64KBを超えるログを読み取るためのtpm2_eventlogツール。
    • セッション属性の表示および構成をサポートするtpm2_sessionconfigツール。

    詳細は、/usr/share/doc/tpm2-tools/Changelog.mdファイルを参照してください。

高可用性とクラスタ

  • pcs stonith update-scsi-devicesでは、クラスタを再起動せずにマルチパスSCSIデバイスを更新できます

    pcs stonith update-scsi-devicesコマンドを使用すると、マルチパス・デバイスを使用してクラスタ上の分離を更新でき、同じノードで実行されている他のクラスタ・リソースを再起動する必要がありません。次に例を示します。

    sudo pcs stonith update-scsi-devices <mpath-fence-dev> set <device-path>
    sudo pcs stonith update-scsi-devices <mpath-fence-dev> add <device-path>
    sudo pcs stonith update-scsi-devices <mpath-fence-dev> remove <device-path>...
  • PacemakerクラスタにUUIDがあります

    pcsコマンドは、クラスタの作成時にクラスタを一意に識別するために使用できるUUIDを生成します。pcs cluster config [show]コマンドを実行すると、UUIDが表示されます。UUIDを既存のクラスタに追加することも、UUIDがすでに存在する場合はpcs cluster config UUID generateを実行して再生成することもできます。

  • Pacemakerがバージョン2.1.4に更新されます

    更新されたバージョンには、次の変更が含まれています。

    • 新しい値stop_unexpectedmultiple-activeリソース・パラメータに割り当てることができます

      multiple-activeリソース・パラメータは、追加のインスタンスがリソース上で予期せずアクティブになった場合のリカバリ動作を決定します。デフォルトでは、リソースが最初に構成された他のインスタンスに対して正常に動作している場合でも、このパラメータはリソースの完全再起動を実行するように設定されます。

      stop_unexpectedでは、複数のアクティブなリソースの予期しないインスタンスのみが停止されるように指定できます。ただし、サービスおよびリソース・エージェントが、リソースを再起動しなくても、これらの追加のアクティブ・インスタンスで引き続き機能することを確認する必要があります。

    • Pacemaker allow-unhealthy-nodeリソース・メタ属性が追加されます

      allow-unhealthy-nodeリソース・メタ属性をtrueに設定して、ノードのヘルスが低下したためにリソースがノードから強制的に除外されないようにできます。この機能により、ヘルス・エージェントを異常なノードで引き続き実行できるため、リソースがノードに戻される前に、ノードが再び正常になると、クラスタが自動的に検出されます。

    • Pacemakerには、システム・グループのアクセス制御リスト(ACL)が含まれています

      以前に個々のユーザーに対して許可されていたACLに加え、Pacemakerには、ロールに基づくアクセス制御を容易にするためのシステム・グループのACLが含まれています。pcs acl groupコマンドを使用して、システム・グループにACLを適用できるようになりました。たとえば、pcs_ro_groupシステム・グループの読取り専用ACLを作成するには、次のようにします。

      sudo pcs acl group create pcs_ro_group readonly
  • クラスタ・パッケージとともにSambaがインストールされていません

    SambaパッケージはOracle Linux高可用性アドオンのパッケージから分離されるため、自動的にインストールされません。これらのパッケージが必要な場合は、手動インストールを実行する必要があります。

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

  • php:8.1モジュール・ストリームが使用可能です

    新しいバージョンでは、次の操作を実行できます。

    • 列挙(Enums)機能を使用して、選択可能な値からカスタムの型を定義します。
    • readonly修飾子を使用してプロパティにフラグを立て、初期化後にプロパティが変更されないようにします。
    • ファイバ、フルスタック、割込み可能な機能を使用します。
  • Ruby 3.1.2が新しいモジュール・ストリームとして使用可能です

    Ruby 3.1.2は、新しいruby:3.1モジュール・ストリームで使用できます。このバージョンのRubyには、次のように、ruby:3.0モジュール・ストリームに対するいくつかの拡張機能およびパフォーマンス改善が含まれています。

    • Interactive Ruby (IRB)ユーティリティに含まれている自動補完機能およびドキュメント・ダイアログ。
    • パフォーマンスの向上、機能性の向上およびより詳細な制御を可能にする新しいdebugおよびerror_highlight gem。
    • ハッシュ・リテラル・データ型およびキーワード引数の値を省略できるようになりました
    • 1行パターン一致ではカッコを省略でき、pin演算子(^)ではパターン一致で式を受け入れるようになりました。
    • 新しい試験的なJust-in-Time (JIT)コンパイラであるYJITが、AMDおよびIntel 64ビット・アーキテクチャで使用できるようになりました
    • メソッド・ベースのJust-in-Timeコンパイラ(MJIT)には、Railsなどの大規模なワークロードに対するデフォルトの最大JITキャッシュ値の増加など、いくつかのパフォーマンス改善が含まれています。
  • httpdがバージョン2.4.53にリベースされます

    mod_proxyおよびmod_proxy_connectモジュールでの重要な変更点は次のとおりです。

    • mod_proxy: コントローラの名前の長さ制限が増えました
    • mod_proxy: バックエンドおよびフロントエンドのタイムアウトを選択的に構成できるようになりました
    • mod_proxy: SetEnv proxy-nohalfcloseパラメータを設定することで、TCP接続のリダイレクションを無効にできるようになりました
    • mod_proxyおよびmod_proxy_connect: クライアントに送信した後にステータス・コードを変更することが禁止されます

    さらに、新しいLDAP関数が式APIに追加され、LDAPインジェクションの脆弱性を防ぐことができます。

  • httpd構成のLimitRequestBodyディレクティブが新しいデフォルト値で更新されます

    Apache HTTP ServerのLimitRequestBodyディレクティブのデフォルト値は、セキュリティの問題を解決するために0 (無制限)から1GiBに変更されました。LimitRequestBodyディレクティブに明示的な値を使用するようにすでに構成されているシステムは、この変更の影響を受けません。

    httpd構成ファイルでLimitRequestBodyの値が明示的に指定されていないシステムでは、httpdパッケージの更新時にデフォルト値の1GiBが適用されます。HTTPリクエスト本文の合計サイズがこの1GiBのデフォルト制限を超えると、413 Request Entity Too Largeエラー・コードが返されます。サーバーでより大きなファイルを提供する必要がある場合は、httpd構成を更新し、制限をバイト単位で設定する必要があります。

  • httpd-coreパッケージが使用可能です

    この新しいパッケージには、すべての重要なファイルを含むhttpdバイナリ・ファイルが含まれるようになりました。したがって、追加の依存関係なしで、コンテナの場合など、必要に応じてApache HTTP Serverの基本的なhttpd機能のみをインストールできます。

    httpdパッケージには、mod_systemdmod_brotliおよびドキュメントを含むsystemd関連ファイルが含まれています。

    また、httpdモジュールのマジック番号(MMN)値は、httpdパッケージから新しいhttpd-coreパッケージに移動されます。したがって、インストールされたhttpdバイナリのhttpd-mmn値を取得するには、次のようにhttpd-develパッケージでapxsバイナリを使用する必要があります。

    sudo apxs -q  HTTPD_MMN
    20120211
  • pcre2がバージョン10.40に更新されます

    pcre2パッケージには、Perl互換正規表現ライブラリv2が用意されています。

    このバージョンでは、ルックアラウンド・アサーションで\Kエスケープ・シーケンスを使用できなくなりました。かわりに、PCRE2_EXTRA_ALLOW_LOOKAROUND_BSKオプションを使用できます。このオプションを設定すると、\Kは正のアサーション内でのみ受け入れられますが、負のアサーションでは無視されます。

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

  • 更新されたGCCコンパイラが使用可能です

  • GCCツールセット12が使用可能です

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

    sudo dnf install gcc-toolset-12

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

    scl enable gcc-toolset-12 tool

    GCCツールセット12のツール・バージョンがこれらのツールのシステム・バージョンをオーバーライドするシェル・セッションを実行するには、次のように入力します。

    scl enable gcc-toolset-12 bash

    新しいGCCツールセットには、次のツールが含まれています。

    • Annobin 10.79
      • デバッグ情報を検索するための代替手段が存在しない場合にdebuginfodサービスを使用しないように、annocheckの新しいコマンドライン・オプションが含まれています。debuginfodサービスは、より多くのデバッグ情報を提供できますが、debuginfodサーバーが使用できない場合は、annocheckのパフォーマンスをダウングレードすることもできます。
      • mesonおよびninjaは、必要な場合にAnnobinソースを構築するための代替ツールです。
      • Annocheckは、Rust 1.18コンパイラによって構築されたバイナリをサポートしています。

      状況によっては、このバージョンによって次のようなメッセージでコンパイル・エラーが発生することがあります。

      cc1: fatal error: inaccessible plugin file
      opt/rh/gcc-toolset-12/root/usr/lib/gcc/architecture-linux-gnu/12/plugin/gcc-annobin.so
      expanded from short plugin name gcc-annobin: No such file or directory

      この問題を回避するには、次のようにプラグイン・ディレクトリにシンボリック・リンクを作成します。

      cd /opt/rh/gcc-toolset-12/root/usr/lib/gcc/architecture-linux-gnu/12/plugin
      sudo ln -s annobin.so gcc-annobin.so

      architectureには、使用するシステムのアーキテクチャを指定します。

    • binutils 2.38
      • このパッケージのすべてのツールは、マルチバイト文字の存在に関して表示または警告するように設定できます。
      • readelfおよびobjdumpツールは、デフォルトで個別のdebuginfoファイルへのリンクに自動的に従うようになりました。この動作を無効にするには、次のいずれかのコマンドを選択します。
        readelf --debug-dump=no-follow-links
        objdump --dwarf=no-follow-links
    • GCC 12は_FORTIFY_SOURCEレベル3をサポートしています

      GCC 12以降のバージョンでアプリケーションを構築する場合は、コンパイラのコマンドラインで-D_FORTIFY_SOURCE=3を使用すると、ソース・コードの強化のカバレッジとアプリケーションのセキュリティを向上させることができます。このサポートは、__builtin_dynamic_object_sizeが組み込まれているすべてのClangでも利用できます。

    • GDB 11.2

      • Aarch64 MTEの新しいサポートを追加します。
      • すべてのスコープで検索するのではなく、ユーザーのイベントの場所との完全一致を検索する-break-insertおよび-dprintf-insert--qualifiedオプションを指定します。
      • 条件が現在無効であっても、指定された条件を定義できる--force-conditionオプションを指定します。
      • -break-condition --forceオプションを指定し、前述のオプションと同様に動作させます。
      • 出力を制限するためにオプションのREGEXPを受け入れる-file-list-exec-source-filesオプションを指定します。
      • .gdbinit検索パスには構成ディレクトリが含まれています。

      • ~/.config/gdb/gdbearlyinitまたは~/.gdbearlyinitをサポートします。
      • 以前の-eixおよび-eiex初期化ファイル・オプションを指定します。

      ターミナル・ユーザー・インタフェース(TUI)では、マウス・アクションのサポートが使用可能です。さらに、フォーカスされたウィンドウで機能しないキーの組合せがGDBに渡されるようになりました。

      この更新されたGDBには、Python APIの更新に加えて、新しいコマンドと改訂されたコマンドも含まれています。

  • GDBはPower 10 PLT命令をサポートします

    この更新により、ユーザーはGDBバージョン10.2-10以降を使用して、共有ライブラリ関数にステップインし、スタックのバックトレースを検査できます。

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

    • 代入の左側としてタプル、スライス、および構造体パターンを使用できるようになりました。たとえば、タプル代入では、次の2つの変数を取り替えることができます。
      (a, b) = (b, a);
      +=などの演算子を使用した代入の破棄は許可されないことに注意してください。
    • インライン・アセンブリは、core::arch::asm!マクロを使用してx86_64およびaarch64で使用できます。
    • 列挙型は、明示的に注釈付き#[default]バリアントを使用してDefault特性を導出できます。
    • pthreadの置換には、MutexCondVarおよびRwLockに対して、最適化されたfutexベースの実装が使用されます。
    • Termination特性を使用するユーザー定義型を含む、mainからのカスタム終了コードを使用できます。
    • Cargoは、依存関係機能に対して、より詳細な制御をサポートします。dep:接頭辞は、それを機能として公開せずにオプションの依存関係を参照でき、?は、その依存関係がpackage-name?/feature-nameのように他の場所で有効になっている場合にのみ依存関係機能を有効にします。
    • Cargo.tomlに依存関係を追加するための新しいcargo addサブコマンドを使用できます。
    詳細は、Rust 1.59.0Rust 1.60.0Rust 1.61.0Rust 1.62.0Rust 1.62.1など、アップストリーム・リリースの連続的な通知を参照してください。
  • LLVMツールセットがバージョン14.0.0に更新されます

    • 64ビットx86では、AVX512-FP16命令のサポートが追加されました。
    • Armv9-A、Armv9.1-AおよびArmv9.2-Aアーキテクチャのサポートが追加されました。

    このバージョンには、clangの次の変更も含まれています。

    • C++2bif constevalが実装されました。
    • AVX512-FP16命令がx86_64アーキテクチャに追加されました。
    • -E -Pプリプロセッサ出力では、GCCの動作に一致する空白行が常に省略されるようになりました。以前は、最大8行の連続した空白行が出力に表示されていました。
    • GCCの動作と一致するC89のみでなく、C99以降の標準で-Wdeclaration-after-statementをサポートします。重要なユースケースでは、宣言とコードの混合を禁止するが、新しいC標準への移行を希望するスタイル・ガイドをサポートしています。

    詳細は、LLVMツールセットおよびClangアップストリームのリリース・ノートを参照してください。

  • maven:3.8モジュール・ストリームが更新されます

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

    sudo dnf module install maven:3.8

仮想化

  • open-vm-toolsが12.0.5に更新されます

    VMware Toolsのオープン・ソース実装のこの更新バージョンでは、ゲストOS変数を介して管理されるSalt Minionツールのサポートが追加されました。