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を起動する前に、データベース・ファイルをバックアップしてください。
smbd
、nmbd
または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_active
、arp_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
コマンドが終了します。