第2章 インストール

本章では、コンテンツセットへのアクセスし、システムに Red Hat Software Collections 3.6 をインストールし、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 Subscription Management (RHSM) でシステムを登録する方法は、Using and Configuring Red Hat Subscription Manager を参照してください。RHSM を使用して Red Hat Software Collections を有効にする方法は、「Red Hat Subscription Management の使用」 を参照してください。
Red Hat Software Collections 2.2 以降、Red Hat Software Collections および Red Hat Developer Toolset のコンテンツは、(特に Server および Workstation 向けに) https://access.redhat.com/downloads にて ISO 形式でも提供されています。「Optional リポジトリーからのパッケージ」 に記載されている Optional リポジトリーを必要とするパッケージは、ISO イメージからインストールできないことに注意してください。
注記
Optional リポジトリーを必要とするパッケージを ISO イメージからインストールすることはできません。Optional リポジトリーの有効化が必要なパッケージの一覧は、「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 を参照してください。
注記
RHN によるサブスクリプションは利用できなくなりました。

2.1.2. Optional リポジトリーからのパッケージ

Red Hat Software Collections パッケージの一部では、このパッケージの完全なインストールを完了するために、Optional リポジトリーを有効にする必要があります。このリポジトリーにシステムをサブスクライブする方法の詳細は、https://access.redhat.com/solutions/392003 のナレッジベースの記事を参照してください。
Optional リポジトリーを有効にする必要がある Red Hat Enterprise Linux の Software Collections パッケージを以下の表に示します。Optional リポジトリーのパッケージはサポートされないことに注意してください。詳細は、ナレッジベースの記事 https://access.redhat.com/articles/1150793 を参照してください。

表2.1 Red Hat Enterprise Linux 7 で Optional リポジトリーを有効にする必要があるパッケージ

Software Collection からのパッケージOptional リポジトリーから必要なパッケージ
devtoolset-10-buildscl-utils-build
devtoolset-10-dyninst-testsuiteglibc-static
devtoolset-10-elfutils-debuginfodbsdtar
devtoolset-10-gcc-plugin-devellibmpc-devel
devtoolset-10-gdbsource-highlight
devtoolset-9-buildscl-utils-build
devtoolset-9-dyninst-testsuiteglibc-static
devtoolset-9-gcc-plugin-devellibmpc-devel
devtoolset-9-gdbsource-highlight
httpd24-mod_ldapapr-util-ldap
httpd24-mod_sessionapr-util-openssl
python27-python-debugtix
python27-python-develscl-utils-build
python27-tkintertix
rh-git218-git-cvscvsps
rh-git218-git-svnperl-Git-SVN, subversion
rh-git218-perl-Git-SVNsubversion-perl
rh-git227-git-cvscvsps
rh-git227-git-svnperl-Git-SVN, subversion
rh-git227-perl-Git-SVNsubversion-perl
rh-java-common-ant-apache-bsfrhino
rh-java-common-batikrhino
rh-maven35-buildscl-utils-build
rh-maven35-xpp3-javadocjava-1.8.0-openjdk-javadoc-zip, java-11-openjdk-javadoc, java-1.7.0-openjdk-javadoc, java-11-openjdk-javadoc-zip, java-1.8.0-openjdk-javadoc
rh-php73-php-develpcre2-devel
rh-php73-php-pspellaspell
rh-python36-buildscl-utils-build
rh-python36-python-develscl-utils-build
rh-python38-python-develscl-utils-build

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.6 を使用するには、以前のリリース前のバージョンを削除する必要があります。以前のバージョンの Red Hat Software Collections 2.1 コンポーネントをインストールしている場合は、システムからアンインストールし、および 「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 のコンポーネント」 に記載されている Software Collection をインストールするには、シェルプロンプトで root として次のように入力して、対応するメタパッケージをインストールします。
yum install software_collection...
software_collection を、インストールする Software Collections のスペース区切りリストに置き換えます。たとえば、php54 および rh-mariadb100 をインストールし、root として以下を入力します。
~]# yum install rh-php72 rh-mariadb102
これにより、選択した Software Collection のメインメタパッケージと、必要なパッケージの依存関係がインストールされます。追加モジュールなどの追加パッケージをインストールする方法は、「オプションパッケージのインストール」 を参照してください。

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

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

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

Red Hat Software Collections パッケージのデバッグ情報をインストールするには、yum-utils パッケージがインストールされていることを確認し、root で以下のコマンドを入力します。
debuginfo-install package_name
たとえば、rh-ruby25-ruby パッケージのデバッグ情報をインストールするには、以下を入力します。
~]# debuginfo-install rh-ruby25-ruby
これらのパッケージを含むリポジトリーにアクセスできる必要があることに注意してください。システムが Red Hat Subscription Management に登録されている場合は、「Red Hat Subscription Management の使用」 で説明しているように、rhel-variant-rhscl-6-debug-rpms または rhel-variant-rhscl-7-debug-rpms リポジトリーを有効化します。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 を参照してください。