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.cnf
のalg_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)は、
sysctl
、grub2
、pam_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ユーザー領域パッケージが更新されます
ユーザー領域パッケージ
libsepol
、libselinux
、libsemanage
、policycoreutils
、checkpolicy
およびmcstrans
には、次の変更が含まれています。-
setfiles
、restorecon
および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}
設定により、ファイアウォール・ポリシーでのポート転送のサポートが有効になります。 -
afp
、http3
、jellyfin
、netbios-ns
、ws-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_unexpected
をmultiple-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_systemd
、mod_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の更新に加えて、新しいコマンドと改訂されたコマンドも含まれています。
- Annobin 10.79
-
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の置換には、
Mutex
、CondVar
およびRwLock
に対して、最適化されたfutex
ベースの実装が使用されます。 -
Termination
特性を使用するユーザー定義型を含む、main
からのカスタム終了コードを使用できます。 - Cargoは、依存関係機能に対して、より詳細な制御をサポートします。
dep:
接頭辞は、それを機能として公開せずにオプションの依存関係を参照でき、?
は、その依存関係がpackage-name?/feature-name
のように他の場所で有効になっている場合にのみ依存関係機能を有効にします。 -
Cargo.toml
に依存関係を追加するための新しいcargo add
サブコマンドを使用できます。
- 代入の左側としてタプル、スライス、および構造体パターンを使用できるようになりました。たとえば、タプル代入では、次の2つの変数を取り替えることができます。
-
LLVMツールセットがバージョン14.0.0に更新されます
- 64ビットx86では、
AVX512-FP16
命令のサポートが追加されました。 - Armv9-A、Armv9.1-AおよびArmv9.2-Aアーキテクチャのサポートが追加されました。
このバージョンには、
clang
の次の変更も含まれています。C++2b
のif consteval
が実装されました。AVX512-FP16
命令がx86_64アーキテクチャに追加されました。-
-E -P
プリプロセッサ出力では、GCCの動作に一致する空白行が常に省略されるようになりました。以前は、最大8行の連続した空白行が出力に表示されていました。 - GCCの動作と一致するC89のみでなく、
C99
以降の標準で-Wdeclaration-after-statement
をサポートします。重要なユースケースでは、宣言とコードの混合を禁止するが、新しいC標準への移行を希望するスタイル・ガイドをサポートしています。
詳細は、LLVMツールセットおよびClangアップストリームのリリース・ノートを参照してください。
- 64ビットx86では、
-
maven:3.8
モジュール・ストリームが更新されますインストールするには、次のように入力します。
sudo dnf module install maven:3.8