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


新しいモジュール python39 が導入されました。

RHEL 8.4 では Python 3.9 が導入されました。これは新しいモジュール python39 および ubi8/python-39 コンテナーイメージで提供されます。

Python 3.8 と比較しての主な機能強化は、以下のとおりです。

  • merge (|) および update (|=) 演算子が dict クラスに追加されました。
  • 接頭辞と接尾辞を削除するメソッドが文字列に追加されました。
  • list および dict などの、特定の標準タイプに、型ヒントとなる汎用が追加されました。
  • IANA タイムゾーンデータベースが、新しい zoneinfo モジュールから利用できるようになりました。

Python 3.9 およびこれのためにビルドされたパッケージは、同じシステムの Python 3.6 と Python 3.8 と並行してインストールできます。

python39 モジュールからパッケージをインストールするには、たとえば、以下を使用します。

# yum install python39
# yum install python39-pip

python39:3.9 モジュールストリームは、自動的に有効になります。

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

$ python3.9
$ python3.9 -m pip --help

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

Red Hat は、RHEL 8 のライフサイクルが終了するまで Python 3.6 のサポートを継続することに留意してください。Python 3.8 と同様に、Python 3.9 のライフサイクルは短くなります。Red Hat Enterprise Linux 8 Application Streams ライフサイクル を参照してください。

(BZ#1877430)

Python urllib 解析関数のデフォルト区切り文字の変更点

Python urllib ライブラリーの Web Cache Poisoning CVE-2021-23336 を緩和するため、urllib.parse.parse_qsl および urllib.parse.parse_qs 関数のデフォルト区切り文字が、アンパサンド (&) とセミコロン (;) の両方が単一のアンパサンドに変更されます。

この変更は、RHEL 8.4 のリリースで Python 3.6 に実装され、RHEL 8 の以下のマイナーリリースで Python 3.8 および Python 2.7 にバックポートされます。

デフォルトの区切り文字の変更は後方互換性がない可能性があるため、Red Hat はデフォルトの区切り文字が変更された Python パッケージの動作を設定する手段を提供します。さらに、影響を受ける urllib 解析関数は、お客様のアプリケーションが変更の影響を受けることを検知すると警告を発行します。

詳細は、Mitigation of Web Cache Poisoning in the Python urllib library (CVE-2021-23336) を参照してください。

Python 3.9 は影響を受けませんが、新しいデフォルトの区切り文字 (&) がすでに含まれているため、Python コードで urllib.parse.parse_qsl および urllib.parse.parse_qs 関数を呼び出す時に、セパレーターパラメーターを渡すことしか変更できません。

(BZ#1935686, BZ#1928904)

新しいモジュールストリーム: swig:4.0

RHEL 8.4 では、新しいモジュールストリーム swig:4.0 として利用できる、SWIG (Simplified Wrapper and Interface Generator) バージョン 4.0 が導入されました。

以前リリースされた SWIG 3.0 への主な変更点は、以下のとおりです。

  • サポートされる Python バージョンは 2.7 および 3.2 から 3.8 のみです。
  • Python モジュールが改善されました。生成されたコードが簡素化され、ほとんどの最適化がデフォルトで有効になりました。
  • Ruby 2.7 のサポートが追加されました。
  • PHP 7 でサポートされる唯一のバージョンの PHP は削除されました。PHP 5 に対応しなくなりました。
  • 大規模なインターフェイスファイルで SWIG を実行する場合は、パフォーマンスが大幅に改善されました。
  • コマンドラインオプションファイル (応答ファイルとも呼ばれます) のサポートが追加されました。
  • JavaScript Node.js バージョン 2 から 10 のサポートが追加されました。
  • バージョン 4.4 から 5.1 へのサポートが追加されました。

swig:4.0 モジュールストリームをインストールするには、以下を使用します。

# yum module install swig:4.0

swig:3.0 ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。

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

(BZ#1853639)

新しいモジュールストリーム: subversion:1.14

RHEL 8.4 では、新しいモジュールストリーム subversion:1.14 が導入されました。Subversion 1.14 は、最新の LTS (Long Term Support) リリースです。

以下は、RHEL 8.0 で配布された Subversion 1.10 以降の主な変更点です。

  • Subversion 1.14 には、Subversion を自動化し、お客様のビルドおよびリリースインフラストラクチャーに統合するための Python 3 バインディングが含まれます。
  • 新規の svnadmin rev-size コマンドを使用すると、ユーザーはリビジョンの合計サイズを判別できます。
  • 新たな svnadmin build-repcache コマンドを使用すると、管理者はエントリーが見つからない rep-cache データベースに設定することができます。
  • 現在の作業コピーステータスの概要を提供するために、新たな実験コマンドが追加されました。
  • svn logsvn infosvn list コマンドに対するさまざまな改善が行われました。たとえば、svn list --human-readable は、ファイルサイズに人間が判読できる単位を使用するようになりました。
  • 大規模な作業コピーの svn status に大幅に改良されました。

互換性情報:

  • Subversion 1.10 のクライアントおよびサーバーは Subversion 1.14 サーバーおよびクライアントと相互運用します。ただし、クライアントとサーバーの両方が最新バージョンにアップグレードされない限り、特定の機能は利用できません。
  • Subversion 1.10 で作成されたリポジトリーは、Subversion 1.14 で正常にロードできます。
  • RHEL 8 で配布されるサブバージョン Subversion 1.14 を使用すると、クライアント側でプレーンテキストのパスワードをキャッシュできます。この動作は Subversion 1.10 と同じですが、Subversion 1.14 のアップストリームリリースとは異なります。
  • 実験的な Shelving 機能が大幅に変更され Subversion 1.10 で作成された shelves と互換性がありません。詳細およびアップグレードの手順は、アップストリームのドキュメント を参照してください。
  • グローバルルールおよびリポジトリー固有のルールの両方を使用したパスベースの認証設定の解釈が Subversion 1.14 では変更になりました。影響を受ける設定の詳細については、アップストリームのドキュメント を参照してください。

subversion:1:14 モジュールストリームをインストールするには、以下を使用します。

# yum module install subversion:1.14

subversion:1.10 ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。

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

(BZ#1844947)

新しいモジュールストリーム: redis:6

高度なキー値ストアの Redis 6 のが、新しいモジュールストリーム redis:6 として利用できるようになりました。

Redis 5 への主な変更点は、以下の通りです。

  • Redis がすべてのチャネルで SSL をサポートするようになりました。
  • Redis が、コマンド呼び出しおよびキーパターンアクセスのためのユーザーパーミッションを定義するアクセス制御リスト (ACL) をサポートするようになりました。
  • Redis が新しい RESP3 プロトコルをサポートするようになりました。これにより、より多くのセマンティック応答が返されます。
  • Redis がオプションでスレッドを使用して I/O を処理できるようになりました。
  • Redis は、クライアント側のキー値のキャッシュにサーバー側のサポートを提供するようになりました。
  • Redis のアクティブな期限切れサイクルが改善され、期限切れの鍵のエビクションが速くなりました。

Redis 6 には Redis 5 との互換性があります (以下の後方互換性のない変更を除く)。

  • セットキーが存在しない場合は、SPOP <count> コマンドは null を返しなくなりました。Redis 6 では、コマンドは、このシナリオでは空のセットを返します。これは、引数 0 で呼び出された場合と同様です。

redis:6 モジュールストリームをインストールするには、以下を使用します。

# yum module install redis:6

redis:5 ストリームからアップグレードする場合は、後続のストリームへの切り替え を参照してください。

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

(BZ#1862063)

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

RHEL 8.4 リリースでは、PostgreSQL 13 が導入されました。これは、バージョン 12 から多くの新機能および機能強化が追加されています。以下は、主な変更点です。

  • B-tree インデックスエントリーの重複によるパフォーマンスの向上
  • 集約またはパーティション化されたテーブルを使用するクエリーのパフォーマンス向上
  • 拡張された統計使用時のクエリー計画の改善
  • インデックスの並列化された退避
  • インクリメンタルソート

PostgreSQL 11 以降のアップストリームで利用できる、Just-In-Time (JIT) のコンパイルサポートは postgresql:13 モジュールストリームでは提供されていないことに注意してください。

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

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

# yum module install postgresql:13

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

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

(BZ#1855776)

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

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

  • MariaDB は、デフォルトで unix_socket 認証プラグインを使用するようになりました。このプラグインを使用すると、ローカルの Unix ソケットファイルを介して MariaDB に接続する際に、オペレーティングシステムの認証情報を使用できます。
  • MariaDB は、サーバーを再起動しなくても SSL 証明書を再読み込みする新しい FLUSH SSL コマンドに対応します。
  • MariaDB は、mariadb-* という名前のバイナリーと、mariadb-* バイナリーを指す mysql* シンボリックリンクを追加します。たとえば、mariadb-adminmariadb-accessmariadb-show を指す、mysqladminmysqlaccessmysqlshow symlink。
  • MariaDB は、IPv6 アドレスを保存する新しい INET6 6 データ型をサポートします。
  • MariaDB は、Perl Compatible Regular Expressions (PCRE) ライブラリーバージョン 2 を使用するようになりました。
  • 各ユーザーロールに合わせて、SUPER 特権が複数の特権に分割されました。その結果、一部のステートメントが必要な特権が変更されました。
  • MariaDB は、新しいグローバル変数 binlog_row_metadata を追加して、システム変数およびステータス変数を追加して、ログに記録されるメタデータの量を制御します。
  • eq_range_index_dive_limit 変数のデフォルト値が 0 から 200 に変更になりました。
  • 最後の binlog イベントが接続されたレプリカに送信された後にのみシャットダウンするように、新しい SHUTDOWN WAIT FOR ALL SLAVES サーバーコマンドと新しい mysqladmin shutdown --wait-for-all-slaves オプションが追加されました。
  • 並列レプリケーションでは、slave_parallel_mode 変数がデフォルトで optimistic になりました。

InnoDB ストレージエンジンには以下の変更が追加されました。

  • InnoDB は、インスタント状態の DROP COLUMN 操作をサポートし、ユーザーが列の順序を変更できるようになりました。
  • 変数のデフォルトが、innodb_adaptive_hash_indexOFF に、innodb_checksum_algorithmfull_crc32 に変更になりました。
  • 一部の InnoDB 変数が削除されるか、非推奨となっています。

MariaDB Galera Cluster がバージョン 4 にアップグレードされ、以下の主な変更点が加えられました。

  • Galera は、無制限サイズのトランザクションの複製をサポートする新しいストリーミングレプリケーション機能を追加します。ストリーミングレプリケーションの実行時に、クラスターは小さなフラグメントでトランザクションを複製します。
  • Galera がグローバルトランザクション ID (GTID) に完全に対応するようになりました。
  • /etc/my.cnf.d/galera.cnf ファイルの wsrep_on オプションのデフォルト値が 1 から 0 に変更され、必要な追加オプションを設定せずにエンドユーザーが wsrep レプリケーションを開始できないようにします。

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

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

# yum module install mariadb:10.5

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

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

(BZ#1855781)

MariaDB 10.5 は、PAM プラグインバージョン 2.0 を提供します。

MariaDB 10.5 は、PAM (Pluggable Authentication Modules) プラグインの新バージョンを追加します。PAM プラグインバージョン 2.0 は、個別の setuid root ヘルパーバイナリーを使用して PAM 認証を実行します。これにより、MariaDB が追加の PAM モジュールを使用できるようになります。

MariaDB 10.5 では、プラグ可能な認証モジュール (PAM) プラグインとその関連ファイルが新しいパッケージ mariadb-pam に移動しました。このパッケージには PAM プラグインバージョンの両方が含まれています。バージョン 2.0 はデフォルトで、バージョン 1.0 は auth_pam_v1 共有オブジェクトライブラリーとして利用できます。

MariaDB サーバーでは、デフォルトで mariadb-pam パッケージがインストールされないことに注意してください。MariaDB 10.5 で PAM 認証プラグインを利用できるようにするには、mariadb-pam パッケージを手動でインストールします。

既知の問題 MariaDB では PAM プラグインバージョン 1.0 が機能しない も参照してください。

(BZ#1936842)

新しいパッケージ: mysql-selinux

RHEL 8.4 は、MariaDB および MySQL データベースのルールが含まれる SELinux モジュールを提供する新しい mysql-selinux パッケージを追加します。このパッケージは、デフォルトでデータベースサーバーを使用してインストールされます。モジュールの優先度は 200 に設定されます。

(BZ#1895021)

python-PyMySQL がバージョン 0.10.1 にリベースされました。

python-PyMySQL クライアントライブラリーを提供する python-PyMySQL パッケージが、バージョン 0.10.1 に更新されました。パッケージは、python36python38python39 モジュールに含まれます。

以下は、主な変更点です。

  • 今回の更新で、ed25519 および caching_sha2_password 認証メカニズムに対応するようになりました。
  • python38 および python39 モジュールに設定したデフォルトの文字は、utf8mb4 で、アップストリームと一致します。python36 モジュールは、このモジュールの以前のバージョンとの互換性を維持するために、デフォルトの latin1 文字セットを保持します。
  • python36 モジュールでは、/usr/lib/python3.6/site-packages/pymysql/tests/ ディレクトリーは利用できなくなりました。

(BZ#1820628, BZ#1885641)

新しいパッケージ: python3-pyodbc

今回の更新で、python3-pyodbc パッケージが RHEL 8 に追加されました。pyodbc Python は、Open Database Connectivity (ODBC) データベースへのアクセスを提供します。このモジュールは Python DB API 2.0 仕様を実装し、サードパーティーの ODBC ドライバーと共に使用できます。たとえば、Performance Co-Pilot (pcp) を使用して SQL サーバーのパフォーマンスを監視できるようになりました。

(BZ#1881490)

新しいパッケージ: micropipenv

新しい micropipenv パッケージが利用できるようになりました。Pipenv および Poetry ロックファイルをサポートする pip パッケージインストーラーの軽量ラッパーを提供します。

micropipenv パッケージは AppStream リポジトリーで配布され、互換性レベル 4 で提供されます。詳細は Red Hat Enterprise Linux 8 アプリケーションの互換性ガイド を参照してください。

(BZ#1849096)

新しいパッケージ: py3c-devel および py3c-docs

RHEL 8.4 では、新しい py3c-devel パッケージおよび py3c-docs パッケージが導入され、C 拡張の Python 3 への移植が簡素化されます。これらのパッケージには、詳細なガイドと、移植を容易にするためのマクロセットが含まれています。

py3c-devel および py3c-docs パッケージは、サポート対象外の CodeReady Linux Builder (CRB) リポジトリーを介して配布されます。

(BZ#1841060)

httpd を設定するための強化された ProxyRemote ディレクティブ

Apache HTTP Server の ProxyRemote 設定ディレクティブは、オプションでユーザー名とパスワードの認証情報を取得するように強化されました。これらの認証情報は、HTTP Basic 認証を使用してリモートプロキシーへの認証に使用されます。この機能は、httpd 2.5 からバックポートされています。

(BZ#1869576)

非非同期証明書は、SSLProxyMachineCertificateFile および SSLProxyMachineCertificatePath httpd 使用できます。

今回の更新により、Apache HTTP Server の SSLProxyMachineCertificateFile および SSLProxyMachineCertificatePath 設定ディレクティブを使用して、認証局 (CA) や中間証明書などの非エンド (リーフ以外の) 証明 書を使用できるようになりました。Apache HTTP サーバーは、SSLProxyMachineCertificateChainFile ディレクティブで使用されるかのように、そのような証明書を信頼できる CA として処理するようになりました。以前のバージョンでは、SSLProxyMachineCertificateFile ディレクティブおよび SSLProxyMachineCertificatePath ディレクティブとともに非エンドの証明書が使用されると、httpd は設定エラーで起動できませんでした。

(BZ#1883648)

mod_security モジュールの新しい SecRemoteTimeout ディレクティブ

以前は、Apache HTTP Server の mod_security モジュールでリモートルールを取得するデフォルトのタイムアウトを変更できませんでした。今回の更新で、新しい SecRemoteTimeout 設定ディレクティブを使用して、カスタムタイムアウトを秒単位で設定できるようになりました。

タイムアウトに達すると、httpd がエラーメッセージ Timeout was reached で失敗するようになりました。このシナリオでは、設定ファイルの構文が有効であっても、Syntax error も含まれていることに注意してください。タイムアウト時の httpd の動作は、SecRemoteRulesFailAction 設定ディレクティブの値によって異なります (デフォルト値は Abort です)。

(BZ#1824859)

mod_fcgid モジュールが、FCGI サーバープロセスに最大 1024 個の環境変数を渡すことができるようになりました。

今回の更新で、Apache HTTP Server の mod_fcgid モジュールは、FCGI (FCGI) サーバープロセスに最大 1024 個の環境変数を渡すことができるようになりました。以前の 64 環境変数の制限により、FCGI サーバーで実行しているアプリケーションの誤動作が生じる可能性がありました。

(BZ#1876525)

perl-IO-String が AppStream リポジトリーで利用可能になりました。

Perl IO::String モジュールを提供する perl-IO-String パッケージが、サポートされる AppStream リポジトリーで配布されるようになりました。RHEL 8 の以前のリリースでは、perl-IO-String パッケージは、サポート対象外の CodeReady Linux Builder リポジトリーで利用できていました。

(BZ#1890998)

新しいパッケージ: quota-devel

RHEL 8.4 では、quota-devel パッケージが導入され、quota Remote Procedure Call (RPC) サービスを実装するためのヘッダーファイルが提供されます。

quota-devel パッケージは、サポート対象外の CodeReady Linux Builder (CRB) リポジトリー で配布されることに注意してください。

(BZ#1868671)

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.