第 2 章 安装

本章论述了如何访问内容集合,在系统中安装 Red Hat Software Collections 3.6,并重建 Red Hat Software Collections。

2.1. 获取 Red Hat Software Collections

Red Hat Software Collections 内容集可供客户使用 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 订阅,网址为 https://access.redhat.com/solutions/472793。有关如何在 Red Hat Subscription Management (RHSM)中注册您的系统的详情,请参考使用和配置 Red Hat Subscription Manager。有关如何使用 RHSM 启用 Red Hat Software Collections 的详情,请参考 第 2.1.1 节 “使用 Red Hat Subscription Management”
从 Red Hat Software Collections 2.2 开始,Red Hat Software Collections 和 Red Hat Developer Toolset 内容也以 ISO 格式( https://access.redhat.com/downloads 特别是 ServerWorkstation )提供。请注意,需要 Optional 软件仓库的软件包(在 第 2.1.2 节 “来自 Optional 仓库的软件包” 中列出的)无法从 ISO 镜像安装。
注意
需要 Optional 存储库的软件包无法从 ISO 镜像安装。第 2.1.2 节 “来自 Optional 仓库的软件包” 中提供了需要启用 Optional 软件仓库的软件包列表。
Beta 内容在 ISO 格式不可用。

2.1.1. 使用 Red Hat Subscription Management

如果您的系统注册到 Red Hat Subscription Management,请完成以下步骤以附加提供对 Red Hat Software Collections 仓库的访问权限并启用存储库的订阅:
  1. 显示可用于您的系统的所有订阅的列表,并确定提供 Red Hat Software Collections 的订阅池 ID。要做到这一点,以 root 用户身份在 shell 提示符后输入以下内容:
    subscription-manager list --available
    对于每个可用订阅,这个命令会显示其名称、唯一标识符、到期日期以及与之相关的其他详细信息。池 ID 在以 Pool Id 开头的行上列出。
  2. root 用户身份运行以下命令,为您的系统附加适当的订阅:
    subscription-manager attach --pool=pool_id
    使用您在上一步中确定的池 ID 替换 pool_id。要验证系统当前附加的订阅列表,以 root 用户身份输入:
    subscription-manager list --consumed
  3. 显示可用的 Yum 列表存储库列表,以检索存储库元数据,并确定红帽软件集合存储库的确切名称。以 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>
    使用 Red Hat Enterprise Linux 系统变体(即 serverworkstation )替换 variant。请注意,在客户端或 ComputeNode 变体上都不支持 Red Hat Software Collections。
  4. root 用户身份运行以下命令来启用适当的存储库:
    subscription-manager repos --enable repository
当订阅附加到系统后,您可以安装 Red Hat Software Collections,如 第 2.2 节 “安装 Red Hat Software Collections” 所述。有关如何使用红帽订阅管理注册您的系统并将其与订阅相关联的更多信息,请参阅使用和配置红帽订阅管理器
注意
通过 RHN 的订阅不再可用。

2.1.2. 来自 Optional 仓库的软件包

有些 Red Hat Software Collections 软件包需要启用 Optional 软件仓库,以完成这些软件包的完整安装。有关如何将您的系统订阅到这个软件仓库的详情,请查看 的相关知识库文章 https://access.redhat.com/solutions/392003
下表中列出了需要启用 Optional 软件仓库的 Software Collections for Red Hat Enterprise Linux 中的软件包。请注意,不支持 Optional 存储库中的软件包。详情请查看知识库文章 https://access.redhat.com/articles/1150793

表 2.1. 在 Red Hat Enterprise Linux 7 中启用可选存储库的软件包

Software Collection 中的软件包可选仓库中的所需软件包
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 是 RPM 软件包的集合,可以使用 Red Hat Enterprise Linux 中包含的标准软件包管理工具进行安装、更新和卸载。请注意,需要一个有效的订阅才能在您的系统上安装红帽软件集合。有关如何将您的系统与适当的订阅相关联的详情,并可以访问 Red Hat Software Collections,请参阅 第 2.1 节 “获取 Red Hat Software Collections”
使用 Red Hat Software Collections 3.6 需要删除所有早期预发布版本。如果您已安装任何以前的 Red Hat Software Collections 2.1 组件版本,请从系统中卸载它并安装新版本,如 第 2.3 节 “卸载 Red Hat Software Collections”第 2.2.1 节 “安装单个 Software Collections” 部分所述。
Red Hat Software Collections 不支持从 Red Hat Enterprise Linux 6 原位升级到 Red Hat Enterprise Linux 7。因此,升级后安装的 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 Collections

要安装 表 1.1 “Red Hat Software Collections 组件” 中列出的任何 Software Collections,请以 root 用户身份在 shell 提示符后输入以下内容来安装对应的 meta 软件包:
yum install software_collection...
software_collection 替换为您要安装的以空格分隔的 Software Collections 列表。例如,要安装 php54rh-mariadb100,请以 root 用户身份键入:
~]# yum install rh-php72 rh-mariadb102
这会为所选 Software Collection 安装主 meta 软件包,以及一组必要的软件包作为其依赖项。有关如何安装其他软件包(如附加模块)的详情,请参考 第 2.2.2 节 “安装可选软件包”

2.2.2. 安装可选软件包

Red Hat Software Collections 的每个组件都附带多个可选软件包,它们默认没有安装。要列出部分特定 Software Collection 但不安装在您的系统中的所有软件包,在 shell 提示符后输入以下内容:
yum list available software_collection-\*
要安装这些可选软件包,以 root 用户身份键入:
yum install package_name...
使用您要安装的软件包列表替换 package_name。例如,要安装 rh-perl526-perl-CPANrh-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
请注意,您需要使用这些软件包访问存储库。如果您的系统通过红帽订阅管理注册,请启用 rhel-variant-rhscl-6-debug-rpmsrhel-variant-rhscl-7-debug-rpms 存储库,如 第 2.1.1 节 “使用 Red Hat Subscription Management” 所述。有关如何访问 debuginfo 软件包的更多信息,请参阅 https://access.redhat.com/solutions/9907

2.3. 卸载 Red Hat Software Collections

要卸载任何 Software Collections 组件,以 root 用户身份在 shell 提示符后输入以下内容:
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' 命令,您首先需要重新构建 metapackage,它提供 < collection>-build 软件包。
请注意,不应使用不同内容重建现有集合。要将新软件包添加到现有集合中,您需要创建一个包含新软件包的新集合,并使其依赖于原始集合中的软件包。原始集合必须在不更改的情况下使用。
有关构建 Software Collections 的详细信息,请参阅 Red Hat Software Collections Packaging Guide