第3章 用途
本章では、Red Hat Software Collections 3.7 の使用および 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 を、実行するコマンドに置き換えます。たとえば、perl526 Software Collection から Perl インタープリターで
hello.pl
という名前が付けられたファイルに保存されている Perl プログラムを実行するには、以下を入力します。
~]$ scl enable rh-perl526 '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.1.2. デフォルトで Software Collection を使用したシェルセッションの実行
Red Hat Enterprise Linux の同等のものよりも選択した Software Collection の実行可能ファイルで新しいシェルセッションを開始するには、シェルプロンプトで次のように入力します。
scl enable software_collection... bash
software_collection を、使用する Software Collections のスペース区切りリストに置き換えます。たとえば、デフォルトとして python27およびrh-postgresql12 Software Collections で新しいシェルセッションを開始するには、以下を入力します。
~]$ scl enable python27 rh-postgresql12 bash
現行セッションで有効になっている Software Collections のリストは、
$X_SCLS
環境変数に保存されます。以下に例を示します。
~]$ echo $X_SCLS
python27 rh-postgresql12
Red Hat Software Collections で配布される Software Collections の完全リストは、表1.1「Red Hat Software Collections のコンポーネント」を参照してください。
3.1.3. Software Collection からのシステムサービスの実行
Red Hat Enterprise Linux 7 では、init スクリプトが
systemd
サービスのユニットファイルに置き換えられました。このファイルは、.service
ファイル拡張子で終わり、init スクリプトとして同様の目的で使用されています。現行セッションでサービスを起動するには、root
で以下のコマンドを実行します。
systemctl start software_collection-service_name.service
software_collection を、Software Collection および service_name を、開始するサービスの名前に置き換えます。
システムの起動時にこのサービスが自動的に開始するように設定するには、
root
で以下のコマンドを入力します。
systemctl enable software_collection-service_name.service
たとえば、rh-postgresql12 Software Collection から
postgresql
サービスを起動し、システムの起動時に有効にするには、root
で以下を入力します。
~]# systemctl start rh-postgresql12-postgresql.service ~]# systemctl enable rh-postgresql12-postgresql.service
Red Hat Enterprise Linux 7 でシステムサービスを管理する方法は、Red Hat Enterprise Linux 7 System Administrator's Guide を参照してください。Red Hat Software Collections で配布される Software Collections の完全リストは、表1.1「Red Hat Software Collections のコンポーネント」を参照してください。
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-mariadb105 の man ページを表示するには、以下を入力します。
~]$ scl enable rh-mariadb105 "man rh-mariadb105"
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 をベースとしたコンテナーイメージの詳細は、Red Hat Software Collections 2 コンテナーイメージを参照してください。
各コンテナーイメージの最新バージョンのみがサポートされることに注意してください。
以下のコンテナーイメージは、Red Hat Software Collections 3.7:
で利用できます。
- rhscl/mariadb-105-rhel7
- rhscl/postgresql-13-rhel7
- rhscl/ruby-30-rhel7
- rhscl/devtoolset-10-toolchain-rhel7
- rhscl/devtoolset-10-perftools-rhel7
- rhscl/ruby-27-rhel7
- rhscl/ruby-26-rhel7
以下のコンテナーイメージは Red Hat Software Collections 3.6:
をベースとしています。
- rhscl/httpd-24-rhel7
- rhscl/nginx-118-rhel7
- rhscl/nodej-14-rhel7
- rhscl/perl-530-rhel7
- rhscl/php-73-rhel7
以下のコンテナーイメージは Red Hat Software Collections 3.5 をベースとしています。
- rhscl/python-38-rhel7
- rhscl/varnish-6-rhel7
以下のコンテナーイメージは、Red Hat Software Collections 3.4 をベースとしています。
- rhscl/nginx-116-rhel7
- rhscl/nodejs-12-rhel7
- rhscl/postgresql-12-rhel7
以下のコンテナーイメージは、Red Hat Software Collections 3.3 をベースとしています。
- rhscl/mariadb-103-rhel7
- rhscl/redis-5-rhel7
以下のコンテナーイメージは、Red Hat Software Collections 3.2 をベースとしています。
- rhscl/mysql-80-rhel7
以下のコンテナーイメージは、Red Hat Software Collections 3.1 をベースとしています。
- rhscl/postgresql-10-rhel7
以下のコンテナーイメージは、Red Hat Software Collections 3.2 をベースとしています。
- rhscl/python-27-rhel7
- rhscl/s2i-base-rhel7