3.0 リリースノート

Red Hat Software Collections 3

Red Hat Software Collections 3.0 リリースノート

概要

Red Hat Software Collections 3.0 リリースノートは、主な機能と、Red Hat Software Collections 3.0 の既知の問題に関する重要な情報が記載されています。
Red Hat Developer Toolset コレクションは、Red Hat Developer Toolset Release Notes および Red Hat Developer Toolset User Guide に記載されています。

第1章 Red Hat Software Collections 3.0

本章では、Red Hat Software Collections 3.0 コンテンツセットの概要を提供します。コンポーネントのリストとその説明、このバージョンでの変更点のまとめ、関連する互換性情報の文書化、既知の問題のリストを提供します。

1.1. Red Hat Software Collections について

アプリケーションによっては、最新の新機能を使用するために、より新しいバージョンのソフトウェアコンポーネントが必要になることがあります。Red Hat Software Collectionsは、Red Hatが提供する動的プログラミング言語、データベースサーバー、および様々な関連パッケージのセットで、基本的なRed Hat Enterprise Linuxシステムに含まれる同等のバージョンよりも新しいもの、またはこのシステムで初めて利用可能なものです。
Red Hat Software Collections 3.0 は Red Hat Enterprise Linux 7 で利用可能であり、選択された新しいコンポーネントおよび以前にリリースされたコンポーネントは Red Hat Enterprise Linux 6 でも利用可能です。Red Hat Software Collections の一部として配布されているコンポーネントの完全なリストとその機能の簡単な概要については、「主な特長」 を参照してください。
Red Hat Software Collections では、Red Hat Enterprise Linux 6 または Red Hat Enterprise Linux 7 で提供されるデフォルトのシステムツールは置き換えられません。その代わりに、並列のツールセットが /opt/ ディレクトリーにインストールされ、提供された scl ユーティリティーを使用してユーザーがアプリケーションごとにオプションで有効にできます。たとえば、Perl または PostgreSQL のデフォルトのバージョンは、ベース Red Hat Enterprise Linux システムが提供するバージョンのままになります。
すべての 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 Release NotesおよびRed Hat Developer Toolset User Guideを参照してください。

1.2. 主な特長

Red Hat Software Collections 3.0 は表1.1「Red Hat Software Collections 3.0 Components」 に記載されているツールの最近の安定バージョンを提供します。

表1.1 Red Hat Software Collections 3.0 Components

コンポーネント Software Collection 説明
Red Hat Developer Toolset 7.0 devtoolset-7 Red Hat Developer Toolset は、Red Hat Enterprise Linux プラットフォームで作業する開発者向けに設計されています。GNU Compiler CollectionGNU Debugger、その他の開発用ツールやデバッグ用ツール、およびパフォーマンス監視ツールの現行バージョンを提供します。コンポーネントの完全なリストは、『Red Hat Developer Toolset User Guide』 の中の表、Red Hat Developer Toolset Components を参照してください。
Eclipse 4.6.3[a] rh-eclipse46 Eclipse FoundationのNeonリリーストレインをベースにした統合開発環境Eclipseのリリースです。Eclipseは以前、Red Hat Developer Toolset のコンポーネントとして提供されていました。Software Collection は、rh-java-common のコンポーネントに依存しています。
Perl 5.20.1 rh-perl520 Perl のリリース。これは、システム管理ユーティリティーと Web プログラミングに一般的に使用される高レベルのプログラミング言語です。rh-perl520Software Collection は、追加のユーティリティー、スクリプト、そしてMySQL および PostgreSQL のデータベースコネクターを提供します。また、DateTimePerlモジュールと、httpd24 Software Collectionでのみサポートされているmod_perlApache httpdモジュールも含まれています。
Perl 5.24.0 rh-perl524 Perl のリリース。これは、システム管理ユーティリティーと Web プログラミングに一般的に使用される高レベルのプログラミング言語です。rh-perl524Software Collection は、追加のユーティリティー、スクリプト、そしてMySQL および PostgreSQL のデータベースコネクターを提供します。これには、httpd24 Software Collection でのみサポートされる Perl モジュール DateTime と Apache httpd モジュール mod_perl が含まれます。さらに、CPAN モジュールを簡単にインストールするための cpanm ユーティリティーが提供されます。
PHP 5.6.25 rh-php56 PEAR 1.9.5を搭載したPHPのリリースで、定数式、可変長関数、引数の展開、対話型デバッガなどの言語機能が強化されています。また、memcachemongoXDebugの各拡張機能も含まれています。
PHP 7.0.10 rh-php70 PEAR 1.10を搭載したPHP 7.0のリリースで、言語機能の強化とパフォーマンスの向上が図られています。
PHP 7.1.8 [a] rh-php71 PEAR 1.10、APCu 5.1.8および強化された言語機能を備えた PHP 7.1 のリリース。
Python 2.7.13 python27 多くの追加ユーティリティを備えた Python 2.7 のリリース。この Python バージョンでは、順序付けされたディクショナリータイプ、高速な I/O 操作、Python 3 との前方互換性など、さまざまな機能および機能拡張が提供されます。python27 Software Collections には Python 2.7.13 インタープリター が含まれています。これは、Web アプリケーションおよび mod_wsgi (httpd24 Software Collection でのみサポート)、MySQL データベースコネクターおよび PostgreSQL データベースコネクター、ならびに numpy および scipy のプログラミングに役立つ拡張ライブラリーセットです。
Python 3.4.2 rh-python34 多くの追加ユーティリティを備えた Python 3 のリリース。Software Collection は、Red Hat Enterprise Linux の開発者に Python 3 へのアクセスを提供し、開発者はこのバージョンの様々な利点や新機能の恩恵を受けることができます。rh-python34 Software Collectionには、Python 3.4.2インタプリタ、Webアプリケーションのプログラミングに便利な拡張ライブラリ群、mod_wsgihttpd24 Software Collectionでのみサポート)、PostgreSQLデータベースコネクタ、numpyおよびscipyが含まれています。
Python 3.5.1 rh-python35 rh-python35 Software Collectionには、Python 3.5.1 インタプリタ、Webアプリケーションのプログラミングに便利な拡張ライブラリ群、mod_wsgihttpd24 Software Collection でのみサポート)、PostgreSQL データベースコネクタ、numpyおよびscipyが含まれています。
Python 3.6.3 rh-python36 rh-python36 Software Collection には Python 3.6.3 が含まれ、f-strings、変数アノテーションの構文、非同期ジェネレーターおよび内包表記 など多くの新機能が導入されています。さらに、Webアプリケーションのプログラミングに便利な拡張ライブラリのセットが含まれており、mod_wsgihttpd24 Software Collection との併用のみ対応)、PostgreSQL データベースコネクタ、numpyscipyが含まれています。
Ruby 2.2.2 rh-ruby22 Ruby 2.2 のリリースです。このバージョンでは、Ruby 2.0.0 や Ruby 1.9.3 とのソースレベルでの後方互換性を維持しつつ、インクリメンタルガベージコレクションやシンボルガベージコレクションなど、パフォーマンスや信頼性の大幅な向上が図られています。
Ruby 2.3.1 rh-ruby23 Ruby 2.3 のリリースです。このバージョンでは、Ruby 2.2.2、Ruby 2.0.0、Ruby 1.9.3 とのソースレベルでの後方互換性を維持しつつ、ソースファイル内のすべての文字列リテラルをフリーズするコマンドラインオプション、安全なナビゲーション演算子、および複数のパフォーマンス拡張機能が導入されています。
Ruby 2.4.0 rh-ruby24 Ruby 2.4 のリリースです。このバージョンでは、ハッシュテーブルの改良、新しいデバッグ機能、Unicode の大文字小文字のマッピングのサポート、OpenSSL 1.1.0 のサポートなど、複数のパフォーマンスの改善と強化が行われています。Ruby 2.4.0 は、Ruby 2.3.1、Ruby 2.2.2、Ruby 2.0.0、Ruby 1.9.3 とのソースレベルでの後方互換性を維持しています。
Ruby on Rails 4.1.5 rh-ror41 Ruby 言語で書かれたWebアプリケーション開発フレームワークであるRuby on Rails 4.1 のリリース。このバージョンでは、Springアプリケーションのプリローダー、config/secrets.yml、Action Packのバリアント、Action Mailerのプレビューなど、多くの新機能が追加されています。Software Collection は、rh-ruby22 コレクションとともにサポートされます。
Ruby on Rails 4.2.6 rh-ror42 Ruby言語で書かれたWebアプリケーションフレームワークであるRuby on Rails 4.2 のリリース。今回のリリースでは、Active Job、非同期メール、Adequate Record、Web Console、外国語キーのサポートなどの機能が追加されています。Software Collection は、rh-ruby23 およびrh-nodejs4 コレクションとともにサポートされます。
Ruby on Rails 5.0.1 rh-ror50 Ruby言語で書かれたWebアプリケーションフレームワークの最新版であるRuby on Rails 5.0 をリリースしました。注目すべき新機能としては、Action Cable、APIモード、Rakeではなくrails CLIの独占使用、ActionRecordの属性などがあります。Software Collection は、rh-ruby24 およびrh-nodejs6コレクションとともにサポートされます。
Scala 2.10.6 [a] rh-scala210 オブジェクト指向言語と関数型言語の機能を統合した、Javaプラットフォーム用の汎用プログラミング言語Scalaをリリースしました。
MariaDB 10.0.28 rh-mariadb100 Red Hat Enterprise Linuxのユーザー向けに、MySQLの代替となるMariaDBをリリースしました。あらゆる実用的な目的で、MySQL は MariaDB とバイナリー互換性があり、データ変換なしで MySQL と置き換えることができます。このバージョンでは、MariaDBにPAM 認証プラグインが追加されています。
MariaDB 10.1.19 rh-mariadb101 Red Hat Enterprise Linux ユーザー向けの MySQL の代替となる MariaDB のリリース。あらゆる実用的な目的で、MySQL は MariaDB とバイナリー互換性があり、データ変換なしで MySQL と置き換えることができます。このバージョンでは、Galera Clusterのサポートが追加されています。
MariaDB 10.2.8 rh-mariadb102 Red Hat Enterprise Linux ユーザー向けの MySQL の代替となる MariaDB のリリース。あらゆる実用的な目的で、MySQL は MariaDB とバイナリー互換性があり、データ変換なしで MySQL と置き換えることができます。このバージョンでは、MariaDBバックアップ、フラッシュバック、再帰的共通テーブル式のサポート、ウィンドウ関数、JSON関数 が追加されています。
MongoDB 2.6.9 rh-mongodb26 NoSQLデータベースに分類されるクロスプラットフォームのドキュメント指向データベースシステムであるMongoDBのリリースです。Software Collection には、mongo-java-driver パッケージバージョン 2.14.1 が含まれています。
MongoDB 3.2.10 rh-mongodb32 NoSQLデータベースに分類されるクロスプラットフォームのドキュメント指向データベースシステムであるMongoDBのリリースです。Software Collection には、mongo-java-driver パッケージバージョン 3.2.1 が含まれています。
MongoDB 3.4.9 rh-mongodb34 MongoDB のリリース。これは、NoSQL データベースとして分類されるクロスプラットフォームのドキュメント指向のデータベースシステムです。本リリースでは、新しいアーキテクチャーのサポートが導入され、メッセージ圧縮と decimal128 タイプのサポート、照合機能の向上 などが追加されます。
MongoDB 3.0.11 アップグレードコレクション rh-mongodb30upg 既存のMongoDBデータベースをお持ちのお客様に、MongoDB 2.6 からMongoDB 3.2 へのアップグレードパスを提供するため、MongoDB 3.0 の限定バージョンをご用意しました。
MySQL 5.6.37 rh-mysql56 パフォーマンスの向上を含む多くの新機能と機能強化を提供する、MySQL のリリース。
MySQL 5.7.19 rh-mysql57 パフォーマンスの向上を含む多くの新機能と機能強化を提供する、MySQL のリリース。
PostgreSQL 9.4.14 rh-postgresql94 PostgreSQLのリリースで、JSONをより効率的に保存するための新しいデータ型と、設定ファイルを変更するための新しいSQLコマンドを提供し、いくつかのコマンドのロック強度を下げ、同時読み取りをブロックすることなくマテリアライズドビューを可能にし、カスタマイズ可能な形式でストリームの変更を可能にするWALデータの論理的デコードをサポートし、バックグラウンドワーカープロセスの動的な登録、開始、終了を可能にしました。
PostgreSQL 9.5.9 rh-postgresql95 PostgreSQLのリリースで、行レベルのセキュリティ制御を含む多くの機能強化が行われ、レプリケーションの進捗状況の追跡が導入され、カラム数の多い大規模テーブルの扱いが改善され、ソートマシンやマルチCPUマシンのパフォーマンスが向上しました。
PostgreSQL 9.6.5 rh-postgresql96 PostgreSQL のリリース。順次スキャン、結合、および集計の並列実行が導入され、同期レプリケーション、全文検索、ディレーションドライバー、postgres_fdw の機能が強化され、パフォーマンスが改善されています。
Node.js 4.6.2 rh-nodejs4 ChromeのV8 JavaScriptエンジンで構築されたJavaScriptランタイムを提供するNode.jsと、JavaScript用パッケージマネージャーnpm 2.15.1 のリリースです。このバージョンでは、APIの強化、複数のセキュリティおよびバグの修正、SPDYプロトコルのバージョン3.1 のサポートがされています。
Node.js 6.11.3 rh-nodejs6 複数のAPIの強化、パフォーマンスとセキュリティの改善、ECMAScript 2015 のサポート を提供するNode.jsのリリースです。
Node.js 8.6.0 [a] rh-nodejs8 V8エンジンバージョン6.0、npm 5.3.0、npx、セキュリティの強化、実験的なN-APIのサポート、パフォーマンスの向上など、複数のAPIの強化と新機能を提供するNode.jsのリリースです。
nginx 1.8.1 rh-nginx18 nginxは、高い同時性、パフォーマンス、低いメモリ使用量に重点を置いたウェブおよびプロキシサーバーです。このバージョンでは、バックエンドのSSL証明書の検証、syslogへのロギング、I/Oリクエストをオフロードするためのスレッドプールのサポート、またはハッシュロードバランシング方式など、多くの新機能が導入されています。
nginx 1.10.2 rh-nginx110 nginxは、高い同時性、パフォーマンス、低いメモリ使用量に重点を置いたウェブおよびプロキシサーバーです。このバージョンでは、ダイナミックモジュールのサポート、HTTP/2 のサポート、Perlの統合、多数のパフォーマンスの向上など、多くの新機能が導入されています。
nginx 1.12.1[a] rh-nginx112 nginxは、高い同時性、パフォーマンス、低いメモリ使用量に重点を置いたウェブおよびプロキシサーバーです。このバージョンでは、IPトランスペアレンシー、TCP/UDPロードバランシングの改善、キャッシングパフォーマンスの向上など、数多くの新機能が導入されています。
Apache httpd 2.4.27 httpd24 Apache HTTP Server (httpd) のリリース。これには、高パフォーマンスの イベントベースの処理モデル、強化された SSL モジュール、および FastCGI サポート が含まれます。また、mod_auth_kerbモジュールも含まれています。
Varnish Cache 4.0.3 rh-varnish4 高性能なHTTPリバースプロキシであるVarnish Cacheのリリースです。Varnish Cacheは、ファイルやファイルの断片をメモリ上に保存し、将来の同等のリクエストに対する応答時間やネットワーク帯域幅の消費を削減するために使用されます。
Maven 3.3.9 rh-maven33 主にJavaプロジェクトで使用されるソフトウェアのプロジェクトの管理および状況把握ツールであるMavenのリリースです。このバージョンでは、コア拡張メカニズムの改善など、さまざまな機能強化が行われています。
Maven 3.5.0 [a] rh-maven35 Maven のリリース (ソフトウェアプロジェクト管理および内包表記ツール)。このリリースでは、新しいアーキテクチャのサポートと、カラー化されたログを含む多くの新機能が導入されています。
Passenger 4.0.50 rh-passenger40 高速で堅牢、かつ軽量に設計されたWebおよびアプリケーションサーバー、Phusion Passengerのリリースです。ruby193ruby200 または rh-ruby22Software Collections を使用するRubyと、ror40 または rh-ror41Collections を使用するRuby on Railsをサポートしています。また、nginx16 Software Collectionのnginx 1.6や、httpd24 Software CollectionのApache httpdでも使用することができます。
Git 2.9.3 rh-git29 分散アーキテクチャーを備えた分散リビジョン管理システム である Git のリリース。クライアントサーバーモデルを使用する集中型バージョン管理システムとは対照的に、Git は Git リポジトリーの各作業コピーが完全なリビジョン履歴で正確なコピーになるようにします。
Redis 3.2.4 rh-redis32永続的なキーバリューデータベースであるRedis 3.2 のリリースです。
Common Java Packages 1.1 rh-java-common Software Collection は、他のコレクションで使用されている共通のJavaライブラリとツールを提供します。rh-java-common Software Collectionは、devtoolset-4devtoolset-3rh-maven33maven30rh-mongodb32rh-mongodb26thermostat1rh-thermostat16rh-eclipse46 コンポーネントで必要とされるものであり、ユーザーが直接インストールすることは想定されていません。
V8 3.14.5.10 v8314 Software Collection は、V8 JavaScriptエンジンを提供し、mongodb24rh-mongodb26rh-mongodb30upgruby193ror40rh-ror41 Software Collection の依存関係としてのみサポートされています。
[a] この Software Collection は、Red Hat Enterprise Linux 7 でのみ利用できます。
これまでリリースされた Software Collections は同じディストリビューションチャンネルで引き続き利用できます。現在利用可能なすべてのSoftware Collection は、表1.2「利用可能なすべての Software Collections」 に掲載されています。
個々のコンポーネントのサポート期間の詳細は、Red Hat Software Collections Product Life Cycle を参照してください。以前にリリースされたコンポーネントの詳細は、Red Hat Software Collections の以前のバージョンの Release Notesを参照してください。

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

コンポーネント Software Collection 可用性 RHEL7 でサポートされるアーキテクチャー
Red Hat Software Collections 3.0 の新コンポーネント
Red Hat Developer Toolset 7.0devtoolset-7RHEL6、RHEL7x86_64、s390x、aarch64、ppc64、ppc64le
PHP 7.1.8rh-php71RHEL7x86_64、s390x、aarch64、ppc64le
nginx 1.12.1rh-nginx112RHEL7x86_64、s390x、aarch64、ppc64le
Python 3.6.3rh-python36RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
Maven 3.5.0rh-maven35RHEL7x86_64、s390x、aarch64、ppc64le
MariaDB 10.2.8rh-mariadb102RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
PostgreSQL 9.6.5rh-postgresql96RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
MongoDB 3.4.9rh-mongodb34RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
Node.js 8.6.0rh-nodejs8RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 3.0 で更新されたコンポーネント
Apache httpd 2.4.27httpd24RHEL6、RHEL7x86_64、s390x、aarch64、ppc64le
Red Hat Software Collections 2.4 で最後に更新されたコンポーネント
Red Hat Developer Toolset 6.1devtoolset-6RHEL6、RHEL7x86_64、s390x、aarch64、ppc64、ppc64le
Scala 2.10.6rh-scala210RHEL7x86_64
nginx 1.10.2rh-nginx110RHEL6、RHEL7x86_64
Node.js 6.11.3rh-nodejs6RHEL6、RHEL7x86_64
Ruby 2.4.0rh-ruby24RHEL6、RHEL7x86_64
Ruby on Rails 5.0.1rh-ror50RHEL6、RHEL7x86_64
Eclipse 4.6.3rh-eclipse46RHEL7x86_64
Python 2.7.13python27RHEL6、RHEL7x86_64
Thermostat 1.6.6rh-thermostat16*RHEL6、RHEL7x86_64
Maven 3.3.9rh-maven33RHEL6、RHEL7x86_64
Common Java Packages 1.1rh-java-common RHEL6、RHEL7x86_64
Red Hat Software Collections 2.3 で最後に更新されたコンポーネント
Git 2.9.3rh-git29RHEL6、RHEL7x86_64
Redis 3.2.4rh-redis32RHEL6、RHEL7x86_64
Perl 5.24.0rh-perl524RHEL6、RHEL7x86_64
PHP 7.0.10rh-php70RHEL6、RHEL7x86_64
MySQL 5.7.19rh-mysql57RHEL6、RHEL7x86_64
Python 3.5.1rh-python35RHEL6、RHEL7x86_64
MongoDB 3.2.10rh-mongodb32RHEL6、RHEL7x86_64
Ruby 2.3.1rh-ruby23RHEL6、RHEL7x86_64
PHP 5.6.25rh-php56RHEL6、RHEL7x86_64
Red Hat Software Collections 2.2 で最後に更新されたコンポーネント
Red Hat Developer Toolset 4.1devtoolset-4RHEL6、RHEL7x86_64
MariaDB 10.1.19 rh-mariadb101RHEL6、RHEL7x86_64
MongoDB 3.0.11 アップグレードコレクションrh-mongodb30upgRHEL6、RHEL7x86_64
Node.js 4.6.2 rh-nodejs4RHEL6、RHEL7x86_64
PostgreSQL 9.5.9rh-postgresql95RHEL6、RHEL7x86_64
Ruby on Rails 4.2.6rh-ror42RHEL6、RHEL7x86_64
MongoDB 2.6.9rh-mongodb26RHEL6、RHEL7x86_64
Thermostat 1.4.4thermostat1*RHEL6、RHEL7x86_64
Red Hat Software Collections 2.1 で最後に更新されたコンポーネント
Varnish Cache 4.0.3rh-varnish4RHEL6、RHEL7x86_64
nginx 1.8.1rh-nginx18RHEL6、RHEL7x86_64
Node.js 0.10nodejs010*RHEL6、RHEL7x86_64
Maven 3.0.5maven30*RHEL6、RHEL7x86_64
V8 3.14.5.10v8314RHEL6、RHEL7x86_64
Red Hat Software Collections 2.0 で最後に更新されたコンポーネント
Red Hat Developer Toolset 3.1devtoolset-3*RHEL6、RHEL7x86_64
Perl 5.20.1rh-perl520RHEL6、RHEL7x86_64
Python 3.4.2rh-python34RHEL6、RHEL7x86_64
Ruby 2.2.2rh-ruby22RHEL6、RHEL7x86_64
Ruby on Rails 4.1.5rh-ror41RHEL6、RHEL7x86_64
MariaDB 10.0.28 rh-mariadb100RHEL6、RHEL7x86_64
MySQL 5.6.37rh-mysql56RHEL6、RHEL7x86_64
PostgreSQL 9.4.14rh-postgresql94RHEL6、RHEL7x86_64
Passenger 4.0.50rh-passenger40RHEL6、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: AMD64 と Intel 64 アーキテクチャ
s390x: IBM z Systems
aarch64: 64ビットARMアーキテクチャ
ppc64: IBM POWER、ビッグエンディアン
ppc64le: IBM POWER、リトルエンディアン
* リタイアしたコンポーネント: このSoftware Collection のサポートは終了しました。
上の表は、非同期アップデートで入手できる最新バージョンの一覧です。
Red Hat Software Collections 2.0 以降でリリースされた Software Collections には、その名前に rh- 接頭辞が含まれていることに注意してください。

1.3. Red Hat Software Collections 3.0 での変更点

1.3.1. 概要

アーキテクチャー

Red Hat Software Collections には、AMD64 および Intel 64 アーキテクチャ上で動作する Red Hat Enterprise Linux 7 用のパッケージが含まれていますが、一部の Software Collections は Red Hat Enterprise Linux 6 でもご利用いただけます。
さらに、Red Hat Software Collections 3.0 は Red Hat Enterprise Linux 7 上で以下のアーキテクチャのサポートを導入しました。
  • 64 ビット ARM アーキテクチャー
  • IBM z Systems
  • IBM POWER、リトルエンディアン

新しい Software Collections

Red Hat Software Collections 3.0 では、以下の新しいSoftware Collection が追加されました。

Software Collections の更新

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

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

以下のコンテナイメージは Red Hat Software Collections 3.0 で新しく加わりました。
  • rhscl/devtoolset-7-toolchain-rhel7
  • rhscl/devtoolset-7-perftools-rhel7
  • rhscl/mariadb-102-rhel7
  • rhscl/mongodb-34-rhel7
  • rhscl/nginx-112-rhel7
  • rhscl/nodejs-8-rhel7
  • rhscl/php-71-rhel7
  • rhscl/postgresql-96-rhel7
  • rhscl/python-36-rhel7
以下のコンテナイメージは Red Hat Software Collections 3.0 で更新されています。
  • rhscl/httpd-24-rhel7
Red Hat Software Collections のコンテナイメージに関する詳細は、「Red Hat Software Collections コンテナーイメージ」 を参照してください。

1.3.2. 一般的な変更点

/usr/bin/scl enableコマンドが、スクリプトの#! (shebang) 行で使用できるようになりました。これにより、インタプリタ付きのスクリプトに、Software Collections社のPythonPHPPerlNode.jsインタプリタを使用できるようになります。これまでは、解釈されたスクリプトは間接的に、またはscl環境内からしか実行できませんでした。

1.3.3. Red Hat Developer Toolset の変更点

Red Hat Developer Toolset 7.0 では、以下のコンポーネントが Red Hat Developer Toolset の旧リリースと比較してアップグレードされています。
  • GCCのバージョンを7.2.1 に変更
  • binutilsのバージョンを2.28 に変更
  • elfutilsをバージョン0.170 に更新
  • makeをバージョン4.2.1 に更新
  • GDBをバージョン8.0.1 に更新
  • straceのバージョンを4.17 に更新
  • SystemTapをバージョン3.1 に更新
  • Valgrindをバージョン3.13.0 に更新
  • OProfileをバージョン1.2.0 に更新
  • Dyninstをバージョン9.3.2 に更新
7.0 での変更点の詳細については、Red Hat Developer Toolset User Guide を参照してください。

1.3.4. MariaDB の変更点

新しいrh-mariadb102 Software Collectionでは、MariaDB 10.2.8 を提供しています。このバージョンでの最も重要な変更点は以下の通りです。
さらなる変更点や改善点については、アップストリームドキュメントを参照してください。
また、この Software Collection には rh-mariadb102-syspaths パッケージが含まれており、バイナリー、スクリプト、man ページなどのシステム全体のラッパーを提供するパッケージがインストールされます。rh-mariadb102*-syspaths パッケージをインストールした後、rh-mariadb102* パッケージで提供されるバイナリやスクリプトが正しく機能するために、ユーザーがscl enableコマンドを使用する必要はありません。*-syspaths パッケージは、ベースの Red Hat Enterprise Linux システムと対応するパッケージと競合することに注意してください。
移行手順については、「MariaDB 10.2 への移行」 を参照してください。

1.3.5. Mavenの変更点

新しいrh-maven35 Software Collectionには、Maven 3.5.0が含まれており、前バージョンと比較して多くのバグフィックスと機能強化が施されています。特筆すべきは、コンソールでのカラーロギングがサポートされ、出力の視認性が向上したことです。rh-maven35 Software Collection は Red Hat Enterprise Linux 7 でのみ利用可能です。
Maven 3.5.0 の詳細な変更点については、upstream release notesを参照してください。

1.3.6. MongoDBの変更点

新しいrh-mongodb34 Software Collectionには、MongoDB 3.4.9 が含まれており、前バージョンと比較して多くのバグフィックスと機能強化が施されています。最も注目すべき変更点は
  • MongoDBZones は、データの地理的な位置関係を維持したり、階層化されたストレージを実装したり、データセンター間で継続的なサービスの可用性を確保したりします。
  • ノード間でのデータの自動バランス調整の高速化、レプリカセットの同期の高速化、クラスター内ネットワークの圧縮などを実現する弾性スケーラビリティーがあります。
  • 調整可能な一貫性制御、セカンダリ一貫性制御による分散クラスタでのクエリのルーティング方法の改善、線形化可能な読み取りの設定機能を提供します。
また、以下のサブパッケージも更新されました。
  • mongo-cxx-driver をバージョン3.1.2 に変更しました。
  • mongo-tools をバージョン3.4.7 に変更しました。
  • mongo-java-driver をバージョン3.5.0 に変更しました。
MongoDB 3.4 の詳細な変更点については、upstream release notesを参照してください。
なお、rh-mongodb34-mongo-java-driver パッケージは Red Hat Enterprise Linux 7 でのみ利用可能です。Red Hat Enterprise Linux 6 では、非同期リリースで更新されたrh-mongodb32 Software Collection の更新されたmongo-java-driver パッケージを代わりに使用してください。
rh-mongodb34Software Collectionは、ランタイムに rh-java-commonCollectionを必要としません。
また、この Software Collection には rh-mongodb34-syspaths パッケージが含まれており、バイナリー、スクリプト、man ページなどのシステム全体のラッパーを提供するパッケージがインストールされます。rh-mongodb34*-syspaths パッケージをインストールした後、rh-mongodb34* パッケージで提供されるバイナリやスクリプトが正しく機能するために、ユーザーがscl enableコマンドを使用する必要はありません。
注記
rh-mongodb34-mongo-cxx-driver パッケージは、Red Hat Developer Toolset 6 のGCCを使用して-std=gnu++14 オプションでビルドされています。C++11 (以降) の機能を使用する MongoDB C++ ドライバーの共有ライブラリーを使用するバイナリーは、Red Hat Developer Toolset 6 でもビルドする必要があります。Red Hat Developer Toolset 6 User GuideのC++ compatibilityを参照してください。
移行に関する説明は、「MongoDB 3.4 への移行」 を参照してください。

1.3.7. nginx の変更点

新しいrh-nginx112 Software Collection では、nginx 1.12.1 が提供されており、以下のような新機能が導入されています。
  • IPトランスペアレンシー
  • 変数のサポート
  • HTTP/2 の改良点
  • TCP/UDPのロードバランシングの改善
  • キャッシング性能の向上
  • 異なるタイプの複数のSSL証明書をサポート
  • ストリームモジュールの強化
  • ダイナミックモジュールへの対応強化
  • 数々のパフォーマンスの向上
nginx 1.12 での変更点については、upstream release notesを参照してください。
rh-nginx112 Software Collectionは、Red Hat Enterprise Linux 7.4 以降のバージョンでのみ利用可能です。
なお、rh-nginx112 Software Collectionは、Phusion Passengerとの統合をサポートしていません。Passengerサポート付きのnginxを必要とするユーザーは、nginxバージョン1.8 を提供しているrh-nginx18 Software Collectionを引き続きご利用ください。
rh-nginx112 Software Collectionでは、rh-perl524 Software Collectionと連携してPerlをオプションでサポートしています。SSI スクリプトから Perl ハンドラを設定したり、Perl 関数を呼び出したりできるようにするには、rh-nginx112-nginx-mod-http-perl パッケージをインストールします。詳しくは、upstream documentationをご覧ください。
移行手順は、「nginx 1.12への移行について」 を参照してください。

1.3.8. Node.js の変更点

新しいrh-nodejs8 Software Collectionには、Node.js 8.6.0npm 5.3.0npxが含まれています。このバージョンでは、多数の新機能、セキュリティおよびバグの修正が行われています。特筆すべき点は以下の通りです。
  • 新しいasync_hooksモジュール
  • V8 エンジンバージョン6.0
  • N-APIの実験サポート
  • HTTP/2 への対応
  • パフォーマンスの向上
また、Node.js 8.6.0 では、いくつかのモジュールやコマンドライン引数が非推奨となっています。詳細な変更点については、upstream release notesおよびupstream documentationを参照してください。
rh-nodejs8 Software Collectionは、Red Hat Enterprise Linux 7.4 以降のバージョンでのみ利用可能です。
rh-nodejs6 Software Collectionは、非同期アップデートにより、セキュリティとバグフィックスを施したバージョン6.11.3 にアップグレードされました。Node.js 6.11.3 の詳細については、アップストリームのrelease notesを参照してください。

1.3.9. PHP の変更点

新しいrh-php71 Software Collectionには、PHP 7.1.8PEAR 1.10.4APCu拡張機能バージョン5.1.8 が含まれています。rh-php71 Software Collection は Red Hat Enterprise Linux 7 でのみ利用可能です。
rh-php71 で提供されるバグフィックスや機能強化の詳細については、upstream change logをご覧ください。PHP 7.0 からPHP 7.1 への移行に関する情報は、upstream migration guideを参照してください。

1.3.10. PostgreSQL の変更点

新しいrh-postgresql96 Software Collectionでは、PostgreSQL 9.6.5 を提供しています。今回のリリースでの注目すべき変更点は以下の通りです。
  • シーケンシャルスキャン、ジョイン、アグリゲートの並列実行
  • 同期レプリケーションの機能強化
  • フレーズを検索できるように、フルテキスト検索が改善
  • postgres_fdwデータフェデレーションドライバが、リモートでの結合、ソート、UPDATE、DELETEをサポートするようになりました。
  • (特に、マルチ CPU ソケットサーバーのスケーラビリティーに関する) 重要なパフォーマンスの向上
詳細な変更点については、upstream documetationを参照してください。
また、この Software Collection には rh-postgresql96-syspaths パッケージが含まれており、バイナリー、スクリプト、man ページなどのシステム全体のラッパーを提供するパッケージがインストールされます。rh-postgreqsl96*-syspaths パッケージをインストールした後、rh-postgreqsl96* パッケージで提供されるバイナリやスクリプトが正しく機能するために、ユーザーがscl enableコマンドを使用する必要はありません。*-syspaths パッケージは、ベースの Red Hat Enterprise Linux システムと対応するパッケージと競合することに注意してください。
移行の情報は、「PostgreSQL 9.6 への移行」 を参照してください。

1.3.11. Python の変更点

新しいrh-python36 Software Collectionには、Python 3.6.3 が含まれており、例えば、いくつかの新機能が導入されています。
さらなる機能強化や変更点については、upstream documentation を参照してください。
また、rh-python36 Software Collectionでは、Pythonのライブラリやツールを提供しています。代表的なものとしては、以下のようなバージョンがあります。
  • pip 9.0.1
  • scipy 0.19.1
  • numpy 1.13.1
  • mod_wsgi 4.5.18 (httpd24 Software Collectionとの併用のみサポートされます)
  • PyMySQL 0.7.11

1.3.12. Apache httpd の変更点

httpd24 Software Collectionがアップストリームバージョン2.4.27 にアップグレードされ、HTTP/2 サポートの複数の改善を含む、前バージョンからの多数のバグフィックスと機能強化が行われました。
httpd 2.4.27 では、mod_http2 モジュールがデフォルトのpreforkMulti-Processing Module (MPM)に対応していないことに注意してください。HTTP/2 サポートを有効にするには、/opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-mpm.conf で設定ファイルを編集し、event または worker MPM に切り替えます。
httpd 2.4.27 の変更点の詳細については、upstream release notesを参照してください。

1.4. 互換性情報

Red Hat Software Collections 3.0 は、AMD64 および Intel 64 アーキテクチャ、64 ビット ARM アーキテクチャ、IBM z Systems、および IBM POWER、リトルエンディアン上の Red Hat Enterprise Linux 7 のサポートされるすべてのリリースで利用できます。
また、特定のコンポーネントが、AMD64 および Intel 64 アーキテクチャー上の Red Hat Enterprise Linux 6 の全サポートリリースに向けて提供されています。
利用可能なコンポーネントの一覧は、表1.2「利用可能なすべての Software Collections」 を参照してください。

1.5. 既知の問題

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 のサーバープッシュ機能は、64ビットのARMアーキテクチャ、IBM z Systems、IBM POWERのリトルエンディアンでは動作しません。
httpd24 コンポーネント、BZ#1327548
mod_ssl モジュールは、Red Hat Enterprise Linux 6 または Red Hat Enterprise Linux 7.3 以前で ALPN プロトコルに対応していません。そのため、ALPN を使用した TLS 接続の HTTP/2 へのアップグレードをサポートするクライアントは、HTTP/1.1 のサポートに制限されます。
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 に設定されていません。
rh-python34rh-python35rh-python36 コンポーネント、BZ#1499990
Babelがタイムゾーンのサポートに使用しているpytzモジュールは、rh-python34rh-python35rh-python36 Software Collectionsには含まれていません。その結果、ユーザーがBabelからdatesモジュールをインポートしようとすると、トレースバックが返されます。この問題を回避するには、pip install pytzコマンドを使用して、pypi公開リポジトリからpipパッケージマネージャを介してpytzをインストールします。
rh-python36 コンポーネント ( )
64 ビットの ARM アーキテクチャ、IBM z Systems、および IBM POWER のリトルエンディアンで、numpyが提供する特定の複雑な三角関数が正しくない値を返すことがありました。AMD64 および Intel 64 のアーキテクチャーは、この問題の影響を受けません。
python27 コンポーネント、BZ#1330489
python27-python-pymongo パッケージがバージョン 3.2.1 に更新されました。このバージョンは、これまでに同梱されているバージョン 2.5.2 と完全に互換性がないことに注意してください。詳細はhttps://api.mongodb.org/python/current/changelog.htmlを参照してください。
python27 コンポーネント
Red Hat Enterprise Linux 7 では、ユーザーがpython27-python-debuginfo パッケージをインストールしようとすると、/usr/src/debug/Python-2.7.5/Modules/socketmodule.cファイルが、コアシステムにインストールされているpython-debuginfo パッケージの対応するファイルと衝突します。その結果、python27-python-debuginfo のインストールに失敗します。この問題を回避するには、python-debuginfo パッケージをアンインストールしてから、python27-python-debuginfo パッケージをインストールしてください。
scl-utils コンポーネント
scl-utils パッケージのアーキテクチャ固有のマクロのバグにより、64 ビット ARM アーキテクチャおよび IBM POWER のリトルエンディアンでは、<collection>/root/usr/lib64/ディレクトリに正しいパッケージの所有権がありません。したがって、Software Collection がアンインストールされると、このディレクトリーは削除されません。この問題を回避するには、Software Collection を削除する際に <collection>/root/usr/lib64/ を手動で削除します。
rh-ruby24rh-ruby23 コンポーネント
RubyGemのインストールパスは、複数のSoftware Collection が有効になっている順番に応じて決定されます。依存するコレクションをサポートするために、Red Hat Software Collections 2.3 で出荷されたRuby 2.3.1 から必要な順序が変更されました。その結果、RPMビルド時にgemのインストールに使用されるRubyGemのパスは、Software Collection が誤った順序で提供されている場合には無効になります。例えば、RPMのスペックファイルにscl enable rh-ror50 rh-nodejs6 が含まれている場合、ビルドに失敗するようになりました。この問題を回避するには、rh-ror50 Software Collection を最後に有効にします。例えば、scl enable rh-nodejs6 rh-ror50 のようにします。
rh-maven35rh-maven33 コンポーネント
ユーザーが Red Hat Enterprise Linux システムバージョンのmaven-local パッケージとrh-maven35-maven-local package またはrh-maven33-maven-local package の両方をインストールしている場合、rh-maven35 またはrh-maven33 Software Collection から実行される Java RPM パッケージの構築に使用されるツールXMvn がベースシステムから構成ファイルを読み取ろうとして失敗します。この問題を回避するには、ベースの Red Hat Enterprise Linux システムから maven-local パッケージをアンインストールします。
rh-nodejs4 コンポーネント、BZ#1316626
/opt/rh/rh-nodejs4/root/usr/share/licenses/ディレクトリは、どのパッケージにも所有されていません。そのため、rh-nodejs4 コレクションをアンインストールするとき、このディレクトリは削除されません。この問題を回避するには、rh-nodejs4 をアンインストールした後、手動でディレクトリを削除してください。
perl コンポーネント
複数の mod_perl.so ライブラリーをインストール することはできません。したがって、複数の Perl Software Collection から mod_perl モジュールを使用できません。
nodejs010 コンポーネント
nodejs010 Software Collectionで提供されているシェアードライブラリ(libcareslibhttp_parser および libuv)の接頭辞が正しくありません。そのため、対応するシステムライブラリとの間でコンフリクトが発生する可能性があります。
nodejs-hawk コンポーネント
nodejs-hawk パッケージは、CryptoJSプロジェクトから採用されたSHA-1およびSHA-256アルゴリズムの実装を使用しています。今回のリリースでは、クライアント側のJavaScriptが難読化されています。今後の修正では、CryptoJSライブラリから直接暗号機能を使用することになります。
postgresql コンポーネント
Red Hat Enterprise Linux 6 のpostgresql92rh-postgresql94rh-postgresql95 パッケージはsepgsqlモジュールを提供しません。この機能は Red Hat Enterprise Linux 6 では利用できないlibselinux バージョン 2.0.99 のインストールを必要とするからです。
httpdmariadbmongodbmysqlnodejsperlphp55rh-php56pythonrubyrorthermostat、およびv8314コンポーネント、BZ#1072319
httpd24mariadb55rh-mariadb100mongodb24rh-mongodb26mysql55rh-mysql56nodejs010perl516rh-perl520php55rh-php56python27python33rh-python34ruby193ruby200rh-ruby22ror40rh-ror41thermostat1、または v8314 パッケージをアンインストールする際に、依存するパッケージの所有権により、アンインストールの順番が関係することがあります。そのため、一部のディレクトリーおよびファイルはシステム上に残される可能性があるため、削除されない可能性があります。
rh-mysql57rh-mysql56rh-mariadb100rh-mariadb101 コンポーネント、BZ#1194611
rh-mysql57-mysql-serverrh-mysql56-mysql-serverrh-mariadb100-mariadb-server、および rh-mariadb101-mariadb-server パッケージは、デフォルトでtestデータベースを提供しなくなりました。このデータベースは初期化中には作成されませんが、付与テーブルは、test がデフォルトで作成されたものと同じ値で事前に入力されます。その結果、test または test_* データベースが後で作成されると、これらのデータベースへのアクセス権限は、新規データベースのデフォルトよりも制限されません。
また、ベンチマークを実行している場合、run-all-tests スクリプトは、サンプルパラメーターを使用してもそのままでは機能しません。テストを実行する前にテストデータベースを作成し、--database パラメーターにデータベース名を指定する必要があります。パラメーターが指定されていない場合、test はデフォルトで取得されますが、test データベースが存在することを確認する必要があります。
mongodb24 コンポーネント
Red Hat Software Collections 1.2 のmongodb24 Software Collection は、Red Hat Software Collections 3.0 に同梱されているrh-java-common およびmaven30 Software Collection では再構築できません。さらに、mongodb24-build およびmongodb24-scldevel パッケージは、maven30-javapackages-tools およびmaven30-maven-local packages の要求が満たされていないため、Red Hat Software Collections 3.0 にはインストールできません。mongodb24-scldevel パッケージがインストールされると、壊れた依存関係が報告され、yum --skip-brokenコマンドがあまりにも多くのパッケージをスキップします。ユーザーの皆様には、rh-mongodb26 Software Collectionにアップデートすることをお勧めします。
mariadbmysqlpostgresqlmongodb コンポーネント )
Red Hat Software Collections 3.0 には、MySQL 5.7MySQL 5.6MariaDB 10.0MariaDB 10.1PostgreSQL 9.4PostgreSQL 9.5MongoDB 2.6MongoDB 3.2 の各データベースが含まれています。Red Hat Enterprise Linux 6 のコアは、以前のバージョンの MySQL および PostgreSQL データベース (クライアントライブラリーおよびデーモン) を提供します。コア Red Hat Enterprise Linux 7 は、MariaDB および PostgreSQL データベース (クライアントライブラリーおよびデーモン) の以前のバージョンを提供します。クライアントライブラリーは、動的言語、ライブラリーなどのデータベースコネクターにも使用されます。
PostgreSQL コンポーネントの Red Hat Software Collections データベースパッケージにパッケージ化されたクライアントライブラリーは、サーバーユーティリティーおよびデーモン向けとしてのみ含まれているので、使用しないでください。代わりに、ユーザーはコアシステムで提供されるシステムライブラリーとデータベースコネクターを使用することが想定されます。
クライアントライブラリーとデーモンの間で使用されるプロトコルは複数のデータベースバージョン間で安定するため、たとえば PostgreSQL 9.4 デーモンまたは 9.5 デーモンで PostgreSQL 9.2 クライアントライブラリーを使用すると期待どおりに機能します。
コアの Red Hat Enterprise Linux 6 および Red Hat Enterprise Linux 7 には MongoDB のクライアントライブラリーが含まれていません。アプリケーションにこのクライアントライブラリーを使用するには、Red Hat Software Collections からのクライアントライブラリーを使用し、この MongoDB クライアントライブラリーにリンクされたアプリケーションを実行するたびに scl enable ... 呼び出しを常に使用する必要があります。
mariadbmysqlmongodb コンポーネント ( )
ログファイルの作成時に、MariaDB、MySQL、および MongoDB は /opt/provider/collection/root 接頭辞を利用しません。ログファイルは、/opt/provider/collection/root/var/log/ ではなく、/var/opt/provider/collection/log/ ディレクトリーに保存されることに注意してください。
rh-eclipse46 コンポーネント
サードパーティのアップデートサイトからプラグインをインストールされていると、Eclipseが起動に失敗し、ワークスペースのログファイルにNullPointerExceptionが発生することがあります。この問題を回避するには、-cleanオプションを付けてEclipseを再起動してください。例:
~]$ scl enable rh-eclipse46 "eclipse -clean"
rh-eclipse46 コンポーネント
Eclipse Docker Tooling では、シンタックスハイライトや基本的なコマンドの自動補完機能を備えたDockerfile editorを導入しています。Build Image Wizardを開いた状態で、Edit Dockerfileボタンを押すと、Dockerfile editorがファイルを切り離したエディタウィンドウで開きます。ただし、このウィンドウにはCancelSaveのボタンはありません。この問題を回避するには Ctrl+Sを押して変更を保存するか、エディタ内で右クリックしてコンテキストメニューを表示し、Saveオプションを選択します。変更をキャンセルするには、ウィンドウを閉じます。
rh-eclipse46 コンポーネント
Red Hat Enterprise Linux 7.2 では、EclipsePerf Profile Viewの入力に使用されるperfツールにバグがあり、ビュー内の一部のアイテムが Eclipse エディター内のそれぞれの位置に正しくリンクされませんでした。プロファイリングは期待通りに行われますが、Perl Profile Viewの一部をクリックしても、エディタ内の関連するポジションに移動することはできません。
rh-thermostat16 コンポーネント
デスクトップアプリケーションのファイルに誤字があるため、デスクトップアイコンでThermostatを起動できないという問題がありました。この問題を回避するには、/usr/share/applications/rh-thermostat16-thermostat.desktopファイルをから変更してください。
[Desktop Entry]
Version=1.0
Type=Application
Name=%{thermostat_desktop_app_name}
Comment=A monitoring and serviceability tool for OpenJDK
Exec=/opt/rh/rh-thermostat16/root/usr/share/thermostat/bin/thermostat local
Icon=thermostat
必要に応じて、以下を行ってください。
[Desktop Entry]
Version=1.0
Type=Application
Name=Thermostat-1.6
Comment=A monitoring and serviceability tool for OpenJDK
Exec=scl enable rh-thermostat16 "thermostat local"
Icon=rh-thermostat16-thermostat
または、コマンドラインからThermostat を実行します。
$ scl enable rh-thermostat16 "thermostat local"

その他の注意事項

rh-ruby22rh-ruby23rh-python34rh-python35rh-php56rh-php70 コンポーネント
読み取り専用 NFS で Software Collections を使用すると、いくつかの制限があります。
  • rh-ruby22 またはrh-ruby23 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 の言語モジュールは、Red Hat Software Collections バージョンの Apache httpd でのみサポートされ、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
php54 コンポーネント
Red Hat Software CollectionsのAlternative PHP Cache (APC)は、ユーザーデータのキャッシュにのみ提供されていることに注意してください。opcodeのキャッシュには、Zend OPcacheが用意されています。
python コンポーネント
ユーザーがpython27python33rh-python34rh-python35 Software Collection から複数のscldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_python%scl_prefix_python) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
php コンポーネント )
ユーザーがphp54php55rh-php56rh-php70 Software Collection から複数のscldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_php%scl_prefix_php) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
ruby コンポーネント
ユーザーがruby193ruby200rh-ruby22rh-ruby23 Software Collection から複数のscldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_ruby%scl_prefix_ruby) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
perl コンポーネント
ユーザーがperl516rh-perl520rh-perl524 Software Collections から複数のscldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_perl%scl_prefix_perl) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
nginx コンポーネント
ユーザーがnginx16 およびrh-nginx18 Software Collection から複数のscldevel パッケージをインストールしようとすると、トランザクションチェックのエラーメッセージが返されます。パッケージ (%scl_nginx%scl_prefix_nginx) が提供するマクロファイルのセットをユーザーが 1 つだけインストールできるため、これは想定される動作です。
nodejsコンポーネント
nodejs010 Software Collection をインストールする際、gcc パッケージが既にインストールされていない限り、nodejs010 はベースの Red Hat Enterprise Linux システムにGCCを依存関係としてインストールします。
rh-eclipse46 コンポーネント
Red Hat Enterprise Linux 7 の Eclipse SWT グラフィカルライブラリは GTK 3.x を使用しています。EclipseDark ThemeはGTK 3.x 上でまだ完全に安定していないため、このテーマは技術プレビューとみなされ、サポートされていません。Red Hat Technology Previews の詳細については、https://access.redhat.com/support/offerings/techpreview/ を参照してください。 は修正されていません。

1.6. 非推奨の機能

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

第2章 インストール

本章では、コンテンツセットへのアクセス方法、システムへの Red Hat Software Collections 3.0 のインストール方法、および Red Hat Software Collections の再構築方法について詳しく説明します。

2.1. Red Hat Software Collections へのアクセス

Red Hat Software Collections コンテンツセットは、https://access.redhat.com/solutions/472793に記載されている Red Hat Enterprise Linux 6 および Red Hat Enterprise Linux 7 サブスクリプションをご利用いただけます。Red Hat Enterprise Linux システムを登録したサブスクリプション管理サービスに応じて、Red Hat Subscription Management を使用して Red Hat Software Collections を有効にするか、RHN Classic を使用して Red Hat Software Collections を有効にすることができます。RHN Classic または Red Hat Subscription Management を使用して Red Hat Software Collections を有効にする方法の詳細な手順については、以下の各セクションを参照してください。システムをこれらのサブスクリプション管理サービスのいずれかに登録する方法については、Using and Configuring Red Hat Subscription Managerを参照してください。
Red Hat Software Collections 2.2 以降、Red Hat Software Collections および Red Hat Developer Toolset のコンテンツは、とくにServerおよびWorkstation 向けに、ISO 形式でもhttps://access.redhat.com/downloadsにて提供されています。なお、「オプションチャンネルからのパッケージ」 に掲載されているOptionalチャンネルを必要とするパッケージは、ISOイメージからはインストールできません。
注記
Optionalチャンネルを必要とするパッケージは、ISOイメージからはインストールできません。Optionalチャンネルの有効化を必要とするパッケージのリストは、「オプションチャンネルからのパッケージ」 で提供されています。
ベータコンテンツは ISO 形式では使用できません。

2.1.1. Red Hat Subscription Management の使用

システムが Red Hat Subscription Management に登録されている場合は、以下の手順を実施して、Red Hat Software Collections のリポジトリーへのアクセスを提供するサブスクリプションを割り当て、リポジトリーを有効にします。
  1. システムで利用可能なサブスクリプションの一覧を表示し、Red Hat Software Collections を提供するサブスクリプションのプール ID を判別します。これを行うには、root で次のコマンドを実行します。
    subscription-manager list --available
    このコマンドは、使用可能なサブスクリプションごとに、その名前、一意の識別子、有効期限、およびそれに関連するその他の詳細を表示します。プール ID は、Pool Id で始まる行に一覧表示されます。
  2. root で以下のコマンドを実行して、適切なサブスクリプションをシステムに割り当てます。
    subscription-manager attach --pool=pool_id
    pool_id を、直前のステップで確認したプール ID に置き換えます。システムに割り当てているサブスクリプションの一覧を随時確認するには、root で以下を入力します。
    subscription-manager list --consumed
  3. 利用可能な Yum list リポジトリーの一覧を表示して、リポジトリーメタデータを取得し、Red Hat Software Collections リポジトリーの正確な名前を決定します。root で以下のコマンドを実行します。
    subscription-manager repos --list
    または、yum repolist all を簡単なリストに対して実行します。
    リポジトリー名は、使用している Red Hat Enterprise Linux のバージョンによって異なり、以下のフォーマットに基づいています。
    rhel-variant-rhscl-6-rpms
    rhel-variant-rhscl-6-debug-rpms
    rhel-variant-rhscl-6-source-rpms
    
    rhel-server-rhscl-6-eus-rpms
    rhel-server-rhscl-6-eus-source-rpms
    rhel-server-rhscl-6-eus-debug-rpms
    
    rhel-variant-rhscl-7-rpms
    rhel-variant-rhscl-7-debug-rpms
    rhel-variant-rhscl-7-source-rpms
    
    rhel-server-rhscl-7-eus-rpms
    rhel-server-rhscl-7-eus-source-rpms
    rhel-server-rhscl-7-eus-debug-rpms
    variant を、Red Hat Enterprise Linux システムのバリアント (つまり server または workstation に置き換えます。Red Hat Software Collections は、Client または ComputeNode バリアントではサポートされないことに注意してください。
  4. root で以下のコマンドを実行して、適切なリポジトリーを有効にします。
    subscription-manager repos --enable repository
サブスクリプションがシステムに割り当てられたら、「Red Hat Software Collections のインストール」の説明に従って Red Hat Software Collections をインストールできます。Red Hat Subscription Management を使用してシステムを登録し、サブスクリプションに関連付ける方法は、Using and Configuring Red Hat Subscription Managerを参照してください。

2.1.2. RHN Classicの使用

重要
Red HatはRHN UIを停止しました。お客様におかれましては、ご契約のサポートを継続するために、RHSMへの移行をお勧めいたします。2017年10月31日をもって、お客様がRHN Hostedに登録することはできなくなります。d2018年3月31日をもって、お客様はRHN Hostedからのアップデートを受け取れなくなります。
ご使用のシステムがRHN Classicに登録されている場合は、以下の手順でRed Hat Software Collectionsを購読してください。
  1. 利用可能なすべてのチャンネルのリストを表示し、Red Hat Software Collections チャンネルの正確な名前を決定します。これを行うには、root で次のコマンドを実行します。
    rhn-channel --available-channels
    チャンネルの名前は、使用している Red Hat Enterprise Linux の特定のバージョンに依存し、次の形式であり、variantは Red Hat Enterprise Linux システムのバリアントserverまたはworkstationです。
    rhel-x86_64-variant-6-rhscl-1
    
    rhel-x86_64-server-6.5.z-rhscl-1
    rhel-x86_64-server-6.6.z-rhscl-1
    
    rhel-x86_64-variant-7-rhscl-1
    
    rhel-x86_64-server-7.1.eus-rhscl-1
    Red Hat Enterprise Linux 7 チャンネルは、Red Hat Satellite インスタンスからのみアクセス可能です。
    注記
    Red Hat Software Collections 2.x は Red Hat Software Collections 1.x と同じチャネルで配布されています。
  2. rootで以下のコマンドを実行して、システムをRed Hat Software Collectionsチャンネルに登録します。
    rhn-channel --add --channel=channel_name
    channel_nameは、前のステップで決定した名前に置き換えてください。
  3. 自分が登録しているチャンネルの一覧を確認します。root で以下のコマンドを実行します。
    rhn-channel --list
システムがサブスクライブされると、「Red Hat Software Collections のインストール」 で説明されているように、Red Hat Software Collections をインストールすることができます。システムを RHN Classic に登録する方法の詳細については、Using and Configuring Red Hat Subscription Managerを参照してください。

2.1.3. オプションチャンネルからのパッケージ

Red Hat Software Collections 3.0 パッケージの中には、これらのパッケージの完全なインストールを完了するために、Optionalチャンネルを有効にする必要があるものがあります。システムをこのチャンネルにサブスクライブする方法の詳細については、Red Hat Subscription Management の場合はhttps://access.redhat.com/solutions/392003、システムが RHN Classic に登録されている場合はhttps://access.redhat.com/solutions/70019 の関連ナレッジベース記事を参照してください。
Software Collections for Red Hat Enterprise Linux 6 のパッケージのうち、Optionalチャンネルを有効にする必要があるものを以下の表に示します。

表2.1 Red Hat Enterprise Linux 6 のオプションチャンネルの有効化を必要とするパッケージ

Software Collection からのパッケージオプションチャンネルからの必須パッケージ
devtoolset-6-dyninst-testsuiteglibc-static
devtoolset-7-dyninst-testsuiteglibc-static
rh-git29-git-allcvsps
rh-git29-git-cvscvsps
rh-git29-perl-Git-SVNperl-YAML、subversion-perl
rh-mariadb101-boost-devellibicu-devel
rh-mariadb101-boost-exampleslibicu-devel
rh-mariadb101-boost-staticlibicu-devel
rh-mongodb30upg-boost-devellibicu-devel
rh-mongodb30upg-boost-exampleslibicu-devel
rh-mongodb30upg-boost-staticlibicu-devel
rh-mongodb30upg-yaml-cpp-devellibicu-devel
rh-mongodb32-boost-devellibicu-devel
rh-mongodb32-boost-exampleslibicu-devel
rh-mongodb32-boost-staticlibicu-devel
rh-mongodb32-yaml-cpp-devellibicu-devel
rh-mongodb34-boost-devellibicu-devel
rh-mongodb34-boost-exampleslibicu-devel
rh-mongodb34-boost-staticlibicu-devel
rh-mongodb34-yaml-cpp-devellibicu-devel
rh-php56-php-imaplibc-client
rh-php56-php-recoderecode
rh-php70-php-imaplibc-client
rh-php70-php-recoderecode
Red Hat Enterprise Linux 7 でOptionalチャンネルを必要とするSoftware Collection パッケージを以下の表に示します。

表2.2 Red Hat Enterprise Linux 7 のオプションチャンネルの有効化を必要とするパッケージ

Software Collection からのパッケージオプションチャンネルからの必須パッケージ
devtoolset-7-dyninst-testsuiteglibc-static
devtoolset-7-gcc-plugin-devellibmpc-devel
httpd24-mod_ldapapr-util-ldap
rh-eclipse46ruby-doc
rh-eclipse46-eclipse-dltk-rubyruby-doc
rh-eclipse46-eclipse-dltk-sdkruby-doc
rh-eclipse46-eclipse-dltk-testsruby-doc
rh-git29-git-allcvsps
rh-git29-git-cvscvsps
rh-git29-perl-Git-SVNsubversion-perl
rh-perl520-perl-Pod-Perldocgroff
なお、Optionalチャネルのパッケージはサポートされていません。詳細は、ナレッジベースの記事 https://access.redhat.com/articles/1150793 を参照してください。

2.2. Red Hat Software Collections のインストール

Red Hat Software Collections は、Red Hat Enterprise Linux に含まれる標準のパッケージ管理ツールを使用して、インストール、更新、アンインストールが可能な RPM パッケージのコレクションとして配布されます。Red Hat Software Collections をシステムにインストールするには、有効なサブスクリプションが必要です。システムを適切なサブスクリプションに関連付け、Red Hat Software Collections にアクセスする方法は、「Red Hat Software Collections へのアクセス」 を参照してください。
Red Hat Software Collections 3.0 を使用するには、ベータリリースを含む以前のプレリリースバージョンを削除する必要があります。以前のバージョンの Red Hat Software Collections 3.0 をインストールしていた場合は、システムからアンインストールし、「Red Hat Software Collections のアンインストール」 および「Software Collection の個別インストール」 セクションで説明されているように新しいバージョンをインストールしてください。
Red Hat Enterprise Linux 6 から Red Hat Enterprise Linux 7 へのインプレースアップグレードは、Red Hat Software Collections ではサポートされていません。したがって、アップグレード後にインストールされた Software Collections が正しく動作しない可能性があります。Red Hat Enterprise Linux 6 から Red Hat Enterprise Linux 7 にアップグレードする場合は、すべての Red Hat Software Collections パッケージを削除し、インプレースアップグレードを実行し、Red Hat Software Collections リポジトリーを更新し、再度 Software Collections パッケージをインストールすることが強く推奨されます。アップグレードする前に、すべてのデータのバックアップを作成することが推奨されます。

2.2.1. Software Collection の個別インストール

表1.1「Red Hat Software Collections 3.0 Components」 に記載されている Software Collection をインストールするには、シェルプロンプトで root として次のように入力して、対応するメタパッケージをインストールします。
yum install software_collection...
software_collection を、インストールする Software Collections のスペース区切りリストに置き換えます。たとえば、php54 および rh-mariadb100 をインストールし、root として以下を入力します。
~]# yum install rh-php56 rh-mariadb100
これにより、選択した Software Collection のメインメタパッケージと、必要なパッケージの依存関係がインストールされます。追加モジュールなどの追加パッケージをインストールする方法は、「オプションパッケージのインストール」 を参照してください。

2.2.2. オプションパッケージのインストール

Red Hat Software Collections の各コンポーネントは、デフォルトでインストールされていない複数のオプションパッケージとともに配布されます。特定の Software Collection に含まれていて、システムにインストールされていないパッケージの一覧を表示するには、シェルプロンプトで次のコマンドを実行します。
yum list available software_collection-\*
これらのオプションのパッケージのいずれかをインストールするには、root で以下を入力します。
yum install package_name...
package_name を、インストールするパッケージの一覧に置き換えます。例えば、rh-perl520-perl-CPANrh-perl520-perl-Archive-Tar をインストールするには、次のように入力します。
~]# yum install rh-perl524-perl-CPAN rh-perl524-perl-Archive-Tar

2.2.3. デバッグ情報のインストール

Red Hat Software Collections パッケージのデバッグ情報をインストールするには、yum-utils パッケージがインストールされていることを確認し、root で以下のコマンドを入力します。
debuginfo-install package_name
例えば、rh-ruby22-ruby パッケージのデバッグ情報をインストールするには、次のように入力します。
~]# debuginfo-install rh-ruby22-ruby
このコマンドを使用するには、このパッケージを使用してリポジトリーにアクセスする必要があります。システムが Red Hat Subscription Management に登録されている場合は、「Red Hat Subscription Management の使用」 で説明しているように、rhel-variant-rhscl-6-debug-rpms または rhel-variant-rhscl-7-debug-rpms リポジトリーを有効化します。ご使用のシステムが RHN Classic に登録されている場合は、「RHN Classicの使用」 で説明されているように、システムをrhel-x86_64-variant-6-rhscl-1-debuginfo またはrhel-x86_64-variant-7-rhscl-1-debuginfo チャネルにサブスクライブします。debuginfo パッケージへのアクセス方法はhttps://access.redhat.com/solutions/9907を参照してください。

2.3. Red Hat Software Collections のアンインストール

Software Collections コンポーネントをアンインストールするには、root で次のコマンドを実行します。
yum remove software_collection\*
software_collection を、アンインストールする Software Collection コンポーネントに置き換えます。
Red Hat Software Collections が提供するパッケージをアンインストールしても、これらのツールの Red Hat Enterprise Linux システムバージョンには影響がないことに注意してください。

2.4. Red Hat Software Collections の再構築

<collection>-build パッケージはデフォルトでは提供されません。コレクションを再構築して、rpmbuild --define 'scl foo' コマンドを使用しない場合には、最初にメタパッケージを再構築する必要があります。これにより、<collection>-build パッケージが提供されます。
既存のコレクションは、異なる内容で再構築しないでください。既存のコレクションに新しいパッケージを追加するには、新しいパッケージを含む新しいコレクションを作成し、元のコレクションからのパッケージに依存する必要があります。元のコレクションは、変更せずに使用する必要があります。
Software Collections の構築に関する詳細は、Red Hat Software Collections Packaging Guide を参照してください。

第3章 使用法

この章では、Red Hat Software Collections 3.0 を再構築して使用し、Red Hat Software Collections を使用するアプリケーションをデプロイするために必要な手順を説明します。

3.1. Red Hat Software Collections の使用

3.1.1. Software Collection からの実行可能ファイルの実行

特定の Software Collection から実行ファイルを実行するには、シェルプロンプトで以下のコマンドを入力します。
scl enable software_collection... 'command...'
または、以下のコマンドを使用します。
scl enable software_collection... -- command...
software_collection を、使用する Software Collections のスペース区切りの一覧に置き換え、command を、実行するコマンドに置き換えます。例えば、hello.plという名前のファイルに格納されている Perl プログラムをperl516 Software Collection の Perl インタプリタで実行するには、次のように入力します。
~]$ scl enable rh-perl524 'perl hello.pl'
Hello, World!
この scl ユーティリティーを使用してコマンドを実行すると、同等の Red Hat Enterprise Linux システムの代わりに、選択した Software Collection から実行可能なものを使用して実行できます。Red Hat Software Collections で配布される Software Collections の完全リストは、表1.1「Red Hat Software Collections 3.0 Components」を参照してください。

3.1.2. デフォルトで Software Collection を使用したシェルセッションの実行

Red Hat Enterprise Linux の同等のものよりも選択した Software Collection の実行可能ファイルで新しいシェルセッションを開始するには、シェルプロンプトで次のように入力します。
scl enable software_collection... bash
software_collection を、使用する Software Collections のスペース区切りリストに置き換えます。例えば、python27rh-postgresql95 Software Collections をデフォルトにして新しいシェルセッションを開始するには、次のように入力します。
~]$ scl enable python27 rh-postgresql95 bash
現行セッションで有効になっている Software Collections の一覧は、$X_SCLS 環境変数に保存されます。以下に例を示します。
~]$ echo $X_SCLS
python27 rh-postgresql95
Red Hat Software Collections で配布される Software Collections の完全リストは、表1.1「Red Hat Software Collections 3.0 Components」を参照してください。

3.1.3. Software Collection からのシステムサービスの実行

システムサービスを含む Software Collections は、対応する init スクリプトを /etc/rc.d/init.d/ ディレクトリーにインストールします。現行のセッションでそのようなサービスを起動するには、シェルプロンプトで root として以下を入力します。
service software_collection-service_name start
software_collection を、Software Collection および service_name を、開始するサービスの名前に置き換えます。システムの起動時にこのサービスが自動的に開始するように設定するには、root で以下のコマンドを入力します。
chkconfig software_collection-service_name on
例えば、rh-postgresql95 Software Collection からpostgresqlサービスを起動し、ランレベル2、3、4、5で有効にするには、rootとして次のように入力します。
~]# service rh-postgresql95-postgresql start
Starting rh-postgresql95-postgresql service:                  [  OK  ]
~]# chkconfig rh-postgresql95-postgresql on
Red Hat Enterprise Linux 6 でシステムサービスを管理する方法の詳細については、Red Hat Enterprise Linux 6 Deployment Guideを参照してください。Red Hat Software Collections で配布される Software Collections の完全リストは、表1.1「Red Hat Software Collections 3.0 Components」を参照してください。

3.2. Software Collection からの手動ページへのアクセス

すべての Software Collection には、このコンポーネントの内容を説明する一般的な man ページが含まれています。各 man ページはコンポーネントと同じ名前を持ち、/opt/rh ディレクトリーにあります。
Software Collection の man ページを確認するには、以下のコマンドを入力します。
scl enable software_collection 'man software_collection'
software_collection を、特定の Red Hat Software Collections コンポーネントに置き換えます。例えば、rh-mariadb101 のマニュアルページを表示するには、次のように入力します。
~]$ scl enable rh-mariadb101 "man rh-mariadb101"

3.3. Red Hat Software Collections を使用するアプリケーションのデプロイ

通常、以下の 2 つの方法のいずれかを使用して、実稼働環境の Red Hat Software Collections のコンポーネントに依存するアプリケーションをデプロイすることができます。
  • 必要な Software Collections およびパッケージをすべて手動でインストールしてから、アプリケーションをデプロイする、または
  • アプリケーション用の新しい Software Collection を作成し、必要な Software Collections およびその他のパッケージをすべて依存関係として指定する
個々の Red Hat Software Collections コンポーネントを手動でインストールする方法は、「Red Hat Software Collections のインストール」 を参照してください。Red Hat Software Collections の使用方法に関する詳細は、「Red Hat Software Collections の使用」 を参照してください。カスタム Software Collection を作成する方法や、既存のソフトウェアを拡張する方法については、Red Hat Software Collections Packaging Guideを参照してください。

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

Red Hat Software Collections に基づくコンテナーイメージには、アプリケーション、デーモン、およびデータベースが含まれます。イメージは、Red Hat Enterprise Linux 7 Server および Red Hat Enterprise Linux Atomic Host で実行できます。使用方法は、Using Red Hat Software Collections 3 Container Imagesを参照してください。Red Hat Software Collections バージョン 2.4 以前の Red Hat Software Collections バージョン 2.4 をベースとしたコンテナーイメージの詳細は、Using Red Hat Software Collections 2 Container Images を参照してください。
以下のコンテナイメージは Red Hat Software Collections 3.0 で利用可能です。
  • rhscl/devtoolset-7-toolchain-rhel7
  • rhscl/devtoolset-7-perftools-rhel7
  • rhscl/httpd-24-rhel7
  • rhscl/mariadb-102-rhel7
  • rhscl/mongodb-34-rhel7
  • rhscl/nginx-112-rhel7
  • rhscl/nodejs-8-rhel7
  • rhscl/php-71-rhel7
  • rhscl/postgresql-96-rhel7
  • rhscl/python-36-rhel7
以下のコンテナイメージは、Red Hat Software Collections 2.4 に基づいています。
  • rhscl/devtoolset-6-toolchain-rhel7
  • rhscl/devtoolset-6-perftools-rhel7
  • rhscl/nginx-110-rhel7
  • rhscl/nodejs-6-rhel7
  • rhscl/python-27-rhel7
  • rhscl/ruby-24-rhel7
  • rhscl/ror-50-rhel7
  • rhscl/thermostat-16-agent-rhel7 (EOL)
  • rhscl/thermostat-16-storage-rhel7 (EOL)
以下のコンテナイメージは、Red Hat Software Collections 2.3 に基づいています。
  • rhscl/mysql-57-rhel7
  • rhscl/perl-524-rhel7
  • rhscl/php-70-rhel7
  • rhscl/redis-32-rhel7
  • rhscl/mongodb-32-rhel7
  • rhscl/php-56-rhel7
  • rhscl/python-35-rhel7
  • rhscl/ruby-23-rhel7
以下のコンテナイメージは、Red Hat Software Collections 2.2 に基づいています。
  • rhscl/devtoolset-4-toolchain-rhel7
  • rhscl/devtoolset-4-perftools-rhel7
  • rhscl/mariadb-101-rhel7
  • rhscl/nginx-18-rhel7
  • rhscl/nodejs-4-rhel7
  • rhscl/postgresql-95-rhel7
  • rhscl/ror-42-rhel7
  • rhscl/thermostat-1-agent-rhel7 (EOL)
  • rhscl/varnish-4-rhel7
以下のコンテナイメージは、Red Hat Software Collections 2.0 に基づいています。
  • rhscl/mariadb-100-rhel7
  • rhscl/mongodb-26-rhel7
  • rhscl/mysql-56-rhel7
  • rhscl/nginx-16-rhel7 (EOL)
  • rhscl/passenger-40-rhel7
  • rhscl/perl-520-rhel7
  • rhscl/postgresql-94-rhel7
  • rhscl/python-34-rhel7
  • rhscl/ror-41-rhel7
  • rhscl/ruby-22-rhel7
  • rhscl/s2i-base-rhel7
EOL(End of Life)と表示されている画像はサポート対象外となります。

第4章 個別の Software Collections の詳細

本章では、特定の Software Collections の詳細に重点を置き、これらのコンポーネントに関する追加情報を提供します。

4.1. Red Hat Developer Toolset

Red Hat Developer Toolset は、Red Hat Enterprise Linux プラットフォームで作業する開発者向けに設計されています。Red Hat Developer Toolsetは、現在のバージョンのGNU Compiler CollectionGNU Debugger、およびその他の開発、デバッグ、パフォーマンス監視ツールを提供します。他の Software Collections と同様に、追加のツールセットが /opt/ ディレクトリーにインストールされます。これらのツールは、同梱の scl ユーティリティーを使用してオンデマンドでユーザーが有効にします。他の Software Collections と同様に、これらのツールの Red Hat Enterprise Linux システムバージョンを置き換えることはありません。また、scl ユーティリティーを使用して明示的に呼び出されない限り、これらのシステムバージョンを優先して使用することもできます。
機能の概要については、『Red Hat Developer Toolset Release Notes』のMain Featuresセクションを参照してください。
コンポーネントの完全なリストについては、『Red Hat Developer Toolset User Guide』 のRed Hat Developer Toolset Components表を参照してください。
なお、Red Hat Developer Toolset 3.1 以降、Red Hat Developer Toolset にはrh-java-common Software Collection が必要です。

4.2. Eclipse 4.6.3

Red Hat Enterprise Linux 7 で利用可能なrh-eclipse46 Software Collection には、Eclipse Foundation の Neon release train をベースにしたEclipse 4.6.3 が含まれています。この統合開発環境は、以前は Red Hat Developer Toolset の一部として提供されていました。なお、rh-eclipse46 Software Collection にはrh-java-common Collection が必要です。
注記
新バージョンのEclipseは、Red Hat Developer Tools のrh-eclipse47 コンポーネントとして提供されています。詳しくは、Using Eclipseをご覧ください。
Eclipseは、開発プロセスの各段階に応じたツールを提供する強力な開発環境です。様々なツールを統一された環境に統合して豊かな開発環境を実現し、完全に設定可能なユーザーインターフェースを提供し、様々な方法で拡張できるプラガブルなアーキテクチャを採用しています。例えば、Valgrindプラグインは、従来はコマンドラインで行っていたメモリープロファイリングを、Eclipseのユーザーインターフェイスで行うことができます。

図4.1 Eclipse セッションの例

Eclipse セッションの例
Eclipseは、従来のコマンドラインツールとのやりとりに代わるグラフィカルな開発環境を提供しており、そのため、コマンドラインインターフェイスを使いたくない開発者にとっては選択肢となります。伝統的な、主にコマンドラインベースのLinuxツール群(gccgdbなど)とEclipseは、プログラミングに対して 2 つの異なるアプローチを提供します。
なお、Red Hat JBoss Middleware用のアプリケーションを開発する場合や、OpenShift Toolsのサポートが必要な場合は、Red Hat JBoss Developer Studioを使用することをお勧めします。

表4.1 rh-eclipse46 Software Collectionに含まれるEclipseコンポーネント

パッケージ説明
rh-eclipse46-eclipse-cdt CやC++での開発のための機能やプラグインを提供するC/C++ Development Tooling(CDT)。
rh-eclipse46-eclipse-changelog チェンジログファイルを作成、管理するためのChangeLogプラグイン。
rh-eclipse46-eclipse-egit EGitは、Eclipseのためのチームプロバイダーで、Gitリポジトリと対話するための機能やプラグインを提供します。
rh-eclipse46-eclipse-emf 構造化されたデータモデルに基づいてアプリケーションを構築することができるEclipseModeling Framework(EMF)です。
rh-eclipse46-eclipse-epp-logging Eclipse エラー報告ツール。
rh-eclipse46-eclipse-gcov GCovプラグインは、GCovテストカバレッジプログラムをEclipseに統合するものです。
rh-eclipse46-eclipse-gef 既存のアプリケーションモデルからリッチなグラフィカルエディターを作成することができるGraphical Editing Framework(GEF)です。
rh-eclipse46-eclipse-gprof パフォーマンス解析ユーティリティーGprofEclipseに統合したGprofプラグインです。
rh-eclipse46-eclipse-jdt EclipseのJava開発ツール(JDT)のプラグインです。
rh-eclipse46-eclipse-jgit JGitは、リビジョンコントロールシステムであるGitのJava実装です。
rh-eclipse46-eclipse-manpage Eclipseでマニュアルページを表示することができるMan Pageプラグインです。
rh-eclipse46-eclipse-mpc EclipseMarketplaceのクライアントです。
rh-eclipse46-eclipse-mylyn Eclipseのタスク管理システムであるMylyn。
rh-eclipse46-eclipse-oprofile OProfileEclipse に統合する OProfile プラグインです。
rh-eclipse46-eclipse-pde Eclipseのプラグインを開発するためのプラグイン開発環境です。
rh-eclipse46-eclipse-perf Perfプラグインは、perfツールをEclipseに統合します。
rh-eclipse46-eclipse-ptp 同期プロジェクトをサポートするPTP projectのサブセット。
rh-eclipse46-eclipse-pydev Eclipse用のフル機能のPythonIDEです。
rh-eclipse46-eclipse-remote 拡張可能なリモートサービスのフレームワークを提供するRemote Servicesプラグインです。
rh-eclipse46-eclipse-rpm-editor RPMスペックファイルを管理できるEclipseSpec File Editorです。
rh-eclipse46-eclipse-rse Eclipseからリモートシステムを操作することができるRemote System Explorer(RSE)フレームワークです。
rh-eclipse46-eclipse-systemtap SystemTapEclipseを統合したSystemTapプラグインです。
rh-eclipse46-eclipse-valgrind ValgrindEclipseに統合するValgrindプラグインです。
rh-eclipse46-eclipse-webtools EclipseWebtoolsのプラグインです。

4.2.1. Eclipse のインストール

Eclipseの開発環境は、RPMパッケージの集合体として提供されています。rh-eclipse46 Software Collection をインストールするには、rootで次のコマンドを入力します。
yum install rh-eclipse46
利用可能なコンポーネントのリストについては、表4.1「rh-eclipse46 Software Collectionに含まれるEclipseコンポーネント」 を参照してください。
注記
rh-eclipse46 Software Collectionは、C、C++、Javaの開発を完全にサポートしていますが、Fortranプログラミング言語のサポートはありません

4.2.2. Eclipse の使用

rh-eclipse46 Software Collectionを起動するには、パネルから以下を選択するか、シェルプロンプトで以下を入力します。 ApplicationsProgrammingRed Hat Eclipseパネルから選択するか、シェルプロンプトで次のように入力します。
scl enable rh-eclipse46 eclipse
Eclipseの起動時には、workspace、つまりプロジェクトを保存するディレクトリの選択を求められます。デフォルトのオプションである~/workspace/を使用するか、Browse ボタンをクリックしてファイルシステムを参照し、カスタムディレクトリを選択することができます。また、Use this as the default and do not ask again チェックボックスを選択すると、次回この開発環境を実行したときにEclipseにこのダイアログボックスが表示されなくなります。OK ボタンをクリックすると、選択が確定し、起動に進みます。

4.2.2.1. Red Hat Developer Toolset Toolchain の使用

Red Hat Developer Toolset のGNU Compiler Collectionbinutilsをサポートするrh-eclipse46 Software Collection を使用するには、devtoolset-7-toolchain パッケージがインストールされていることを確認し、「Eclipse の使用」 で説明されているようにアプリケーションを実行します。rh-eclipse46 Collection は、デフォルトで Red Hat Developer Toolset ツールチェーンを使用します。
お使いのシステムにdevtoolset-7-toolchain パッケージをインストールする方法の詳細については、Red Hat Developer Toolset User Guideをご覧ください。
重要
以前に Red Hat Enterprise Linux 版のGNU Compiler Collection でビルドしたプロジェクトに取り組む場合は、以前のビルド結果をすべて破棄してください。これを行うには、Eclipse でプロジェクトを開き、メニューから ProjectClean を選択します。

4.2.2.2. Red Hat Enterprise Linux Toolchain の使用

Red Hat Enterprise Linux で配布されているツールチェーンをサポートしたrh-eclipse46 Software Collection を使用するには、プロジェトの構成を変更して、Red Hat Enterprise Linux システムバージョンの gccg++ および as への絶対パスを使用します。
現在のプロジェクトで、Red Hat Enterprise Linux システムのバージョンのツールを明示的に使用するようにEclipseを設定するには、次の手順を実行します。
  1. C/C++パースペクティブで、メインメニューバーから ProjectProperties を選択し、プロジェクトプロパティを開きます。
  2. ダイアログボックスの左側にあるメニューで、C/C++ BuildSettings をクリックします。
  3. Tool Settings タブを選択します。
  4. C プロジェクトで作業している場合は、以下を行います。
    1. GCC C Compiler または Cross GCC Compiler を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/gcc
    2. GCC C Linker または Cross GCC Linker を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/gcc
    3. GCC Assembler または Cross GCC Assembler を選択し、Command フィールドの値を次のとおりに変更します。
      /usr/bin/as
    C++ プロジェクトで作業している場合:
    1. GCC C++ Compiler または Cross G++ Compiler を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/g++
    2. GCC C Compiler または Cross GCC Compiler を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/gcc
    3. GCC C++ Linker または Cross G++ Linker を選択し、Command フィールドの値を次のように変更します。
      /usr/bin/g++
    4. GCC Assembler または Cross GCC Assembler を選択し、Command フィールドの値を次のとおりに変更します。
      /usr/bin/as
  5. OK ボタンをクリックすると、設定変更が保存されます。

4.2.3. 関連情報

Eclipse とそのすべての機能についての詳細な説明は、本書の範囲外です。詳細は、以下に記載のドキュメントを参照してください。

インストールされているドキュメント

  • EclipseにはHelp システムが内蔵されており、統合された各機能やツールに関する豊富なドキュメントが提供されています。これにより、新規開発者が使いこなせるようになるまでの初期投資を大幅に軽減することができます。このヘルプセクションの使用方法は、以下にリンクされている『Red Hat Enterprise Linux Developer Guide』 で詳しく説明されています。

関連項目

  • Using Eclipse: Red Hat Developer Tools のrh-eclipse47 コンポーネントの使用について説明しています。
  • Red Hat Developer Toolset User Guide』のRed Hat Developer Toolsetの章では、Red Hat Developer Toolset の概要と、システムへのインストール方法の詳細を説明しています。
  • Red Hat Developer Toolset User Guide』のGNU Compiler Collection(GCC)の章では、C、C++、Fortranで書かれたプログラムをコマンドラインでコンパイルする方法が紹介されています。

4.3. Ruby on Rails 5.0

Red Hat Software Collections 3.0 はrh-ruby24 Software Collection をrh-ror50 Collection と共に提供します。
Ruby on Rails 5.0 をインストールするには、rootで以下のコマンドを入力します。
yum install rh-ror50
rh-ror50 Software Collectionのパッケージをインストールすると、依存関係にあるrh-ruby24rh-nodejs6 が自動的に取り込まれます。
rh-nodejs6 Collectionは、アセットパイプライン内の特定のgemが、sasscoffee-scriptのソースファイルなどのWebリソースを後処理するために使用します。さらに、Action Cableフレームワークでは、RailsでWebSocketsを扱うためにrh-nodejs6 を使用します。
rh-nodejs6 を必要とせずにrails sコマンドを実行するには、Gemfilecoffee-railsuglifierのジェムを無効にします。
Node.jsを使わずにRuby on Railsを実行するには、以下のコマンドを実行すると、自動的にrh-ruby24 が有効になります。
scl enable rh-ror50 bash
Ruby on Railsをすべての機能で動作させるには、rh-nodejs6 Software Collectionも有効にしてください。
scl enable rh-ror50 rh-nodejs6 bash
rh-ror50 Software Collectionは、rh-ruby24rh-nodejs6 のコンポーネントと共にサポートされています。

4.4. MongoDB 3.4

rh-mongodb34 コレクションをインストールするには、rootで次のコマンドを入力します。
yum install rh-mongodb34
MongoDB シェルユーティリティーを実行するには、以下のコマンドを入力します。
scl enable rh-mongodb34 'mongo'
注記
rh-mongodb34-mongo-cxx-driver パッケージは、Red Hat Developer Toolset 6 のGCCを使用して-std=gnu++14 オプションでビルドされています。C++11 (以降) の機能を使用する MongoDB C++ ドライバーの共有ライブラリーを使用するバイナリーは、Red Hat Developer Toolset 6 でもビルドする必要があります。Red Hat Developer Toolset 6 User GuideのC++ compatibilityを参照してください。

Red Hat Enterprise Linux 6 上の MongoDB 3.4

Red Hat Enterprise Linux 6 を使用している場合は、以下の手順がシステムに適用されます。
MongoDB デーモンを起動するには、root で以下のコマンドを入力します。
service rh-mongodb34-mongod start
システムの起動時に MongoDB デーモンを起動するには、root でこのコマンドを入力します。
chkconfig rh-mongodb34-mongod on
MongoDBシャード化サーバーを起動するには、rootでこのコマンドを入力します。
service rh-mongodb34-mongos start
起動時にMongoDBシャード化サーバーを起動するには、rootで次のコマンドを入力します。
chkconfig rh-mongodb34-mongos on
少なくとも 1 つの設定サーバーを起動し、mongos.conf ファイルで指定しない限り、MongoDB シャーディングサーバーは機能しないことに注意してください。

Red Hat Enterprise Linux 7 の MongoDB 3.4

Red Hat Enterprise Linux 7 を使用する場合は、以下のコマンドを使用できます。
MongoDB デーモンを起動するには、root で以下のコマンドを入力します。
systemctl start rh-mongodb34-mongod.service
システムの起動時に MongoDB デーモンを起動するには、root でこのコマンドを入力します。
systemctl enable rh-mongodb34-mongod.service
MongoDB シャードサーバーを起動するには、root で以下のコマンドを入力します。
systemctl start rh-mongodb34-mongos.service
システムの起動時に MongoDB シャードサーバーを起動するには、root でこのコマンドを入力します。
systemctl enable rh-mongodb34-mongos.service
少なくとも 1 つの設定サーバーを起動し、mongos.conf ファイルで指定しない限り、MongoDB シャーディングサーバーは機能しないことに注意してください。

4.5. Git

Gitは、非中央集権的なアーキテクチャを持つ分散型リビジョンコントロールシステムです。クライアントサーバーモデルの集中型バージョン管理システムとは対照的に、GitはGitリポジトリの各作業コピーが、完全なリビジョン履歴を持つ正確なコピーであることを保証します。これにより、変更内容を公式リポジトリにプッシュする許可を得なくても、プロジェクトに取り組み、貢献することができるだけでなく、ネットワーク接続がなくても作業ができるようになります。詳細については、『Red Hat Enterprise Linux 7 Developer Guide』のGit の章を参照してください。

4.6. Maven

Red Hat Enterprise Linux 7 でのみ利用可能なrh-maven35 Software Collection は、ソフトウェアのプロジェクト管理と理解を深めるツールを提供します。プロジェクトオブジェクトモデル (POM) の概念に基づく Maven は、一元的な情報をもとにプロジェクトのビルド、レポート、およびドキュメントを管理できます。
rh-maven35 Collectionをインストールするには、rootで次のコマンドを入力します。
yum install rh-maven35
このコレクションを有効にするには、シェルプロンプトで以下のコマンドを入力します。
scl enable rh-maven35 bash
リモートリポジトリやミラーなど、Mavenのグローバル設定は、/opt/rh/rh-maven35/root/etc/maven/settings.xmlファイルを編集することでカスタマイズできます。
Maven の使用に関する詳細は、Maven ドキュメント を参照してください。プラグインの使用方法については、本セクション で説明します。個々のプラグインに関するドキュメントを確認するには、プラグインのインデックス を参照してください。

4.7. パッセンジャー

rh-passenger40 Software Collectionでは、高速、堅牢、軽量に設計されたWeb/アプリケーションサーバであるPhusion Passengerを提供しています。
rh-passenger40 コレクションは、特にruby193ruby200rh-ruby22 Software Collection、およびror40 またはrh-ror41 コレクションを使用したRuby on Railsなど、複数のバージョンのRuby をサポートしています。PassengerをいずれかのRubySoftware Collectionsと一緒に使用する前に、rh-passenger40 Collectionから対応するパッケージ(rh-passenger-ruby193、またはrh-passenger-ruby200rh-passenger-ruby22 パッケージ)をインストールしてください。
rh-passenger40 Software Collectionは、httpd24 Software CollectionのApache httpdと一緒に使うこともできます。そのためには、rh-passenger40-mod_passenger パッケージをインストールしてください。Apache httpdの設定例として、デフォルトの設定ファイル/opt/rh/httpd24/root/etc/httpd/conf.d/passenger.confを参照すると、1つのApache httpdインスタンスで複数のRubyバージョンを使用する方法が示されています。
さらに、rh-passenger40 Software Collectionは、nginx16 Software Collectionのウェブサーバーnginx 1.6 と組み合わせて使用することができます。rh-passenger40nginx 1.6 を使用するには、Web アプリケーションのディレクトリで次のコマンドを使用してPassengerをスタンドアロンモードで実行します。
scl enable nginx16 rh-passenger40 'passenger start'
または、アップストリームのPassenger documentationに記載されているように、nginx16 設定ファイルを編集してください。

4.8. データベースコネクター

データベースコネクターパッケージは、データベースサーバーへのローカルまたはリモート接続に必要なデータベースクライアント機能を提供します。表4.2「言語とデータベース間の相互運用性」 特定のデータベースサーバーのコネクターを含む言語ランタイムを含む Software Collections を一覧表示します。

表4.2 言語とデータベース間の相互運用性

 データベース
言語 (Software Collection)MariaDBMongoDBMySQLPostgreSQLRedis
rh-nodejs4
rh-nodejs6
rh-nodejs8
rh-perl520
rh-perl524
rh-php56
rh-php70
rh-php71
python27
rh-python34
rh-python35
rh-python36
rh-ror50
rh-ror42
rh-ror41
サポート対象
サポート対象外

第5章 マイグレーション

この章では、Red Hat Software Collections 3.0 に含まれるコンポーネントのバージョンへの移行に関する情報を提供します。

5.1. MariaDB 10.2 への移行

Red Hat Enterprise Linux 6 には、デフォルトのMySQL実装としてMySQL 5.1 が含まれています。Red Hat Enterprise Linux 7 には、デフォルトのMySQL実装としてMariaDB 5.5 が搭載されています。MariaDBは、コミュニティによって開発された、MySQLを置き換えるドロップイン方式のソフトウェアです。MariaDB 10.1 は Red Hat Software Collections 2.2 からSoftware Collection として提供されており、Red Hat Software Collections 3.0 はMariaDB 10.2 とともに配布されています。
Red Hat Enterprise Linux 6 と Red Hat Enterprise Linux 7 の両方で利用可能なrh-mariadb102 Software Collection は、コアシステムのmysql またはmariadb パッケージと競合しないため、rh-mariadb102 Software Collection をmysql またはmariadb パッケージと一緒にインストールすることが可能です。特定のリソースが競合しないようにするため、両方のバージョンを同時に実行することもできますが、ポート番号と my.cnf ファイルのソケットを変更する必要があります。さらに、rh-mariadb101 Collection がインストールされ、実行中でも、rh-mariadb102 Software Collection をインストールすることもできます。
なお、MariaDB 5.5 またはMariaDB 10.0 を使用している場合は、Red Hat Software Collections 2.4 Release Notes に記載されているrh-mariadb101 Software Collection に、先にアップグレードする必要があります。
MariaDB 10.2 の詳細については、changes in version 10.2upgradingについてのアップストリームドキュメントをご覧ください。
注記
rh-mariadb102 Software Collectionでは、NFSによるマウントやscl registerコマンドによる動的登録はサポートしていません。

5.1.1. rh-mariadb101 および rh-mariadb102 Software Collections 間の主な相違点

MariaDB 10.2 の主な変更点は、「MariaDB の変更点」 に記載されています。
MariaDB 10.2 以降、SQL_MODE 変数の動作が変更されました。詳細はupstream documentationを参照してください。
複数のオプションがデフォルト値を変更しているか、非推奨または削除されました。詳細は、ナレッジベースの記事Migrating from MariaDB 10.1 to the MariaDB 10.2 Software Collectionを参照してください。
rh-mariadb102 Software Collection には、バイナリー、スクリプト、man ページなどのシステム全体のラッパーを提供するパッケージをインストールする rh-mariadb102-syspaths パッケージが含まれます。rh-mariadb102*-syspaths パッケージをインストールした後、rh-mariadb102* パッケージで提供されるバイナリやスクリプトが正しく機能するために、ユーザーがscl enableコマンドを使用する必要はありません。*-syspaths パッケージは、ベースの Red Hat Enterprise Linux システムと対応するパッケージと競合することに注意してください。

5.1.2. rh-mariadb101 から rh-mariadb102 Software Collection へのアップグレード

重要
アップグレードする前に、MariaDB データベースを含むすべてのデータのバックアップを作成します。
  1. rh-mariadb101 データベースサーバーが実行している場合は停止します。
    サーバーを停止する前に、innodb_fast_shutdown オプションを 0 に設定し、InnoDB が完全なパージや挿入バッファーマージを含む低速なシャットダウンを実行します。アップストリームのドキュメント で、このオプションの詳細を参照してください。この操作は、通常のシャットダウンの場合よりも長い時間がかかる可能性があります。
    mysql -uroot -p -e "SET GLOBAL innodb_fast_shutdown = 0"
    rh-mariadb101 サーバーを停止します。
    service rh-mariadb101-mariadb stop
  2. rh-mariadb102 Software Collection をインストールします。
    yum install rh-mariadb102-mariadb-server
    これらの Collections が競合しないため、rh-mariadb102 Software Collection のインストール中は rh-mariadb101 Software Collection をインストールすることができることに注意してください。
  3. /etc/opt/rh/rh-mariadb102/my.cnfファイルと/etc/opt/rh/rh-mariadb102/my.cnf.d/ディレクトリに格納されているrh-mariadb102 の設定を検査します。/etc/opt/rh/rh-mariadb101/my.cnfおよび/etc/opt/rh/rh-mariadb101/my.cnf.d/に保存されているrh-mariadb101 の設定と比較して、必要に応じて調整してください。
  4. rh-mariadb101 Software Collection のすべてのデータは、特に設定されていない限り、/var/opt/rh/rh-mariadb101/lib/mysql/ディレクトリに保存されます。このディレクトリの内容をすべて/var/opt/rh/rh-mariadb102/lib/mysql/にコピーします。コンテンツを移動することはできますが、アップグレードを続行する前にデータをバックアップすることを忘れないようにしてください。データが mysql ユーザーによって所有され、SELinux コンテキストが正しいことを確認します。
  5. rh-mariadb102 データベースサーバーを起動します。
    service rh-mariadb102-mariadb start
  6. データ移行を実行します。
    scl enable rh-mariadb102 mysql_upgrade
    root ユーザーに空ではないパスワードが定義されている場合 (パスワードを定義しておく必要あり) は、-p オプションを指定して mysql_upgrade ユーティリティーを呼び出してパスワードを指定する必要があります。
    scl enable rh-mariadb102 -- mysql_upgrade -p

5.2. MongoDB 3.4 への移行

Red Hat Software Collections 3.0 は、rh-mongodb34 Software Collectionで提供されるMongoDB 3.4 と共にリリースされます。

5.2.1. MongoDB 3.2 と MongoDB 3.4 との間の主な相違点

一般的な変更点

rh-mongodb34 Software Collection では、一般的な変更点が加えられています。主な変更点は、「MongoDBの変更点」、ナレッジベースの記事Migrating from MongoDB 3.2 to MongoDB 3.4 に掲載されています。
詳細な変更については、アップストリームのリリースノート を参照してください。
また、この Software Collection には rh-mongodb34-syspaths パッケージが含まれており、バイナリー、スクリプト、man ページなどのシステム全体のラッパーを提供するパッケージがインストールされます。rh-mongodb34*-syspaths パッケージをインストールした後、rh-mongodb34* パッケージで提供されるバイナリやスクリプトが正しく機能するために、ユーザーがscl enableコマンドを使用する必要はありません。

互換性の変更点

MongoDB 3.4 には様々なマイナーチェンジが含まれており、以前のバージョンのMongoDBとの互換性に影響を与える可能性があります。詳細は、ナレッジベースの記事Migrating from MongoDB 3.2 to MongoDB 3.4 およびupstream documentation を参照してください。
注目すべきは、以下のMongoDB 3.4 の機能は後方互換性がないため、featureCompatibilityVersion コマンドでバージョンを3.4 に設定する必要があります。
  • 既存のコレクションまたはその他のビューから読み取り専用ビューを作成するためのサポート
  • インデックスバージョンv: 2 によって、照合、10 進数データ、大文字と小文字を区別しないインデックスのサポートが追加されます。
  • 新しいdecimalデータ型によるdecimal128 フォーマットのサポート。
MongoDB 3.4 での後方互換性のない変更点の詳細については、upstream release notesを参照してください。

5.2.2. rh-mongodb32 から rh-mongodb34 Software Collection へのアップグレード

なお、MongoDB 3.4にアップグレードして新機能を使い始めたら、3.2.7 以前のバージョンにダウングレードすることはできません。バージョン 3.2.8 以降にダウングレードできます。
重要
rh-mongodb32 からrh-mongodb34 Software Collection に移行する前に、デフォルトで/var/opt/rh/rh-mongodb32/lib/mongodb/ ディレクトリに保存されているMongoDB データベースを含め、すべてのデータをバックアップしてください。また、互換性の変更点を参照して、お使いのアプリケーションやデプロイメントがMongoDB 3.4 と互換性があることを確認してください。
rh-mongodb34 Software Collection にアップグレードするには、以下の手順を実行します。
  1. rh-mongodb34 Software CollectionsからMongoDB サーバーとシェルをインストールします。
    ~]# yum install rh-mongodb34
  2. MongoDB 3.2 サーバーを停止します。
    ~]# systemctl stop rh-mongodb32-mongod.service
    Red Hat Enterprise Linux 6 システムでservice rh-mongodb32-mongodb stopコマンドを使用します。
  3. データを新しい場所にコピーします。
    ~]# cp -a /var/opt/rh/rh-mongodb32/lib/mongodb/* /var/opt/rh/rh-mongodb34/lib/mongodb/
  4. /etc/opt/rh/rh-mongodb34/mongod.confファイルでrh-mongodb34-mongodデーモンを設定します。
  5. MongoDB 3.4 のサーバーを起動します。
    ~]# systemctl start rh-mongodb34-mongod.service
    Red Hat Enterprise Linux 6 では、代わりにservice rh-mongodb34-mongodb start コマンドを使用します。
  6. 後方互換性機能を有効にします。
    ~]$ scl enable rh-mongodb34 'mongo --host localhost --port 27017 admin' --eval 'db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )'
    mongodサーバーでアクセスコントロールが有効に設定されている場合は、mongoコマンドに--username--passwordのオプションを追加します。
    アップグレード後に、この機能を最初に有効にせずにデプロイメントを実行することが推奨されます。
アップグレードの詳細は、アップストリームのリリースノート を参照してください。
レプリカセットのアップグレードに関する詳細は、アップストリームの MongoDB マニュアル を参照してください。
Sharded Cluster のアップグレードに関する詳細は、アップストリームの MongoDB マニュアル を参照してください。

5.3. MySQL 5.7 への移行

Red Hat Enterprise Linux 6 には、デフォルトのMySQL実装としてMySQL 5.1 が含まれています。Red Hat Enterprise Linux 7 には、デフォルトのMySQL実装としてMariaDB 5.5 が搭載されています。これらの基本バージョンに加えて、MySQL 5.6 はRed Hat Software Collections 2.0 以降、Red Hat Enterprise Linux 6 とRed Hat Enterprise Linux 7 の両方でSoftware Collection として提供されています。
Red Hat Enterprise Linux 6 と Red Hat Enterprise Linux 7 の両方で利用可能なrh-mysql57 Software Collection は、コアシステムのmysql またはmariadb パッケージやrh-mysql56 Software Collection とは競合しないため、rh-mysql57 Software Collection をmysqlmariadbrh-mysql56 パッケージと一緒にインストールすることができます。また、複数のバージョンを同時に実行することも可能ですが、特定リソースが競合しないようにするため、ポート番号と my.cnf ファイルのソケットを変更する必要があります。
なお、MySQL 5.6 からは MySQL 5.7 にしかアップグレードできません。以前のバージョンからアップグレードする必要がある場合は、まずMySQL 5.6 にアップグレードしてください。MySQL 5.6 へのアップグレード方法はRed Hat Software Collections 2.2 Release Notes に記載されています。

5.3.1. MySQL 5.6 と MySQL 5.7 の注目すべき相違点

  • mysql-bench サブパッケージは、rh-mysql57 Software Collection には含まれていません。
  • MySQL 5.7.7 以降、デフォルトのSQLモードにはNO_AUTO_CREATE_USERが含まれています。GRANT ステートメントではデフォルトでユーザーが作成されないため、CREATE USER ステートメントを使用して MySQL アカウントを作成する必要があります。詳細は、upstream documentation を参照してください。
MySQL 5.7 の以前のバージョンと比較したより詳細な変更点については、アップストリームドキュメント: What Is New in MySQL 5.7 およびChanges Affecting Upgrades to MySQL 5.7 を参照してください。

5.3.2. rh-mysql57 Software Collectionへのアップグレード

重要
アップグレードする前に、MySQL データベースを含むすべてのデータのバックアップを作成します。
  1. rh-mysql57 Software Collection をインストールします。
    yum install rh-mysql57-mysql-server
  2. /etc/opt/rh/rh-mysql57/my.cnf ファイルと /etc/opt/rh/rh-mysql57/my.cnf.d/ ディレクトリに格納されている rh-mysql57 の設定を検査します。/etc/opt/rh/rh-mysql56/my.cnfおよび/etc/opt/rh/rh-mysql56/my.cnf.d/に格納されているrh-mysql56 の設定と比較して、必要に応じて調整してください。
  3. rh-mysql56 データベースサーバーが稼働している場合は停止します。
    service rh-mysql56-mysqld stop
  4. rh-mysql56 Software Collection のデータはすべて/var/opt/rh/rh-mysql56/lib/mysql/ディレクトリに保存されます。このディレクトリの内容を全て/var/opt/rh/rh-mysql57/lib/mysql/にコピーします。コンテンツを移動することもできますが、アップグレードを続行する前にデータのバックアップを作成することを忘れないようにしてください。
  5. rh-mysql57 データベースサーバーを起動します。
    service rh-mysql57-mysqld start
  6. データ移行を実行します。
    scl enable rh-mysql57 mysql_upgrade
    root ユーザーに空ではないパスワードが定義されている場合 (パスワードを定義しておく必要あり) は、-p オプションを指定して mysql_upgrade ユーティリティーを呼び出してパスワードを指定する必要があります。
    scl enable rh-mysql57 -- mysql_upgrade -p

5.4. PostgreSQL 9.6 への移行

Red Hat Software Collections 3.0 はPostgreSQL 9.6 と共に配布されており、Red Hat Enterprise Linux 6 のPostgreSQL 8.4、Red Hat Enterprise Linux 7 のPostgreSQL 9.2、またはRed Hat Software Collectionsの以前のバージョンでリリースされたPostgreSQLのいずれかのバージョンと並行して、同じマシンに安全にインストールすることができます。複数のバージョンの PostgreSQL を同時にマシン上で実行することもできますが、別のポートまたは IP アドレスを使用し、SELinux ポリシーを調整する必要があります。

5.4.1. PostgreSQL 9.5 および PostgreSQL 9.6 間の主な違い

PostgreSQL 9.5PostgreSQL 9.6 の間の最も注目すべき変更点は、upstream release notesに記載されています。
rh-postgresql96 Software Collection には、バイナリー、スクリプト、man ページなどのシステム全体のラッパーを提供するパッケージをインストールする rh-postgresql96-syspaths パッケージが含まれます。rh-postgreqsl96*-syspaths パッケージをインストールした後、rh-postgreqsl96* パッケージで提供されるバイナリやスクリプトが正しく機能するために、ユーザーがscl enableコマンドを使用する必要はありません。*-syspaths パッケージは、ベースの Red Hat Enterprise Linux システムと対応するパッケージと競合することに注意してください。
次の表は、Red Hat Enterprise Linux システムバージョンのPostgreSQL (postgresql) とpostgresql92rh-postgresql95rh-postgresql96 Software Collections の異なるパスの概要を示しています。Red Hat Enterprise Linux 6 で配布されているPostgreSQL 8.4 と Red Hat Enterprise Linux 7 で出荷されているシステムバージョンのPostgreSQL 9.2 のパスは同じであることに注意してください。rh-postgresql94 Software Collection のパスはrh-postgresql95 に類似しています。

表5.1 PostgreSQL パスの相違点

コンテンツpostgresqlpostgresql92rh-postgresql95rh-postgresql96
実行ファイル/usr/bin//opt/rh/postgresql92/root/usr/bin//opt/rh/rh-postgresql95/root/usr/bin//opt/rh/rh-postgresql96/root/usr/bin/
ライブラリー/usr/lib64//opt/rh/postgresql92/root/usr/lib64//opt/rh/rh-postgresql95/root/usr/lib64//opt/rh/rh-postgresql96/root/usr/lib64/
資料/usr/share/doc/postgresql/html//opt/rh/postgresql92/root/usr/share/doc/postgresql/html//opt/rh/rh-postgresql95/root/usr/share/doc/postgresql/html//opt/rh/rh-postgresql96/root/usr/share/doc/postgresql/html/
PDF ドキュメント/usr/share/doc/postgresql-docs//opt/rh/postgresql92/root/usr/share/doc/postgresql-docs//opt/rh/rh-postgresql95/root/usr/share/doc/postgresql-docs//opt/rh/rh-postgresql96/root/usr/share/doc/postgresql-docs/
Contrib ドキュメント/usr/share/doc/postgresql-contrib//opt/rh/postgresql92/root/usr/share/doc/postgresql-contrib//opt/rh/rh-postgresql95/root/usr/share/doc/postgresql-contrib//opt/rh/rh-postgresql96/root/usr/share/doc/postgresql-contrib/
ソース未インストール未インストール未インストール未インストール
データ/var/lib/pgsql/data//opt/rh/postgresql92/root/var/lib/pgsql/data//var/opt/rh/rh-postgresql95/lib/pgsql/data//var/opt/rh/rh-postgresql96/lib/pgsql/data/
バックアップエリア/var/lib/pgsql/backups//opt/rh/postgresql92/root/var/lib/pgsql/backups//var/opt/rh/rh-postgresql95/lib/pgsql/backups//var/opt/rh/rh-postgresql96/lib/pgsql/backups/
テンプレート/usr/share/pgsql//opt/rh/postgresql92/root/usr/share/pgsql//opt/rh/rh-postgresql95/root/usr/share/pgsql//opt/rh/rh-postgresql96/root/usr/share/pgsql/
手順言語/usr/lib64/pgsql//opt/rh/postgresql92/root/usr/lib64/pgsql//opt/rh/rh-postgresql95/root/usr/lib64/pgsql//opt/rh/rh-postgresql96/root/usr/lib64/pgsql/
開発ヘッダー/usr/include/pgsql//opt/rh/postgresql92/root/usr/include/pgsql//opt/rh/rh-postgresql95/root/usr/include/pgsql//opt/rh/rh-postgresql96/root/usr/include/pgsql/
他の共有データ/usr/share/pgsql//opt/rh/postgresql92/root/usr/share/pgsql//opt/rh/rh-postgresql95/root/usr/share/pgsql//opt/rh/rh-postgresql96/root/usr/share/pgsql/
リグレッションテスト/usr/lib64/pgsql/test/regress/ (-test パッケージ内)/opt/rh/postgresql92/root/usr/lib64/pgsql/test/regress/ (-test パッケージ内)/opt/rh/rh-postgresql95/root/usr/lib64/pgsql/test/regress/ (-test パッケージ内)/opt/rh/rh-postgresql96/root/usr/lib64/pgsql/test/regress/ (-test パッケージ内)
PostgreSQL 8.4PostgreSQL 9.2 との間の変更点については、Red Hat Software Collections 1.2 Release Notes を参照してください。PostgreSQL 9.2PostgreSQL 9.4 の間の重要な変更点は、Red Hat Software Collections 2.0 Release Notes に記載されています。PostgreSQL 9.4PostgreSQL 9.5 の違いについては、Red Hat Software Collections 2.2 Release Notes を参照してください。

5.4.2. Red Hat Enterprise Linux システムバージョンの PostgreSQL から PostgreSQL 9.6 Software Collection への移行

Red Hat Enterprise Linux 6 にはPostgreSQL 8.4 が、Red Hat Enterprise Linux 7 にはPostgreSQL 9.2 が配布されています。Red Hat Enterprise LinuxシステムバージョンのPostgreSQLからrh-postgresql96 Software Collectionにデータを移行するには、pg_upgradeツールを使用して高速アップグレードを行う(推奨)か、データベースデータをSQLコマンドでテキストファイルにダンプして新しいデータベースにインポートする方法があります。2 つ目の方法は、通常大幅に遅くなるため、手動で修正が必要になる場合があります。このアップグレード方法の詳細は、PostgreSQL ドキュメント を参照してください。以下の手順は、Red Hat Enterprise Linux 6 と Red Hat Enterprise Linux 7 システムバージョンのPostgreSQL に適用されます。
重要
Red Hat Enterprise Linux システムバージョンの PostgreSQL から PostgreSQL 9.6 にデータを移行する前に、デフォルトで /var/lib/pgsql/data/ディレクトリにある PostgreSQL データベースファイルを含むすべてのデータをバックアップしてください。

手順5.1 pg_upgrade ツールを使用した高速アップグレード

PostgreSQL サーバーの高速アップグレードを実行するには、以下の手順を実行します。
  1. 古い PostgreSQL サーバーを停止し、データが一貫性のない状態にあることを確認します。これを行うには、root で次のコマンドを実行します。
    service postgresql stop
    サーバーが起動していないことを確認するには、以下を入力します。
    service postgresql status
  2. 古いディレクトリー /var/lib/pgsql/data/ が存在することを確認します。
    file /var/lib/pgsql/data/
    データのバックアップを作成します。
  3. 新しいデータディレクトリ/var/opt/rh/rh-postgresql96/lib/pgsql/data/が存在していないことを確認します。
    file /var/opt/rh/rh-postgresql96/lib/pgsql/data/
    PostgreSQL 9.6 を新規にインストールした場合、このディレクトリはシステム内に存在しないはずです。存在する場合は、root で以下のコマンドを実行してバックアップを作成します。
    mv /var/opt/rh/rh-postgresql96/lib/pgsql/data{,-scl-backup}
  4. root で以下のコマンドを実行して、新しいサーバーのデータベースデータをアップグレードします。
    scl enable rh-postgresql96 -- postgresql-setup --upgrade
    また、/opt/rh/rh-postgresql96/root/usr/bin/postgresql-setup --upgradeコマンドを使用することもできます。
    別のバージョンの PostgreSQL からのアップグレードには --upgrade-from オプションを使用できます。可能なアップグレードシナリオの一覧は、--upgrade-ids オプションを使用して利用できます。
    アップグレード中に何か問題が発生したかどうかを確認するために、出来上がった/var/lib/pgsql/upgrade_rh-postgresql96-postgresql.logログファイルを読むことをお勧めします。
  5. root で新しいサーバーを起動します。
    service rh-postgresql96-postgresql start
    また、以下のように analyze_new_cluster.sh スクリプトを実行することが推奨されます。
    su - postgres -c 'scl enable rh-postgresql96 ~/analyze_new_cluster.sh'
  6. 必要に応じて、システムの起動時に PostgreSQL 9.6 サーバーが自動的に起動するように設定できます。古いシステム PostgreSQL サーバーを無効にするには、root で以下のコマンドを入力します。
    chkconfig postgresql off
    PostgreSQL 9.6 サーバーを有効にするには、rootで入力します。
    chkconfig rh-postgresql96-postgresql on
  7. デフォルトの設定と異なる場合は、設定ファイル、特に/var/opt/rh/rh-postgresql96/lib/pgsql/data/pg_hba.conf設定ファイルを必ず更新してください。それ以外の場合は、postgres ユーザーのみがデータベースにアクセスできます。

手順5.2 ダンプおよびリストアアップグレードの実行

PostgreSQL サーバーのダンプおよび復元アップグレードを実行するには、以下の手順を実行します。
  1. シェルプロンプトで、root で以下を入力し、古い PostgreSQL サーバーが実行中であることを確認します。
    service postgresql start
  2. PostgreSQL データベースの全データをスクリプトファイルにダンプします。root で以下のコマンドを実行します。
    su - postgres -c 'pg_dumpall > ~/pgdump_file.sql'
  3. root で以下のコマンドを実行して、古いサーバーを停止します。
    service postgresql stop
  4. 新規サーバーのデータディレクトリーを root として初期化します。
    scl enable rh-postgresql96-postgresql -- postgresql-setup --initdb
  5. root で新しいサーバーを起動します。
    service rh-postgresql96-postgresql start
  6. 以前に作成した SQL ファイルからデータをインポートします。
    su - postgres -c 'scl enable rh-postgresql96 "psql -f ~/pgdump_file.sql postgres"'
  7. 必要に応じて、システムの起動時に PostgreSQL 9.6 サーバーが自動的に起動するように設定できます。古いシステム PostgreSQL サーバーを無効にするには、root で以下のコマンドを入力します。
    chkconfig postgresql off
    PostgreSQL 9.6 サーバーを有効にするには、rootで入力します。
    chkconfig rh-postgresql96-postgresql on
  8. デフォルトの設定と異なる場合は、設定ファイル、特に/var/opt/rh/rh-postgresql96/lib/pgsql/data/pg_hba.conf設定ファイルを必ず更新してください。それ以外の場合は、postgres ユーザーのみがデータベースにアクセスできます。

5.4.3. PostgreSQL 9.5 Software Collection から PostgreSQL 9.6 Software Collection への移行

rh-postgresql95 Software Collectionからrh-postgresql96 Collectionにデータを移行するには、pg_upgradeツールを使って高速アップグレードを行うか(推奨)、データベースのデータをSQLコマンドでテキストファイルにダンプして新しいデータベースにインポートする方法があります。2 つ目の方法は、通常大幅に遅くなるため、手動で修正が必要になる場合があります。このアップグレード方法の詳細は、PostgreSQL ドキュメント を参照してください。
重要
PostgreSQL 9.5 からPostgreSQL 9.6 にデータを移行する前に、デフォルトでは/var/opt/rh/rh-postgresql95/lib/pgsql/data/ディレクトリにあるPostgreSQLデータベースファイルを含め、すべてのデータをバックアップしてください。

手順5.3 pg_upgrade ツールを使用した高速アップグレード

PostgreSQL サーバーの高速アップグレードを実行するには、以下の手順を実行します。
  1. 古い PostgreSQL サーバーを停止し、データが一貫性のない状態にあることを確認します。これを行うには、root で次のコマンドを実行します。
    service rh-postgresql95-postgresql stop
    サーバーが起動していないことを確認するには、以下を入力します。
    service rh-postgresql95-postgresql status
  2. 古いディレクトリ/var/opt/rh/postgresql95/lib/pgsql/data/が存在することを確認します。
    file /var/opt/rh/rh-postgresql95/lib/pgsql/data/
    データのバックアップを作成します。
  3. 新しいデータディレクトリ/var/opt/rh/rh-postgresql96/lib/pgsql/data/が存在していないことを確認します。
    file /var/opt/rh/rh-postgresql96/lib/pgsql/data/
    PostgreSQL 9.6 を新規にインストールした場合、このディレクトリはシステム内に存在しないはずです。存在する場合は、root で以下のコマンドを実行してバックアップを作成します。
    mv /var/opt/rh/rh-postgresql96/lib/pgsql/data{,-scl-backup}
  4. root で以下のコマンドを実行して、新しいサーバーのデータベースデータをアップグレードします。
    scl enable rh-postgresql96 -- postgresql-setup --upgrade --upgrade-from=rh-postgresql95-postgresql
    また、/opt/rh/rh-postgresql96/root/usr/bin/postgresql-setup --upgrade --upgrade-from=rh-postgresql95-postgresqlコマンドを使用することもできます。
    別のバージョンの PostgreSQL からアップグレードする場合には、--upgrade-from オプションを使用できます。可能なアップグレードシナリオの一覧は、--upgrade-ids オプションを使用して利用できます。
    アップグレード中に何か問題が発生したかどうかを確認するために、出来上がった/var/lib/pgsql/upgrade_rh-postgresql96-postgresql.logログファイルを読むことをお勧めします。
  5. root で新しいサーバーを起動します。
    service rh-postgresql96-postgresql start
    また、以下のように analyze_new_cluster.sh スクリプトを実行することが推奨されます。
    su - postgres -c 'scl enable rh-postgresql96 ~/analyze_new_cluster.sh'
  6. 必要に応じて、システムの起動時に PostgreSQL 9.6 サーバーが自動的に起動するように設定できます。古いPostgreSQL 9.5 サーバーを無効にするには、rootで次のコマンドを入力します。
    chkconfig rh-postgresql95-postgreqsql off
    PostgreSQL 9.6 サーバーを有効にするには、rootで入力します。
    chkconfig rh-postgresql96-postgresql on
  7. デフォルトの設定と異なる場合は、設定ファイル、特に/var/opt/rh/rh-postgresql96/lib/pgsql/data/pg_hba.conf設定ファイルを必ず更新してください。それ以外の場合は、postgres ユーザーのみがデータベースにアクセスできます。

手順5.4 ダンプおよびリストアアップグレードの実行

PostgreSQL サーバーのダンプおよび復元アップグレードを実行するには、以下の手順を実行します。
  1. シェルプロンプトで、root で以下を入力し、古い PostgreSQL サーバーが実行中であることを確認します。
    service rh-postgresql95-postgresql start
  2. PostgreSQL データベースの全データをスクリプトファイルにダンプします。root で以下のコマンドを実行します。
    su - postgres -c 'scl enable rh-postgresql95 "pg_dumpall > ~/pgdump_file.sql"'
  3. root で以下のコマンドを実行して、古いサーバーを停止します。
    service rh-postgresql95-postgresql stop
  4. 新規サーバーのデータディレクトリーを root として初期化します。
    scl enable rh-postgresql96-postgresql -- postgresql-setup --initdb
  5. root で新しいサーバーを起動します。
    service rh-postgresql96-postgresql start
  6. 以前に作成した SQL ファイルからデータをインポートします。
    su - postgres -c 'scl enable rh-postgresql96 "psql -f ~/pgdump_file.sql postgres"'
  7. 必要に応じて、システムの起動時に PostgreSQL 9.6 サーバーが自動的に起動するように設定できます。古いPostgreSQL 9.5 サーバーを無効にするには、rootで次のコマンドを入力します。
    chkconfig rh-postgresql95-postgresql off
    PostgreSQL 9.6 サーバーを有効にするには、rootで入力します。
    chkconfig rh-postgresql96-postgresql on
  8. デフォルトの設定と異なる場合は、設定ファイル、特に/var/opt/rh/rh-postgresql96/lib/pgsql/data/pg_hba.conf設定ファイルを必ず更新してください。それ以外の場合は、postgres ユーザーのみがデータベースにアクセスできます。
postgresql92 Software Collection から移行する必要がある場合は、Red Hat Software Collections 2.0 Release Notes を参照してください。この手順は同じですが、新しい Collection のバージョンを調整する必要があります。これは、Red Hat Software Collections 2.2 Release Notes で説明したように、rh-postgresql94 Software Collection からの移行を適用します。

5.5. nginx 1.12への移行について

rh-nginx112 Software Collectionは、Red Hat Enterprise Linux 7.4 以降のバージョンでのみ利用可能です。
rh-nginx112 Software Collectionのルートディレクトリは、/opt/rh/rh-nginx112/root/にあります。エラーログは、デフォルトでは/var/opt/rh/rh-nginx112/log/nginxに保存されます。
設定ファイルは、/etc/opt/rh/rh-nginx112/nginx/ディレクトリに格納されます。nginx 1.12 の設定ファイルは、これまでのnginxSoftware Collectionsと同じ構文で、ほぼ同じフォーマットになっています。
/etc/opt/rh/rh-nginx112/nginx/default.d/ディレクトリにある設定ファイル(拡張子が.conf)は、80 番ポートのデフォルトのサーバーブロック設定に含まれます。
重要
nginx 1.10 からnginx 1.12 にアップグレードする前に、/opt/rh/nginx110/root/ツリーにある Web ページや、/etc/opt/rh/nginx110/nginx/ツリーにある設定ファイルなど、すべてのデータをバックアップしてください。
設定ファイルの変更やWebアプリケーションの設定など、特定の変更を/opt/rh/nginx110/root/ツリーで行った場合は、その変更を新しい/opt/rh/rh-nginx112/root//etc/opt/rh/rh-nginx112/nginx/ディレクトリにも反映させてください。
この手順では、nginx 1.4nginx 1.6nginx 1.8nginx 1.10 からnginx 1.12 へ直接アップグレードすることができます。この場合は、適切なパスを使用してください。
nginx の公式ドキュメントは、http://nginx.org/en/docs/を参照してください。

第6章 関連情報

この章では、Red Hat Software Collections 3.0 および Red Hat Enterprise Linux に関するその他の関連情報源への参照を提供します。

6.1. Red Hat 製品ドキュメント

以下のドキュメントは直接的または間接的にこのガイドに関連しています。
  • Red Hat Software Collections 3.0 Packaging Guide: Red Hat Software Collections の 『Packaging Guide』 は、Software Collections の概念や scl ユーティリティーを説明し、カスタム Software Collection の作成方法や既存 Software Collection の拡張方法を詳細に説明しています。
  • Red Hat Developer Toolset 7.0 Release Notes: Red Hat Developer Toolset の 『リリースノート』 には、既知の問題、考えられる問題、変更点、およびこの Software Collection に関するその他の重要な情報が記載されています。
  • Red Hat Developer Toolset 7.0 User Guide: Red Hat Developer Toolset の 『User Guide』 には、この Software Collection のインストールおよび使用に関する詳細情報が記載されています。
  • Using Red Hat Software Collections Container Images: 本書は、Red Hat Software Collections に基づくコンテナーイメージの使用方法に関する情報を提供します。利用可能なコンテナーイメージには、アプリケーション、デーモン、データベース、および Red Hat Developer Toolset コンテナーイメージが含まれます。イメージは、Red Hat Enterprise Linux 7 Server および Red Hat Enterprise Linux Atomic Host で実行できます。
  • Get Started with Docker Formatted Container Images: Red Hat Enterprise Linux 7 および Red Hat Enterprise Linux Atomic Host で Docker 形式のコンテナーイメージを構築および使用するための包括的な概要を説明します。
  • Using and Configuring Red Hat Subscription Manager: 『Using and Configuring Red Hat Subscription Manager』 ガイドでは、Red Hat Enterprise Linux システムの登録、サブスクリプションの管理、登録システムの通知の表示方法の詳細情報を提供します。
  • Red Hat Enterprise Linux 6 Deployment Guide: Red Hat Enterprise Linux 6 の 『Deployment Guide』では、Red Hat Enterprise Linux 6 のデプロイメント、設定、および管理に関する関連情報を提供します。
  • Red Hat Enterprise Linux 7 System Administrator's Guide: Red Hat Enterprise Linux 7 の『System Administrator's Guide』 は、このシステムのデプロイメント、設定、および管理に関する情報を提供します。

6.2. Red Hat Developer Blog

Red Hat Developer Blogのコンテンツは、Red Hat テクノロジーをベースにしたアプリケーションの設計者および開発者に向けたものです。製品チームのブログやその他の関連する弊社内外のリソースへのリンクが含まれています。その目的は、最新の情報、ベストプラクティス、意見、製品やプログラムの発表、サンプルコードやその他のリソースへのポインタを提供し、開発者コミュニティに貢献することです。

6.3. Red Hat Developers Portal

Red Hat Developers Portalでは、Red Hat Software Collections の概要と、Hello world!の例を含む入門用コンテンツを提供しています。

付録A 改訂履歴

改訂履歴
改訂 3.0-11Fri Nov 12 2021Lenka Špačková
「データベースコネクター」 を更新
改訂 3.0-10Tue Dec 18 2018Lenka Špačková
PostgreSQLの移行の章で、コマンドの構文を修正しました。
改訂 3.0-9Mon Oct 30 2017Lenka Špačková
データベースコネクタに関する情報を追加しました。
改訂 3.0-8Tue Oct 24 2017Lenka Špačková
Red Hat Software Collections 3.0 リリースノートの公開。
改訂 3.0-7Tue Oct 03 2017Lenka Špačková
Red Hat Software Collections 3.0 Beta リリースノートの公開。