第1章 Red Hat Software Collections 3.8

この章では、Red Hat Software Collections 3.8 のコンテンツセットの概要について説明しています。これは、コンポーネントとその説明、このバージョンの変更の概要、関連互換性情報のドキュメント、および既知の問題を一覧表示します。

1.1. Red Hat Software Collections について

アプリケーションによっては、最新の新機能を使用するために、より新しいバージョンのソフトウェアコンポーネントが必要になることがあります。Red Hat Software Collections は、基本的な Red Hat Enterprise Linux システムに含まれる同等のバージョンよりも新しい、またはこのシステムで最初に利用可能になった動的プログラミング言語、データベースサーバー、およびさまざまな関連パッケージのセットを提供する Red Hat 製品です。
Red Hat Software Collections 3.8 は、Red Hat Enterprise Linux 7 で利用できます。Red Hat Software Collections の一部として配布されるコンポーネントの一覧と、その機能の概要は 「主な特長」 を参照してください。
Red Hat Software Collections では、Red Hat Enterprise Linux 7 で提供されるデフォルトのシステムツールは置き換えられません。その代わりに、並列のツールセットが /opt/ ディレクトリーにインストールされ、提供された scl ユーティリティーを使用してユーザーがアプリケーションごとにオプションで有効にできます。たとえば、Perl または PostgreSQL のデフォルトのバージョンは、ベース Red Hat Enterprise Linux システムが提供するバージョンのままになります。
注記
Red Hat Enterprise Linux 8 および Red Hat Enterprise Linux 9 では、同様のコンポーネントは Application Streams として提供されます。
すべての Red Hat Software Collections コンポーネントは、Red Hat Enterprise Linux サブスクリプション契約で完全にサポートされ、機能的に完全で、実稼働環境での使用を目的としています。重要なバグ修正とセキュリティーエラータは、Red Hat Enterprise Linux と同様に、各メジャーバージョンのリリースから少なくとも 2 年間は Red Hat Software Collections サブスクライバーに発行されます。各メジャーリリースストリームでは、選択したコンポーネントの各バージョンは後方互換性を維持します。個別コンポーネントのサポート期間の詳細は、Red Hat Software Collections Product Life Cycle を参照してください。

1.1.1. Red Hat Developer Toolset

Red Hat Developer Toolset は、個別の Software Collection として同梱される Red Hat Software Collections の一部です。Red Hat Developer Toolset の詳細は、Red Hat Developer Toolset リリースノート および Red Hat Developer Toolset ユーザーガイド を参照してください。

1.2. 主な特長

表1.1「Red Hat Software Collections のコンポーネント」 は、Red Hat Software Collections 3.8 のリリース時点でサポートされるコンポーネントのリストを示しています。すべての Software Collections は、Red Hat Enterprise Linux 7 でのみサポートされています。

表1.1 Red Hat Software Collections のコンポーネント

コンポーネント Software Collection 説明
Red Hat Developer Toolset 12.1 devtoolset-12 Red Hat Developer Toolset は、Red Hat Enterprise Linux プラットフォームで作業する開発者向けに設計されています。GNU Compiler CollectionGNU Debugger、その他の開発用ツールやデバッグ用ツール、およびパフォーマンス監視ツールの現行バージョンを提供します。コンポーネントの完全なリストは、『Red Hat Developer Toolset ユーザーガイド』 の Red Hat Developer Toolset コンポーネント の表を参照してください。
Red Hat Developer Toolset 12.1 devtoolset-12 Red Hat Developer Toolset は、Red Hat Enterprise Linux プラットフォームで作業する開発者向けに設計されています。GNU Compiler CollectionGNU Debugger、その他の開発用ツールやデバッグ用ツール、およびパフォーマンス監視ツールの現行バージョンを提供します。コンポーネントの完全なリストは、『Red Hat Developer Toolset ユーザーガイド』 の Red Hat Developer Toolset コンポーネント の表を参照してください。
Perl 5.30.1 rh-perl530 Perl のリリース。これは、システム管理ユーティリティーと Web プログラミングに一般的に使用される高レベルのプログラミング言語です。rh-perl530 Software Collection は、MySQLPostgreSQL、および SQLite 用の追加のユーティリティー、スクリプト、およびデータベースコネクターを提供します。これには、httpd24 Software Collection でのみサポートされる Perl モジュール DateTime と Apache httpd モジュール mod_perl が含まれます。さらに、CPAN モジュールを簡単にインストールできる cpanm ユーティリティー、HTTP サーバーと通信するための LWP::UserAgent モジュール、通信のセキュリティーを保護する LWP::Protocol::https モジュールが提供されます。パッケージは rh-perl530 アップストリームに合わせて調整されます。インタープリターは perl530-perl パッケージにより提供されますが、perl-interpreter パッケージはコアモジュールもインストールします。
PHP 7.3.33 rh-php73 PEAR 1.10.9、APCu 5.1.17、および Xdebug 拡張が含まれる PHP 7.3 のリリース
Python 3.8.14 rh-python38 rh-python38 Software Collection には Python 3.8 が含まれ、新しい Python モジュール (contextvarsdataclasses、または importlib.resources、新しい言語機能、開発者エクスペリエンスの向上、パフォーマンスの向上) が導入されています。さらに、mod_wsgi (httpd24 Software Collection とのみサポート)、numpyscipypsycopg2 PostgreSQL データベースコネクターなど、一般的な拡張ライブラリーのセットが提供されます。
Ruby 3.0.4 rh-ruby30 Ruby 3.0. のリリースこのバージョンでは、複数のパフォーマンスの向上と新機能が提供されます ( 例: Ractor、Fiber Scheduler、および RBS 言語)。Ruby 3.0 は、Ruby 2.7 とソースレベルの後方互換性を維持しています。
MariaDB 10.5.16 rh-mariadb105 Red Hat Enterprise Linux ユーザー向けの MySQL の代替となる MariaDB のリリース。あらゆる実用的な目的で、MySQL は MariaDB とバイナリー互換性があり、データ変換なしで MySQL と置き換えることができます。このバージョンには、さまざまな新機能が含まれ、バージョン 4 にアップグレードされた MariaDB Galera Cluster、および PAM プラグインバージョン 2.0 が含まれます。
MySQL 8.0.32 rh-mysql80 MySQL サーバーのリリース。セキュリティーおよびアカウント管理機能および新規機能 および機能強化が数多く追加されました。
PostgreSQL 10.23 rh-postgresql10 PostgreSQL のリリースには、パフォーマンスが大幅に向上し、 publish および subscribe キーワードを使用した論理レプリケーション、SCRAM-SHA-256 メカニズムに基づく強力なパスワード認証 などの新機能が多数含まれています。
PostgreSQL 12.11 rh-postgresql12 PostgreSQL のリリースは、 pgaudit 拡張、パーティションおよび並列処理のさまざまな機能強化、SQL/JSON パス言語のサポート、 およびパフォーマンスの向上を提供します。
PostgreSQL 13.7 rh-postgresql13 PostgreSQL のリリースにより、クエリー計画が向上し、さまざまなパフォーマンス改善 と、pg_repack および plpython3 の 2 つの新しいパッケージ が導入されました。
Node.js 14.21.3 rh-nodejs14 Node.js の Node.js リリース (V8 バージョン 8.3、 実験的な新しい WebAssembly System Interface(WASI)、および実験的な新しい Async Local Storage API)。
nginx 1.20.1 rh-nginx120 nginx のリリース、Web サーバーおよびプロキシーサーバーは、高い同時実行性、パフォーマンス、およびメモリー使用量の少ない部分に重点を置いています。このバージョンは、OCSP によるクライアント SSL 証明書の検証をサポートし、HTTP/2 のサポートを改善します
Apache httpd 2.4.34 httpd24 Apache HTTP Server (httpd) のリリース。これには、高パフォーマンスの イベントベースの処理モデル、強化された SSL モジュール、および FastCGI サポート が含まれます。mod_auth_kerbmod_auth_mellon、および ModSecurity モジュールも含まれています。
Varnish Cache 6.0.8 rh-varnish6 高パフォーマンスの HTTP リバースプロキシーである Varnish Cache のリリース。このバージョンには、Unix ドメインソケットのサポート (クライアントおよびバックエンドサーバーの両方)、VCL 言語の新規レベル (vcl4.1) 、および改善した HTTP/2 サポート が含まれます。
Maven 3.6.1 rh-maven36 Maven のリリース (ソフトウェアプロジェクト管理および内包表記ツール)。本リリースでは、さまざまな機能強化およびバグ修正が提供されます。
Git 2.27.0 rh-git227 分散アーキテクチャーを備えた分散リビジョン管理システムである Git のリリース。クライアントサーバーモデルを使用する集中型バージョン管理システムとは対照的に、Git は Git リポジトリーの各作業コピーが完全なリビジョン履歴で正確なコピーになるようにします。このバージョンでは、git checkout コマンドを git switchgit restore に分割し、 git rebase コマンドの挙動を変更するなど、多くの機能拡張が追加されました。さらに、Git Large File Storage (LFS) がバージョン 2.11.0 に更新されました。
Redis 6.0.16 rh-redis6 Redis 6.0 のリリース (永続キーと値のデータベース) です。Redis が、すべてのチャネル、アクセス制御リスト、および REdis Serialization Protocol version 3 で SSL をサポートするようになりました。
HAProxy 1.8.24 rh-haproxy18 HAProxy 1.8 のリリース (TCP および HTTP ベースのアプリケーションの信頼できる高パフォーマンスな ネットワークロードバランサー) です。
JDK Mission Control 8.0.1 rh-jmc この Software Collection には、HotSpot JVM の強力なプロファイラーである JDK Mission Control(JMC) が含まれています。JMC では、JDK Flight Recorder が収集した豊富なデータを効率的かつ詳細に分析するための高度なツールセットを利用できます。JMC を実行するには、JDK バージョン 11 以降が必要であることに注意してください。ターゲット Java アプリケーションは、最低でも OpenJDK バージョン 8 で実行する必要があります。これにより、JMC が JDK Flight Recorder 機能にアクセスできるようになります。rh-jmc Software Collection には、rh-maven36 Software Collection が必要です。
これまでリリースされた Software Collections は同じディストリビューションチャンネルで引き続き利用できます。終了したコンポーネントを含む Software Collections はすべて、表1.2「利用可能なすべての Software Collections」 に記載されています。サポートされなくなった Software Collections にはアスタリスク (*) が付いています。
個々のコンポーネントのサポート期間の詳細は、Red Hat Software Collections Product Life Cycleを参照してください。以前にリリースされたコンポーネントの詳細は、Red Hat Software Collections の以前のバージョンのRelease Notesを参照してください。

表1.2 利用可能なすべての Software Collections

コンポーネント Software Collection 可用性 RHEL7 でサポートされるアーキテクチャー
Red Hat Developer Toolset 12 リリース
Red Hat Developer Toolset 12.1devtoolset-12RHEL7x86_64、s390x、ppc64、ppc64le
Red Hat Software Collections 3.8 の新しいコンポーネント
Red Hat Developer Toolset 11.0devtoolset-11RHEL7x86_64、s390x、ppc64、ppc64le
nginx 1.20.1rh-nginx120RHEL7x86_64、s390x、ppc64le
Redis 6.0.16rh-redis6RHEL7x86_64、s390x、 ppc64le
Red Hat Software Collections 3.8 で更新されたコンポーネント
JDK Mission Control 8.0.1rh-jmcRHEL7x86_64
Red Hat Software Collections 3.7 で最後に更新されたコンポーネント
Red Hat Developer Toolset 10.1devtoolset-10*RHEL7x86_64、s390x、ppc64、ppc64le
MariaDB 10.5.16rh-mariadb105RHEL7x86_64、s390x、ppc64le
PostgreSQL 13.7rh-postgresql13RHEL7x86_64、s390x、ppc64le
Ruby 3.0.4rh-ruby30RHEL7x86_64、s390x、ppc64le
Ruby 2.7.8rh-ruby27*RHEL7x86_64、s390x、aarch64、ppc64le
Ruby 2.6.10rh-ruby26*RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 3.6 で最後に更新されたコンポーネント
Git 2.27.0rh-git227RHEL7x86_64、s390x、ppc64le
nginx 1.18.0rh-nginx118*RHEL7x86_64、s390x、ppc64le
Node.js 14.21.3rh-nodejs14RHEL7x86_64、s390x、ppc64le
Apache httpd 2.4.34httpd24RHEL7x86_64、s390x、aarch64、ppc64le
PHP 7.3.33rh-php73RHEL7x86_64、s390x、aarch64、ppc64le
HAProxy 1.8.24rh-haproxy18RHEL7x86_64
Perl 5.30.1rh-perl530RHEL7x86_64、s390x、aarch64、ppc64le
Ruby 2.5.9rh-ruby25*RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 3.5 で最後に更新されたコンポーネント
Red Hat Developer Toolset 9.1devtoolset-9*RHEL7x86_64、s390x、aarch64、ppc64、ppc64le
Python 3.8.14rh-python38RHEL7x86_64、s390x、aarch64、ppc64le
Varnish Cache 6.0.8rh-varnish6RHEL7x86_64、s390x、aarch64、ppc64le
Apache httpd 2.4.34 (RHEL6 の最終更新)httpd24 (RHEL6)*RHEL6x86_64
Red Hat Software Collections 3.4 で最後に更新されたコンポーネント
Node.js 12.22.12rh-nodejs12*RHEL7x86_64、s390x、aarch64、ppc64le
nginx 1.16.1rh-nginx116*RHEL7x86_64、s390x、aarch64、ppc64le
PostgreSQL 12.11rh-postgresql12RHEL7x86_64、s390x、aarch64、ppc64le
Maven 3.6.1rh-maven36RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 3.3 で最後に更新されたコンポーネント
Red Hat Developer Toolset 8.1devtoolset-8*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64、ppc64le
MariaDB 10.3.35rh-mariadb103* RHEL7x86_64、s390x、aarch64、ppc64le
Redis 5.0.5rh-redis5*RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 3.2 で最後に更新されたコンポーネント
PHP 7.2.24rh-php72*RHEL7x86_64、s390x、aarch64、ppc64le
MySQL 8.0.32rh-mysql80RHEL7x86_64、s390x、aarch64、ppc64le
Node.js 10.21.0rh-nodejs10*RHEL7x86_64、s390x、aarch64、ppc64le
nginx 1.14.1rh-nginx114*RHEL7x86_64、s390x、aarch64、ppc64le
Git 2.18.4rh-git218*RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 3.1 で最後に更新されたコンポーネント
Red Hat Developer Toolset 7.1devtoolset-7*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64、ppc64le
Perl 5.26.3rh-perl526*RHEL7x86_64、s390x、aarch64、ppc64le
MongoDB 3.6.3rh-mongodb36*RHEL7x86_64、s390x、aarch64、ppc64le
Varnish Cache 5.2.1rh-varnish5*RHEL7x86_64、s390x、aarch64、ppc64le
PostgreSQL 10.23rh-postgresql10RHEL7x86_64、s390x、aarch64、ppc64le
PHP 7.0.27rh-php70*RHEL6、RHEL7x86_64
MySQL 5.7.24rh-mysql57*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 3.0 で最後に更新されたコンポーネント
PHP 7.1.8rh-php71*RHEL7x86_64、s390x、aarch64、ppc64le
nginx 1.12.1rh-nginx112*RHEL7x86_64、s390x、aarch64、ppc64le
Python 3.6.12rh-python36*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
Maven 3.5.0rh-maven35*RHEL7x86_64、s390x、aarch64、ppc64le
MariaDB 10.2.22rh-mariadb102*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
PostgreSQL 9.6.19rh-postgresql96*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
MongoDB 3.4.9rh-mongodb34*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
Node.js 8.17.0rh-nodejs8*RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 2.4 で最後に更新されたコンポーネント
Red Hat Developer Toolset 6.1devtoolset-6*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64、ppc64le
Scala 2.10.6rh-scala210*RHEL7x86_64
nginx 1.10.2rh-nginx110*RHEL6、RHEL7x86_64
Node.js 6.11.3rh-nodejs6*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
Ruby 2.4.6rh-ruby24*RHEL6、RHEL7x86_64
Ruby on Rails 5.0.1rh-ror50*RHEL6、RHEL7x86_64
Eclipse 4.6.3rh-eclipse46*RHEL7x86_64
Python 2.7.18python27*RHEL6*、RHEL7x86_64、s390x、aarch64、ppc64le
Thermostat 1.6.6rh-thermostat16*RHEL6、RHEL7x86_64
Maven 3.3.9rh-maven33*RHEL6、RHEL7x86_64
一般的な Java パッケージrh-java-common*RHEL6、RHEL7x86_64
Red Hat Software Collections 2.3 で最後に更新されたコンポーネント
Git 2.9.3rh-git29*RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
Redis 3.2.4rh-redis32*RHEL6、RHEL7x86_64
Perl 5.24.0rh-perl524*RHEL6、RHEL7x86_64
Python 3.5.1rh-python35*RHEL6、RHEL7x86_64
MongoDB 3.2.10rh-mongodb32*RHEL6、RHEL7x86_64
Ruby 2.3.8rh-ruby23*RHEL6、RHEL7x86_64
PHP 5.6.25rh-php56*RHEL6、RHEL7x86_64
Red Hat Software Collections 2.2 で最後に更新されたコンポーネント
Red Hat Developer Toolset 4.1devtoolset-4*RHEL6、RHEL7x86_64
MariaDB 10.1.29rh-mariadb101*RHEL6、RHEL7x86_64
MongoDB 3.0.11 アップグレードコレクション rh-mongodb30upg*RHEL6、RHEL7x86_64
Node.js 4.6.2rh-nodejs4*RHEL6、RHEL7x86_64
PostgreSQL 9.5.14rh-postgresql95*RHEL6、RHEL7x86_64
Ruby on Rails 4.2.6rh-ror42*RHEL6、RHEL7x86_64
MongoDB 2.6.9rh-mongodb26*RHEL6、RHEL7x86_64
Thermostat 1.4.4thermostat1*RHEL6、RHEL7x86_64
Red Hat Software Collections 2.1 で最後に更新されたコンポーネント
Varnish Cache 4.0.3rh-varnish4*RHEL6、RHEL7x86_64
nginx 1.8.1rh-nginx18*RHEL6、RHEL7x86_64
Node.js 0.10nodejs010*RHEL6、RHEL7x86_64
Maven 3.0.5maven30*RHEL6、RHEL7x86_64
V8 3.14.5.10v8314*RHEL6、RHEL7x86_64
Red Hat Software Collections 2.0 で最後に更新されたコンポーネント
Red Hat Developer Toolset 3.1devtoolset-3*RHEL6、RHEL7x86_64
Perl 5.20.1rh-perl520*RHEL6、RHEL7x86_64
Python 3.4.2rh-python34*RHEL6、RHEL7x86_64
Ruby 2.2.9rh-ruby22*RHEL6、RHEL7x86_64
Ruby on Rails 4.1.5rh-ror41*RHEL6、RHEL7x86_64
MariaDB 10.0.33rh-mariadb100*RHEL6、RHEL7x86_64
MySQL 5.6.40rh-mysql56*RHEL6、RHEL7x86_64
PostgreSQL 9.4.14rh-postgresql94*RHEL6、RHEL7x86_64
Passenger 4.0.50rh-passenger40*RHEL6、RHEL7x86_64
PHP 5.4.40php54*RHEL6、RHEL7x86_64
PHP 5.5.21php55*RHEL6、RHEL7x86_64
nginx 1.6.2nginx16*RHEL6、RHEL7x86_64
DevAssistant 0.9.3devassist09*RHEL6、RHEL7x86_64
Red Hat Software Collections 1 で最後に更新されたコンポーネント
Git 1.9.4git19*RHEL6、RHEL7x86_64
Perl 5.16.3perl516*RHEL6、RHEL7x86_64
Python 3.3.2python33*RHEL6、RHEL7x86_64
Ruby 1.9.3ruby193*RHEL6、RHEL7x86_64
Ruby 2.0.0ruby200*RHEL6、RHEL7x86_64
Ruby on Rails 4.0.2ror40*RHEL6、RHEL7x86_64
MariaDB 5.5.53mariadb55*RHEL6、RHEL7x86_64
MongoDB 2.4.9mongodb24*RHEL6、RHEL7x86_64
MySQL 5.5.52mysql55*RHEL6、RHEL7x86_64
PostgreSQL 9.2.18postgresql92*RHEL6、RHEL7x86_64
説明:
  • RHEL6 – Red Hat Enterprise Linux 6
  • RHEL7 – Red Hat Enterprise Linux 7
  • x86_64: AMD および Intel 64 ビットアーキテクチャー
  • s390x: 64 ビット IBM Z アーキテクチャー
  • aarch64 - 64 ビット ARM アーキテクチャー
  • ppc64 – IBM POWER、ビックエンディアン
  • ppc64le - IBM POWER、リトルエンディアン
  • * - 終了したコンポーネント (この Software Collection はサポート対象外になりました)
上記の表には、非同期更新で利用できる最新バージョンがリスト表示されます。
Red Hat Software Collections 2.0 以降でリリースされた Software Collections には、その名前に rh- 接頭辞が含まれていることに注意してください。
Eclipse は、Red Hat Developer Tools 製品から入手できます。

1.3. Red Hat Software Collections 3.8 における変更点

1.3.1. 概要

アーキテクチャー

Red Hat Software Collections 製品には、以下のアーキテクチャーで実行している Red Hat Enterprise Linux 7 のパッケージが含まれます。
  • AMD アーキテクチャーおよび Intel 64 ビットアーキテクチャー
  • 64 ビット IBM Z
  • IBM POWER、リトルエンディアン
コンポーネントの完全なリストとそれらの可用性は、表1.2「利用可能なすべての Software Collections」 を参照してください。

新しい Software Collections

Red Hat Software Collections 3.8 では、以下の新しい Software Collections を追加しています。
すべての新しい Software Collections は、Red Hat Enterprise Linux 7 でのみ利用できます。

Software Collections の更新

Red Hat Software Collections 3.8 では、以下のコンポーネントが更新されました。

Red Hat Software Collections コンテナーイメージ

以下のコンテナーイメージは、Red Hat Software Collections 3.8 の新機能です。
  • rhscl/devtoolset-12-toolchain-rhel7 (2022 年 11 月以降に利用可能)
  • rhscl/devtoolset-12-perftools-rhel7 (2022 年 11 月以降に利用可能)
  • rhscl/nginx-120-rhel7
  • rhscl/redis-6-rhel7
Red Hat Software Collections コンテナーイメージの詳細は、「Red Hat Software Collections コンテナーイメージ」 を参照してください。

1.3.2. Red Hat Developer Toolset 12 の変更点

1.3.2.1. Red Hat Developer Toolset 12.0 の変更点

以前のリリースと比較すると、以下のコンポーネントが Red Hat Developer Toolset 12.0 でアップグレードされました。
  • GCC: バージョンを 12.1.1 へ
  • annobin: バージョン 10.76 へ
  • elfutils: バージョン 0.187 へ
  • GDB: バージョン 11.2 へ
  • strace: バージョン 5.18 へ
  • SystemTap: バージョン 4.7 へ
  • Valgrind: バージョン 3.19.0 へ
  • Dyninst: バージョン 12.1.0 へ
また、binutils にバグ修正の更新を利用できます。
Red Hat Developer Toolset 12.0 の詳細な変更は、Red Hat Developer Toolset ユーザーガイド を参照してください。

1.3.2.2. Red Hat Developer Toolset 12.1 の変更点

Red Hat Developer Toolset 12.1 では、以下のコンポーネントがアップグレードされました。
  • GCC: バージョンを 12.2.1 へ
  • annobin: バージョン 11.08 へ
さらに、binutils のセキュリティー更新プログラムも利用可能です。
Red Hat Developer Toolset 12.1 の詳細は、Red Hat Developer Toolset User Guide を参照してください。

1.3.3. Red Hat Developer Toolset 11 の変更点

以前のリリースと比較すると、以下のコンポーネントが Red Hat Developer Toolset 12.1 でアップグレードされました。
  • GCC: バージョンを 11.2.1 へ
  • binutils: バージョンを 2.36.1 へ
  • elfutils: バージョンを 0.185 へ
  • dwz: バージョンを 0.14 へ
  • GDB: バージョンを 10.2 へ
  • strace: バージョンを 5.13 へ
  • SystemTap: バージョンを 4.5 へ
  • Valgrind: バージョンを 3.17.0 へ
  • Dyninst: バージョンを 11.0.0 へ
  • make: バージョンを 4.3 へ
  • annobin: バージョンを 9.82 へ
12.1 の変更に関する詳細は、Red Hat Developer Toolset ユーザーガイド を参照してください。

1.3.4. nginx の変更点

新しい rh-nginx120 Software Collection では nginx 1.20.1 が導入され、バージョン 1.18 に対するバグ修正およびセキュリティー修正が数多く追加されました。
新機能:
  • nginx が、OCSP (Online Certificate Status Protocol) を使用したクライアント SSL 証明書の検証に対応するようになりました。
  • nginx が、最小限の空き領域に基づくキャッシュクリアに対応するようになりました。これに対応するのは、proxy_cache_path ディレクティブの min_free パラメーターとして実装されています。
  • 新しい ngx_stream_set_module モジュールが追加されました。これにより、変数の値を設定できるようになりました。
拡張されたディレクティブ:
  • ssl_conf_commandssl_reject_handshake など、新しいディレクティブが複数利用できるようになりました。
  • proxy_cookie_flags ディレクティブが変数に対応するようになりました。
HTTP/2 のサポートが改善されました。
  • ngx_http_v2 モジュールに、lingering_close ディレクティブ、lingering_time ディレクティブ、lingering_timeout ディレクティブが含まれるようになりました。
  • HTTP/2 での接続の処理は、HTTP/1.x に合わせて行われました。nginx 1.20 では、削除した http2_recv_timeout ディレクティブ、http2_idle_timeout ディレクティブ、および http2_max_requests ディレクティブの代わりに、keepalive_timeout ディレクティブおよび keepalive_requests ディレクティブを使用します。
nginx の変更に関する詳細は、upstream release notes を参照してください。
移行手順は、「nginx 1.20 への移行」 を参照してください。

1.3.5. Redis の変更点

新しい rh-redis6 Software Collection には Redis 6.0.16 が含まれています。このバージョンでは、以前のバージョンの Red Hat Software Collections リリースとともに配布されるバージョン 5.0.5 に対する機能拡張およびバグ修正が複数追加されました。Redis 5 への主な変更点は、以下の通りです。
  • Redis がすべてのチャネルで SSL をサポートするようになりました。
  • Redis が、コマンド呼び出しおよびキーパターンアクセスのためのユーザーパーミッションを定義するアクセス制御リスト (ACL) をサポートするようになりました。
  • Redis が REdis Serialization Protocol バージョン 3 (RESP3) をサポートするようになりました。これにより、より多くのセマンティック応答が返されます。
  • Redis がオプションでスレッドを使用して I/O を処理できるようになりました。
  • Redis は、クライアント側のキー値のキャッシュにサーバー側のサポートを提供するようになりました。
  • Redis のアクティブな期限切れサイクルが改善され、期限切れの鍵のエビクションが速くなりました。
移行および互換性の注意事項については、「Redis 6 への移行」 を参照してください。
Redis の詳細な変更は、アップストリームのリリースノート を参照してください。

1.3.6. JDK Mission Control の変更点

rh-jmc Software Collection が提供する JDK Mission Control (JMC) がバージョン 8.0.1 にアップグレードされ、バグ修正およびセキュリティー修正が提供されます。

1.3.7. Apache httpd の変更 (非同期更新)

CVE-2022-29404 を修正するために、RHSA-2022:6753 アドバイザリーのリリースにより、Apache HTTP Server の LimitRequestBody ディレクティブのデフォルト値が 0 (無制限) から 1 GiB に変更されました。
LimitRequestBody の値が httpd 設定ファイルで明示的に指定されていないシステムでは、httpd パッケージを更新すると、LimitRequestBody がデフォルト値の 1 GiB に設定されます。その結果、HTTP 要求本文の合計サイズがデフォルトの制限である 1 GiB を超える場合、httpd413 Request Entity Too Large エラーコードを返します。
HTTP 要求メッセージ本文の新しいデフォルトの許容サイズがユースケースに不十分な場合は、それぞれのコンテキスト (サーバー、ディレクトリーごと、ファイルごと、または場所ごと) 内で httpd 設定ファイルを更新し、適切な制限をバイト単位で設定します。たとえば、新しい制限を 2 GiB に設定するには、次を使用します。
LimitRequestBody 2147483648
すでに LimitRequestBody ディレクティブで明示的な値を使用するように設定されているシステムは、この変更の影響を受けません。

1.4. 互換性情報

Red Hat Software Collections 3.8 は、AMD および Intel 64 ビットアーキテクチャー、64 ビット IBM Z および IBM POWER (リトルエンディアン) 上の Red Hat Enterprise Linux 7 のサポートされるすべてのリリースで利用できます。
64 ビット ARM アーキテクチャーで、以前にリリースされた一部のコンポーネントも利用できます。
利用可能なコンポーネントのリストは、表1.2「利用可能なすべての Software Collections」 を参照してください。

1.5. 既知の問題

rh-mariadb component
rh-mariadb103 Software Collection は、PAM (Pluggable Authentication Modules) プラグインバージョン 1.0 を提供します。rh-mariadb105 Software Collection は、プラグインバージョン 1.0 および 2.0 を提供します。バージョン 2.0 がデフォルトです。MariaDB の PAM プラグインバージョン 1.0 は機能しません。この問題を回避するには、rh-mariadb105 が提供する PAM プラグインバージョン 2.0 を使用します。
rh-ruby27 コンポーネント (BZ#1836201)
カスタムスクリプトに Psych YAML パーサーを必要とし、その後に Gem.load_yaml メソッドを使用すると、スクリプトの実行に失敗し、以下のエラーメッセージが表示されます。
superclass mismatch for class Mark (TypeError)
この問題を回避するには、スクリプトの require 'psych' 行の上のどこかに、gem 'psych' 行を追加します。
...
gem 'psych'
...
require 'psych'
Gem.load_yaml
複数のコンポーネント (BZ#1716378 )
debuginfo Software Collections パッケージが提供する特定のファイルは、ベースの Red Hat Enterprise Linux システムまたはその他のバージョンの Red Hat Software Collections コンポーネントに対応する debuginfo パッケージファイルと競合する可能性があります。たとえば、python27-python-debuginfo パッケージファイルは、コアシステムにインストールされている python-debuginfo パッケージの対応するファイルと競合する可能性があります。同様に、httpd24-mod_auth_mellon-debuginfo パッケージのファイルは、ベースシステム mod_auth_mellon-debuginfo パッケージが提供する同様のファイルと競合する可能性があります。この問題を回避するには、Software Collection debuginfo パッケージをインストールする前に、ベースシステムの debuginfo パッケージをアンインストールします。
rh-mysql80 コンポーネント (BZ#1646363)
mysql-connector-java データベースコネクターは MySQL 8.0 サーバーと動作しません。この問題を回避するには、rh-mariadb103 Software Collection からの mariadb-java-client データベースコネクターを使用します。
rh-mysql80 コンポーネント (BZ#1646158 )
MySQL 8.0 ではデフォルトの文字セットが utf8mb4 に変更になりましたが、この文字セットは php-mysqlnd データベースコネクターではサポートされません。これにより、php-mysqlnd がデフォルト設定で接続できません。この問題を回避するには、既知の文字セットを MySQL サーバー設定のパラメーターとして指定します。たとえば、/etc/opt/rh/rh-mysql80/my.cnf.d/mysql-server.cnf ファイルを read に変更します。
[mysqld]
character-set-server=utf8
httpd24 コンポーネント (BZ#1429006)
httpd 2.4.27 以降、mod_http2 モジュールはデフォルトの prefork Multi-Processing Module (MPM) でサポートされなくなりました。HTTP/2 サポートを有効にするには、/opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-mpm.conf で設定ファイルを編集し、event または worker MPM に切り替えます。
HTTP/2 の server-push 機能は、64 ビット ARM アーキテクチャー、64 ビット IBM Z、および IBM POWER (リトルエンディアン) では機能しないことに注意してください。
httpd24 コンポーネント、BZ#1224763
FastCGI Process Manager (PHP-FPM) で mod_proxy_fcgi モジュールを使用する場合は、httpd は正しいポート 9000 ではなく、デフォルトで FastCGI プロトコルのポート 8000 を使用します。この問題を回避するには、正しいポートを明示的に指定します。
httpd24 コンポーネント、BZ#1382706
SELinux が有効になっている場合、LD_LIBRARY_PATH 環境変数は、httpd によって呼び出される CGI スクリプトには渡されません。そのため、httpd が実行する CGI スクリプトの /opt/rh/httpd24/service-environment ファイルで有効にした Software Collections から実行ファイルを呼び出すことができない場合があります。この問題を回避するには、CGI スクリプト内から希望どおりに LD_LIBRARY_PATH 設定します。
httpd24 コンポーネント
httpd24 Software Collection からの Apache Portable Runtime (APR) および APR-util ライブラリーに対する外部アプリケーションのコンパイルはサポートされていません。LD_LIBRARY_PATH 環境変数は、この Software Collection のいずれのアプリケーションでも不要であるため、httpd24 に設定されていません。
scl-utils コンポーネント (
Red Hat Enterprise Linux 7.5 以前では、scl-utils パッケージのアーキテクチャー固有のマクロバグにより、<collection>/root/usr/lib64/ ディレクトリーには 64 ビット ARM アーキテクチャーおよび IBM POWER (リトルエンディアン) のパッケージの所有権が正しくありません。したがって、Software Collection がアンインストールされると、このディレクトリーは削除されません。この問題を回避するには、Software Collection を削除する際に <collection>/root/usr/lib64/ を手動で削除します。
maven コンポーネント )
ユーザーが Red Hat Enterprise Linux システムバージョンの maven-local パッケージおよび rh-maven*-maven-local パッケージの両方をインストールすると、Java RPM パッケージを構築するツールである XMvn を Maven Software Collection から実行すると、ベースシステムから設定ファイルを読み取ろうとし、失敗します。この問題を回避するには、ベースの Red Hat Enterprise Linux システムから maven-local パッケージをアンインストールします。
perl コンポーネント
複数の mod_perl.so ライブラリーをインストール することはできません。したがって、複数の Perl Software Collection から mod_perl モジュールを使用することはできません。
httpd, mariadb, mysql, nodejs, perl, php, python, and ruby components, BZ#1072319
httpd24rh-mariadb*rh-mysql*rh-nodejs*rh-perl*rh-php*python27rh-python* または rh-ruby* パッケージをアンインストールする際は、依存パッケージの所有権により、アンインストールの順序には関連性があります。そのため、一部のディレクトリーおよびファイルはシステム上に残される可能性があるため、削除されない可能性があります。
mariadbmysql コンポーネント (BZ#1194611)
MariaDB 10 および MySQL 5.6 以降、rh-mariadb*-mariadb-server および rh-mysql*-mysql-server パッケージでは、デフォルトで test データベースが提供されなくなりました。このデータベースは初期化中には作成されませんが、付与テーブルは、test がデフォルトで作成されたものと同じ値で事前に入力されます。その結果、test または test_* データベースが後で作成されると、これらのデータベースへのアクセス権限は、新規データベースのデフォルトよりも制限されません。
また、ベンチマークを実行している場合、run-all-tests スクリプトは、サンプルパラメーターを使用してもそのままでは機能しません。テストを実行する前にテストデータベースを作成し、--database パラメーターにデータベース名を指定する必要があります。パラメーターが指定されていない場合、test はデフォルトで取得されますが、test データベースが存在することを確認する必要があります。
mariadb, mysql, postgresql コンポーネント
Red Hat Software Collections には、MySQL 8.0MariaDB 10.3MariaDB 10.5PostgreSQL 10PostgreSQL 12 および PostgreSQL 13 のデータベースサーバーが含まれます。コア Red Hat Enterprise Linux 7 は、MariaDB および PostgreSQL データベース (クライアントライブラリーおよびデーモン) の以前のバージョンを提供します。クライアントライブラリーは、動的言語、ライブラリーなどのデータベースコネクターにも使用されます。
PostgreSQL コンポーネントの Red Hat Software Collections データベースパッケージにパッケージ化されたクライアントライブラリーは、サーバーユーティリティーおよびデーモンの目的にのみ含まれているため、使用する予定はありません。代わりに、ユーザーはコアシステムで提供されるシステムライブラリーとデータベースコネクターを使用することが想定されます。
クライアントライブラリーとデーモンの間で使用されるプロトコルは、データベースのバージョンが変わっても安定しているため、たとえば、PostgreSQL 12 または 13 デーモンで PostgreSQL 10 クライアントライブラリーを使用すると、期待どおりに動作します。
mariadb, mysql コンポーネント
MariaDB および MySQL は、ログファイルの作成時に /opt/provider/collection/root 接頭辞を利用しません。ログファイルは、/opt/provider/collection/root/var/log/ ではなく、/var/opt/provider/collection/log/ ディレクトリーに保存されることに注意してください。

1.6. その他の注意事項

rh-ruby*rh-python*rh-php* コンポーネント ( )
読み取り専用 NFS で Software Collections を使用すると、いくつかの制限があります。
  • rh-ruby* Software Collection が読み取り専用 NFS にある間は、Ruby gems をインストールできません。したがって、たとえば、gem install ab コマンドを使用して ab gem をインストールしようとすると、以下のようなエラーメッセージが表示されます。
    ERROR:  While executing gem ... (Errno::EROFS)
        Read-only file system @ dir_s_mkdir - /opt/rh/rh-ruby22/root/usr/local/share/gems
    
    または bundle update または bundle install コマンドを実行して、ユーザーが外部ソースから gem を更新またはインストールしようとすると、同じ問題が発生します。
  • Python Package Index (PyPI) を使用して読み取り専用 NFS に Python パッケージをインストールすると、この pip コマンドが失敗し、以下のようなエラーメッセージが表示されます。
    Read-only file system: '/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/ipython-3.1.0.dist-info'
  • pear コマンドを使用した読み取り専用 NFS への PEAR (PHP Extension and Application Repository) からパッケージのインストールに失敗し、エラーメッセージが表示されます。
    Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user
これは想定される動作です。
httpd コンポーネント
Apache の言語モジュールは、Apache httpd の Red Hat Software Collections バージョンでのみサポートされ、Red Hat Enterprise Linux のシステムバージョン httpd では対応していません。たとえば、rh-python35 コレクションの mod_wsgi モジュールは httpd24 コレクションでのみ使用できます。
すべてのコンポーネント
Red Hat Software Collections 2.0 以降、設定ファイル、変数データ、および各 Collections のランタイムデータは、以前のバージョンの Red Hat Software Collections とは異なるディレクトリーに保存されます。
coreutilsutil-linuxscreen コンポーネント
suloginscreen などの一部のユーティリティーは、すべてのケースで環境設定をエクスポートせず、予期せぬ結果になる可能性があります。そのため、su の代わりにsudo を使用し、/etc/sudoers ファイルに env_keep 環境変数を設定することを推奨します。下の順序でコマンドを実行できます。例を以下に示します。
su -l postgres -c "scl enable rh-postgresql94 psql"
以下の代わりとなります。
scl enable rh-postgresql94 bash
su -l postgres -c psql
screenlogin などのツールを使用する場合は、以下のコマンドを使用して環境設定を保存できます。
source /opt/rh/<collection_name>/enable
python コンポーネント
ユーザーが python27 および rh-python* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_python, %scl_prefix_python) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
PHP コンポーネント )
ユーザーが rh-php* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_php, %scl_prefix_php) が提供するマクロファイルのセットをユーザーが 1 つしかインストールできないため、これは想定される動作です。
ruby コンポーネント
ユーザーが rh-ruby* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_ruby, %scl_prefix_ruby) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
perl コンポーネント
ユーザーが rh-perl* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_perl, %scl_prefix_perl) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
nginx コンポーネント
ユーザーが rh-nginx* Software Collections から複数の scldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_nginx, %scl_prefix_nginx) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
python コンポーネント
Python urllib ライブラリーの Web Cache Poisoning CVE-2021-23336 を緩和するため、urllib.parse.parse_qsl および urllib.parse.parse_qs 関数のデフォルト区切り文字が、アンパサンド (&) とセミコロン (;) の両方が単一のアンパサンドに変更されます。
この変更は、python27 および rh-python38 Software Collections に、RHSA -2021:3252 および RHSA-2021: 3254 アドバイザリーのリリースで実装されています。
デフォルトの区切り文字の変更は後方互換性がない可能性があるため、Red Hat はデフォルトの区切り文字が変更された Python パッケージの動作を設定する手段を提供します。さらに、影響を受ける urllib 解析関数は、お客様のアプリケーションが変更の影響を受けることを検知すると警告を発行します。
詳細は、Mitigation of Web Cache Poisoning in the Python urllib library (CVE-2021-23336)ナレッジ記事を参照してください。
python コンポーネント
RHSA-2021:3254 アドバイザリーのリリースでは、rh-python38 Software Collection で以下の変更が導入されています。
CVE-2021-29921 を緩和するために、Python ipaddress モジュールが、AddressValueError: Leading zeros の先頭のゼロを持つ IPv4 アドレスを拒否するようになりました。
以前の動作に依存するお客様は、IPv4 アドレス入力を事前に処理して、先頭のゼロオフを削除します。以下に例を示します。
>>> def reformat_ip(address): return '.'.join(part.lstrip('0') if part != '0' else part for part in address.split('.'))
>>> reformat_ip('0127.0.0.1')
'127.0.0.1'
読みやすために明示的なループで先頭のゼロを取り除くには、以下を使用します。
def reformat_ip(address):
    parts = []
    for part in address.split('.'):
        if part != "0":
            part = part.lstrip('0')
        parts.append(part)
    return '.'.join(parts)

1.7. 非推奨の機能

httpd24 コンポーネント (BZ#1434053)
以前では、名前ベースの SSL 仮想ホスト選択が必要な SSL/TLS 設定で、Host: ヘッダーで提供されるホスト名が Server Name Indication (SNI) ヘッダーで提供されるホスト名と一致していなければ、mod_ssl モジュールは 400 Bad Request エラーのあるリクエストを拒否していました。選択されたバーチャルホスト間で設定された SSL/TLS セキュリティーパラメーターが同じであれば、アップストリーム mod_ssl の動作に合わせて、そのようなリクエストは拒否されなくなりました。