検索

4.9. 動的プログラミング言語、Web サーバー、およびデータベースサーバー

download PDF

Python 3.12 が RHEL 8 で利用できるようになりました

RHEL 8.10 では、新しいパッケージ python3.12 とそのために構築された一連のパッケージ、および ubi8/python-312 コンテナーイメージによって提供される Python 3.12 が導入されています。

以前にリリースされた Python 3.11 と比較しての主な機能拡張は次のとおりです。

  • Python では、ジェネリッククラスと関数に対して新しい type ステートメントと新しい型パラメーター構文が導入されています。
  • フォーマットされた文字列リテラル (f-strings) が文法で形式化され、パーサーに直接統合できるようになりました。
  • Python が、インタープリターごとに固有のグローバルインタープリターロック (GIL) を提供するようになりました。
  • Python コードからバッファープロトコルを使用できるようになりました。
  • セキュリティーを強化するために、SHA1、SHA3、SHA2-384、SHA2-512、および MD5 暗号化アルゴリズムのビルトイン hashlib 実装が、HACL* プロジェクトの正式に検証されたコードに置き換えられました。OpenSSL がビルトイン実装を提供しない場合は、フォールバックとして引き続きビルトイン実装を使用できます。
  • CPython のディクショナリー、リスト、セットの内包表記がインライン化されました。これにより、内包表記の実行速度が大幅に向上します。
  • CPython が Linux perf プロファイラーをサポートするようになりました。
  • CPython が、サポート対象のプラットフォームでスタックオーバーフローの保護を提供するようになりました。

python3.12 スタックからパッケージをインストールするには、たとえば、以下を使用します。

# yum install python3.12
# yum install python3.12-pip

インタープリターを実行するには、たとえば、以下を使用します。

$ python3.12
$ python3.12 -m pip --help

詳細は、Python のインストールおよび使用 を参照してください。

Python 3.12 のサポート期間については、Red Hat Enterprise Linux Application Streams ライフサイクル を参照してください。

Jira:RHEL-14942

メールアドレスの解析を制御するための Python の新しい環境変数

CVE-2023-27043 の問題を軽減するために、メールアドレスをより厳密に解析するための後方互換性のない変更が Python 3 に導入されました。

この更新では、新しい PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING 環境変数が導入されました。この変数を true に設定すると、比較的厳密ではない以前の解析動作が、システム全体のデフォルトになります。

export PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING=true

ただし、該当する関数を個別に呼び出すと、より厳密な動作が有効になる可能性があります。

次の内容で /etc/python/email.cfg 設定ファイルを作成しても、同じ結果を得ることができます。

[email_addr_parsing]
PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING = true

詳細は、ナレッジベース記事 Mitigation of CVE-2023-27043 introducing stricter parsing of email addresses in Python を参照してください。

Jira:RHELDOCS-17369[1]

新しいモジュールストリーム: ruby:3.3

RHEL 8.10 では、新しい ruby:3.3 モジュールストリームに Ruby 3.3.0 が導入されました。このバージョンでは、RHEL 8.7 で配布される Ruby 3.1 に対するパフォーマンスの向上、バグおよびセキュリティー修正、および新機能が数多く追加されました。

主な機能拡張は、次のとおりです。

  • Ripper の代わりに新しい Prism パーサーを使用できます。Prism は、移植可能で、エラー耐性があり、メンテナンス性に優れた Ruby 言語の再帰下降パーサーです。
  • Ruby の just-in-time (JIT) コンパイラー実装である YJIT は、もはや実験的機能ではなく、大幅なパフォーマンスの向上をもたらします。
  • Regexp 一致アルゴリズムが改善され、潜在的な正規表現サービス拒否 (ReDoS) の脆弱性の影響が軽減されました。
  • 新しい実験的な RJIT (純粋な Ruby の JIT) コンパイラーが MJIT を置き換えます。実稼働環境では YJIT を使用してください。
  • 新しい M:N スレッドスケジューラーが利用可能になりました。

その他の主な変更点:

  • 今後は、Bison の代わりに Lrama LALR パーサージェネレーターを使用する必要があります。
  • いくつかの非推奨のメソッドと定数が削除されました。
  • Racc gem はデフォルトの gem からバンドルされた gem に昇格しました。

ruby:3.3 モジュールストリームをインストールするには、次のコマンドを使用します。

# yum module install ruby:3.3

以前の ruby モジュールストリームからアップグレードするには、後続のストリームへの切り替え を参照してください。

Ruby 3.3 のサポート期間については、Red Hat Enterprise Linux Application Streams ライフサイクル を参照してください。

Jira:RHEL-17090[1]

新しいモジュールストリーム: php:8.2

RHEL 8.10 は PHP 8.2 を追加します。これにより、バージョン 8.0 に比べて多くのバグ修正と機能拡張が提供されます。

PHP 8.2 では、以下が可能です。

  • 列挙 (Enums) 機能を使用して、可能な値の離散数の 1 つに制限されるカスタム型を定義します。
  • 初期化後のプロパティー変更を防ぐために、readonly 修飾子を使用してプロパティーを宣言します。
  • ファイバー、フルスタック、割り込み可能な関数を使用します。
  • 読み取り専用クラスを使用します。
  • いくつかの新しいスタンドアロン型を宣言します。
  • 新しい Random 拡張機能を使用します。
  • 特性の制約を定義します。

php:8.2 モジュールストリームをインストールするには、次のコマンドを使用します。

# yum module install php:8.2

以前のphp ストリームからアップグレードする場合は、新しいストリームへの切り替え を参照してください。

RHEL 8 での PHP の使用方法の詳細は、PHP スクリプト言語の使用 を参照してください。

php モジュールストリームのサポート期間の詳細は、Red Hat Enterprise Linux Application Streams のライフサイクル を参照してください。

Jira:RHEL-14705[1]

perl-DateTime-TimeZone モジュールの name() メソッドは、タイムゾーン名を返すようになりました。

perl-DateTime-TimeZone モジュールがバージョン 2.62 に更新され、name() メソッドによって返される値がタイムゾーンエイリアスからメインのタイムゾーン名に変更されました。

詳細と例については、ナレッジベースの記事 Change in the perl-DateTime-TimeZone API related to time zone name and alias を参照してください。

Jira:RHEL-35685

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

nginx 1.24 Web およびプロキシーサーバーが、nginx:1.24 モジュールストリームとして利用できるようになりました。この更新では、以前にリリースされたバージョン 1.22 に対するバグ修正、セキュリティー修正、新機能、および機能拡張が数多く提供されます。

Transport Layer Security (TLS) に関連する新機能と変更点:

  • ssl_session_cache ディレクティブで共有メモリーを使用する場合、TLS セッションチケットの暗号鍵が自動的にローテーションされるようになりました。
  • Secure Sockets Layer (SSL) プロキシーを使用した設定でメモリー使用量が最適化されました。
  • resolver ディレクティブの ipv4=off パラメーターを使用して、解決時に IPv4 アドレスの検索を無効にできるようになりました。
  • nginx は、PROXY v2 TLV プロトコルに表示される Type-Length-Value (TLV) フィールドの値を格納する $proxy_protocol_tlv_* 変数をサポートするようになりました。
  • ngx_http_gzip_static_module モジュールはバイト範囲をサポートするようになりました。

その他の変更点:

  • ヘッダー行は、内部 API でリンクされたリストとして表されるようになりました。
  • nginx は、ngx_http_perl_module$r->header_in() メソッドと、$http_...$sent_http_...$sent_trailer_...$upstream_http_...、および $upstream_trailer_... 変数の検索中に、FastCGI、SCGI、および uwsgi バックエンドに渡される同一の名前のヘッダー文字列を連結するようになりました。
  • nginx は、リスニングソケットのプロトコルパラメーターが再定義されると警告を表示するようになりました。
  • nginx は、クライアントによってパイプラインが使用された場合、接続を遅延して閉じるようになりました。
  • さまざまな SSL エラーのロギングレベルが、たとえば Critical から Informational に引き下げられました。

nginx:1.24 ストリームをインストールするには、以下を実行します。

# yum module install nginx:1.24

以前の nginx ストリームからアップグレードするには、新しいストリームに切り替えます

詳細は、NGINX のセットアップと設定 を参照してください。

nginx モジュールストリームのサポート期間については、Red Hat Enterprise Linux アプリケーションストリームのライフサイクル を参照してください。

Jira:RHEL-14714[1]

新しいモジュールストリーム: mariadb:10.11

MariaDB 10.11 が、新しいモジュールストリーム mariadb:10.11 として利用できるようになりました。以前に利用可能であったバージョン 10.5 に対する主な機能拡張は、以下のとおりです。

  • 新しい sys_schema 機能。
  • アトミックデータ定義言語 (DDL) ステートメント。
  • 新しい GRANT ... TO PUBLIC 特権。
  • SUPER 特権と READ ONLY ADMIN 特権の分離。
  • 新しい UUID データベースデータ型。
  • Secure Socket Layer (SSL) プロトコルのバージョン 3 のサポート。MariaDB サーバーの起動には、正しく設定された SSL が必要になりました。
  • natural_sort_key() 関数による自然なソート順序のサポート。
  • 任意のテキストフォーマットのための新しい SFORMAT 関数。
  • UTF-8 文字セットと UCA-14 照合の変更。
  • /usr/share/ ディレクトリーで利用可能な systemd ソケットのアクティベーションファイル。アップストリームとは異なり、これらのファイルは RHEL のデフォルト設定の一部ではないことに注意してください。
  • MySQL の代わりに MariaDB 文字列を含むエラーメッセージ。
  • 中国語で利用可能なエラーメッセージ。
  • デフォルトの logrotate ファイルへの変更。
  • MariaDB および MySQL クライアントの場合、コマンドラインで指定した接続プロパティー (例: --port=3306) によって、クライアントとサーバー間の通信のプロトコルタイプ (tcpsocketpipememory など) が強制されるようになりました。

MariaDB 10.11 の変更点の詳細は、MariaDB 10.5 と MariaDB 10.11 の主な違い を参照してください。

MariaDB の詳細は、MariaDB の使用 を参照してください。

mariadb:10.11 ストリームをインストールするには、以下を使用します。

# yum module install mariadb:10.11

mariadb:10.5 モジュールストリームからアップグレードする場合は、MariaDB 10.5 から MariaDB 10.11 へのアップグレード を参照してください。

mariadb モジュールストリームのサポート期間の詳細は、Red Hat Enterprise Linux Application Streams のライフサイクル を参照してください。

Jira:RHEL-3637

新しいモジュールストリーム: postgresql:16

RHEL 8.10 では、バージョン 15 に比べて多数の新機能と機能拡張を提供する PostgreSQL 16 が導入されています。

主な機能拡張は、次のとおりです。

  • 強化された一括ロードによりパフォーマンスが向上します。
  • libpq ライブラリーが、接続レベルの負荷分散をサポートするようになりました。より効率的な負荷分散のために、新しい load_balance_hosts オプションを使用できます。
  • カスタム設定ファイルを作成し、それを pg_hba.conf ファイルと pg_ident.conf ファイルに追加できるようになりました。
  • PostgreSQL は、pg_hba.conf ファイル内のデータベースおよびロールエントリーに対する正規表現の一致をサポートするようになりました。

その他の変更点は次のとおりです。

  • PostgreSQL は postmaster バイナリーとともに配布されなくなりました。提供されている systemd ユニットファイル (systemctl start postgres コマンド) を使用して postgresql サーバーを起動するユーザーは、この変更の影響を受けません。以前に postmaster バイナリーを介して postgresql サーバーを直接起動していた場合は、今後は代わりに postgres バイナリーを使用する必要があります。
  • PostgreSQL は、パッケージで PDF 形式のドキュメントを提供しなくなりました。代わりに オンラインドキュメント を使用してください。

PostgreSQL の使用 も参照してください。

postgresql:16 ストリームをインストールするには、次のコマンドを使用します。

# yum module install postgresql:16

RHEL 8 内で以前の postgresql ストリームからアップグレードする場合は 後続のストリームへの切り替え の説明に従い、PostgreSQL の RHEL 8 バージョンへの移行 で説明されているように PostgreSQL データを移行します。

postgresql モジュールストリームのサポート期間については、Red Hat Enterprise Linux アプリケーションストリームのライフサイクル を参照してください。

Jira:RHEL-3636

Git がバージョン 2.43.0 にリベース

Git バージョン管理システムがバージョン 2.43.0 に更新され、以前にリリースされたバージョン 2.39 に対するバグ修正、機能拡張、およびパフォーマンス向上が実現しました。

主な機能拡張は、次のとおりです。

  • git check-attr コマンドで新しい --source オプションを使用して、現在の作業ディレクトリーではなく、提供されたツリー状のオブジェクトから .gitattributes ファイルを読み取ることができるようになりました。
  • Git は、WWW-Authenticate レスポンスタイプヘッダーからの情報を認証情報ヘルパーに渡すことができるようになりました。
  • コミットが空の場合、git format-patch コマンドは空のファイルを作成する代わりに、コミットのヘッダーを含む出力ファイルを書き込むようになりました。
  • git blame --contents=<file> <revision> -- <path> コマンドを使用して、<file> の内容を起点として <revision> に至る履歴を通じて、行の起源を検索できるようになりました。
  • git log --format コマンドは、--decorate オプションが提供する機能を拡張するためのさらなるカスタマイズ用に、%(decorate) プレースホルダーを受け入れるようになりました。

Jira:RHEL-17103[1]

Git LFS がバージョン 3.4.1 にリベース

Git Large File Storage (LFS) エクステンションがバージョン 3.4.1 に更新されました。これにより、以前にリリースされたバージョン 3.2.0 に対するバグ修正、機能拡張、およびパフォーマンス向上が実現しました。

主な変更点は、以下のとおりです。

  • git lfs push コマンドが、標準入力から参照とオブジェクト ID を読み取ることができるようになりました。
  • Git LFS は、Git に依存せずに代替リモートを処理するようになりました。
  • Git LFS は、認証情報ヘルパーとして WWW-Authenticate レスポンスタイプヘッダーをサポートするようになりました。

Jira:RHEL-17102[1]

Python インタープリターのパフォーマンスが向上しました

RHEL 8 でサポートされているすべてのバージョンの Python は、アップストリームのデフォルトである -O3 最適化フラグを使用してコンパイルされるようになりました。その結果、Python アプリケーションとインタープリター自体のパフォーマンスが向上しました。

この変更は、次のアドバイザリーのリリースで利用可能になります。

Jira:RHEL-49614[1], Jira:RHEL-49636, Jira:RHEL-49644, Jira:RHEL-49638

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.