第 1 章 Red Hat Software Collections 3.1


本章作为 Red Hat Software Collections 3.1 内容集的概述。它提供了组件及其描述列表,总结此版本的更改、记录相关兼容性信息以及列出已知问题。

1.1. 关于 Red Hat Software Collections

对于某些应用程序,通常需要最新版本的一些软件组件才能使用它们的最新新功能。Red Hat Software Collections 是一个红帽产品,它提供一组动态编程语言、数据库服务器和各种相关软件包,它们比基本 Red Hat Enterprise Linux 系统中包含的对等版本更最新的,或者首次对此系统可用。
Red Hat Software Collections 3.1 可用于 Red Hat Enterprise Linux 7;为 Red Hat Enterprise Linux 6 选择了新组件和以前发布的组件。有关作为 Red Hat Software Collections 一部分分发的组件的完整列表,以及其功能的简短概述,请参阅 第 1.2 节 “主要功能”
Red Hat Software Collections 不会替换 Red Hat Enterprise Linux 6 或 Red Hat Enterprise Linux 7 提供的默认系统工具。相反,在 /opt/ 目录中安装了一组并行工具,并可以选择使用提供的 scl 工具为每个应用程序启用。例如,Perl 或 PostgreSQL 的默认版本会保留由基本 Red Hat Enterprise Linux 系统提供的。
Red Hat Enterprise Linux 订阅级别协议完全支持所有 Red Hat Software Collections 组件,它们的功能完整,并可用于生产环境。重要的程序错误修复和安全勘误会以类似 Red Hat Enterprise Linux 的方式向 Red Hat Software Collections 发布程序发布,从每个主版本发行之日起至少两年。在每个主发行版本流中,所选组件的每个版本都保持向后兼容性。有关各个组件支持长度的详细信息,请参阅 Red Hat Software Collections 产品生命周期 文档。

1.1.1. Red Hat Developer Toolset

Red Hat Developer Toolset 是 Red Hat Software Collections 的一部分,作为一个单独的 Software Collection 提供。有关 Red Hat Developer Toolset 的更多信息,请参阅 Red Hat Developer Toolset 发行注记Red Hat Developer Toolset 用户指南

1.2. 主要功能

表 1.1 “Red Hat Software Collections 3.1 组件” 列出 Red Hat Software Collections 3.1 版本时支持的所有组件。
表 1.1. Red Hat Software Collections 3.1 组件
组件 Software Collection 描述
Red Hat Developer Toolset 7.1 devtoolset-7 Red Hat Developer Toolset 专为使用 Red Hat Enterprise Linux 平台的开发人员设计。它提供了 GNU Compiler CollectionGNU Debugger 和其他开发、调试和性能监控工具的当前版本。有关组件的完整列表,请参阅 Red Hat Developer Toolset 用户指南中的 Red Hat Developer Toolset 组件 表。
Eclipse 4.6.3[a] rh-eclipse46 Eclipse 集成开发环境 的发布,它基于 Eclipse Foundation 的 Neon 版本培训。Eclipse 之前作为 Red Hat Developer Toolset 组件提供。此 Software Collection 依赖于 rh-java-common 组件。
Perl 5.24.0 rh-perl524 Perl 版本,一种高级编程语言,通常用于系统管理实用程序和 Web 编程。rh-perl524 Software Collection 为 MySQL 和 PostgreSQL 提供了额外的实用程序、脚本和数据库连接器。它包括 DateTime Perl 模块和 mod_perl Apache httpd 模块,该模块仅支持 httpd24 软件集合。另外,它还为轻松安装 CPAN 模块提供 cpanm 工具。
Perl 5.26.1 [a] rh-perl526 Perl 版本,一种高级编程语言,通常用于系统管理实用程序和 Web 编程。rh-perl526 Software Collection 为 MySQL 和 PostgreSQL 提供了额外的实用程序、脚本和数据库连接器。它包括 DateTime Perl 模块和 mod_perl Apache httpd 模块,该模块仅支持 httpd24 软件集合。另外,它还为轻松安装 CPAN 模块提供 cpanm 工具。rh-perl526 打包与上游社区一致; perl526-perl 软件包也会安装核心模块,而解释器则由 perl-interpreter 软件包提供。
PHP 7.0.27 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 数据库连接器,以及 numpyscipy
Python 3.5.1 rh-python35 rh-python35 Software Collection 包含 Python 3.5.1 解释器,一组用于编程 Web 应用和 mod_wsgi 的扩展库(只在 httpd24 Software Collection 中受支持)、PostgreSQL 数据库连接器和 numpyscipy
Python 3.6.3 rh-python36 rh-python36 Software Collection 包含 Python 3.6.3,它引入了一些新功能,如 f-strings、变量注解的语法以及异步生成器和理解。此外,还包括一组适用于编程 Web 应用的扩展库,mod_wsgi (仅支持 httpd24 软件集合)、PostgreSQL 数据库连接器、numpyscipy
Ruby 2.3.6 rh-ruby23 Ruby 2.3 发布。此版本 引入了一个命令行选项,用于冻结源文件中的所有字符串文字、安全导航运算符和多个性能增强, 同时维护与 Ruby 2.2、Ruby 2.0.0 和 Ruby 1.9.3 的源级向后兼容性。
Ruby 2.4.3 rh-ruby24 Ruby 2.4 的版本。此版本提供多个性能改进和增强,例如 改进哈希表、新的调试功能、对 Unicode 案例映射的支持以及 OpenSSL 1.1.0 的支持。Ruby 2.4.0 维护与 Ruby 2.3、Ruby 2.2、Ruby 2.0.0 和 Ruby 1.9.3 的源级向后兼容性。
Ruby 2.5.0 [a] rh-ruby25 Ruby 2.5 发行之日。此版本提供多个性能改进和新功能,例如,简化了带有 rescueelseensure 关键字的块的使用,一个新的 yield_self 方法,支持分支覆盖和方法覆盖测量、新的 Hash#sliceHash#transform_keys 方法。Ruby 2.5.0 保持与 Ruby 2.4 的源级向后兼容性。
Ruby on Rails 4.2.6 rh-ror42 Ruby on Rails 4.2 的一个发行版本,它是一个使用 Ruby 语言编写的 web 应用程序框架。本发行版本中的亮点包括 Active Job、异步邮件、Adequate Record、Web 控制台和外键支持。此 Software Collection 与 rh-ruby23rh-nodejs4 Collections 一起支持。
Ruby on Rails 5.0.1 rh-ror50 Ruby on Rails 5.0 版本,这是使用 Ruby 语言编写的 Web 应用程序框架的最新版本。主要新功能包括 Action Cable, API mode, exclusive use of rails CLI over Rake, 和 ActionRecord 属性。此 Software Collection 与 rh-ruby24rh-nodejs6 Collections 一起支持。
Scala 2.10.6 [a] rh-scala210 Scala 的发布是 Java 平台的通用编程语言,集成了面向对象和功能语言的功能。
MariaDB 10.1.29 rh-mariadb101 MariaDB 版本,这是 Red Hat Enterprise Linux 用户的 MySQL 的替代方案。对于所有实际目的,MySQL 与 MariaDB 兼容的二进制文件,可以在没有任何数据转换的情况下被替换为它。此版本添加了 Galera 集群支持
MariaDB 10.2.8 rh-mariadb102 MariaDB 版本,这是 Red Hat Enterprise Linux 用户的 MySQL 的替代方案。对于所有实际目的,MySQL 与 MariaDB 兼容的二进制文件,可以在没有任何数据转换的情况下被替换为它。此版本添加了 MariaDB 备份、Flashback、对递归通用表表达式、窗口功能和 JSON 功能的支持
MongoDB 3.2.10 rh-mongodb32 MongoDB 的发布,是一个跨平台 文档型数据库系统,被归类为 NoSQL 数据库。此 Software Collection 包括 mongo-java-driver 软件包版本 3.2.1。
MongoDB 3.4.9 rh-mongodb34 MongoDB 的发布,一个面向平台的跨平台文档数据库系统被归类为 NoSQL 数据库。此发行版本引进了对新架构的支持,增加了对十进制128 类型的消息压缩和支持,增强了协调功能 等等。
MongoDB 3.6.3 [a] rh-mongodb36 MongoDB 的发布,一个面向平台的跨平台文档数据库系统被归类为 NoSQL 数据库。此发行版本引入了 更改流、可重试写入和 JSON 架构,以及其他功能。
MySQL 5.7.21 rh-mysql57 MySQL 的发布,它提供很多新功能和增强,包括提高性能。
PostgreSQL 9.5.9 rh-postgresql95 PostgreSQL 的发行版本,它提供了很多改进,包括 行级安全控制、 引入复制进度跟踪、改进处理大量列的大型表,并提高了排序和多 CPU 机器的性能。
PostgreSQL 9.6.5 rh-postgresql96 PostgreSQL 的一个发行版本,它引入了后续扫描、加入和聚合的并行执行,并提供同步复制、全文本搜索、解码驱动程序、postgres_fdw 以及性能改进。
PostgreSQL 10.3 [a] rh-postgresql10 PostgreSQL 发行版本,它包括显著的性能改进和一些新功能,如使用 publishsubscribe 关键字的逻辑复制,或者基于 SCRAM-SHA-256 机制的更强大的密码身份验证
Node.js 4.6.2 rh-nodejs4 Node.js 的一个发行版本,它提供了一个基于 Chrome 的 V8 JavaScript 引擎和 npm 2.15.1 构建的 JavaScript 运行时,这是 JavaScript 的软件包管理器。这个版本包括增强的 API、多个安全和程序错误修复,以及对 SPDY 协议版本 3.1 的支持
Node.js 6.11.3 rh-nodejs6 一个 Node.js 版本,提供多个 API 增强、性能和安全改进,ECMA Script 2015 支持npm 3.10.9
Node.js 8.9.4 [a] rh-nodejs8 Node.js 的一个发行版本,提供多个 API 增强和新功能,包括 V8 引擎版本 6.0、npm 5.6.0 和 npx、增强的安全性、实验性 N-API 支持和性能改进。
nginx 1.8.1 rh-nginx18 nginx 版本、一个 web 和代理服务器,专注于高并发、性能和低内存使用。此版本引入了一些新功能,包括 后端 SSL 证书验证、记录到 syslog、用于卸载 I/O 请求或哈希负载平衡方法的线程池
nginx 1.10.2 rh-nginx110 nginx 版本、一个 web 和代理服务器,专注于高并发、性能和低内存使用。这个版本引入了很多新功能,包括 动态模块支持、HTTP/2 支持、Perl 集成和大量性能改进
nginx 1.12.1 [a] rh-nginx112 nginx 版本、一个 web 和代理服务器,专注于高并发、性能和低内存使用。这个版本引入了很多新功能,包括 IP Transparency、改进了 TCP/UDP 负载均衡、增强的缓存性能以及大量性能改进
Apache httpd 2.4.27 httpd24 Apache HTTP 服务器(httpd)发行版本,包括基于性能事件的处理模型、增强的 SSL 模块和 FastCGI 支持。还包括 mod_auth_kerb 模块。
Varnish Cache 4.0.3 rh-varnish4 Varnish Cache 的一个发行版本,它是一个 高性能 HTTP 反向代理Varnish 缓存 将文件或文件片段存储在内存中,用于减少未来对等请求的响应时间和网络带宽消耗。
Varnish Cache 5.2.1 [a] rh-varnish5 Varnish Cache 的一个发行版本,它是一个高性能 HTTP 反向代理。此版本包括 分片 director、实验性 HTTP/2 支持以及通过单独的 VCL 文件和 VCL 标签对 Varnish 配置的改进
Maven 3.3.9 rh-maven33 Maven 版本,一种 软件项目管理和理解工具,主要用于 Java 项目。此版本提供各种改进,例如,改进了内核扩展机制
Maven 3.5.0 [a] rh-maven35 Maven 版本,一种软件项目管理和理解工具。此发行版本引进了对新架构和多个新功能的支持,包括 颜色日志记录
Git 2.9.3 rh-git29 Git 版本,一种 具有分散架构的分布式修订控制系统。与使用客户端-服务器模型的集中式版本控制系统不同,Git 确保 Git 存储库的每个工作副本都是其完整修订历史记录的确切副本。
Redis 3.2.4 rh-redis32 Redis 3.2 的一个发行版本,它是一个 持久的键值数据库
HAProxy 1.8.4 [a] rh-haproxy18 HAProxy 1.8 版本,它是一个可靠、高性能的 网络负载均衡器,用于基于 TCP 和 HTTP 的应用程序。
常见 Java 软件包 rh-java-common 此 Software Collection 提供由 其他集合使用的通用 Java 库和工具。devtoolset-4、devtoolset-3、dev- maven33、maven30rh- mongodb32、rh-mongodb26、rh-mongodb26rmostat1、 rh-thermostat16rh-eclipse46 组件需要 rh-java-common Software Collection,用户不应直接安装它。
[a] 这个 Software Collection 仅适用于 Red Hat Enterprise Linux 7
以前发布的 Software Collections 在同一个发行版本频道中仍然可用。所有 Software Collections (包括已弃用组件)都列在 表 1.2 “所有可用的 Software Collections” 中。不再支持的软件集合标有星号(*)。
有关各个组件支持长度的信息,请参阅 Red Hat Software Collections 产品生命周期 文档。有关以前发布的组件的详细信息,请参阅早期版本的 Red Hat Software Collections 发行注记
表 1.2. 所有可用的 Software Collections
组件 Software Collection 可用性 RHEL7 支持的构架
Red Hat Software Collections 3.1 中的组件新功能
Perl 5.26.1rh-perl526RHEL7x86_64, s390x, aarch64, ppc64le
Ruby 2.5.0rh-ruby25RHEL7x86_64, s390x, aarch64, ppc64le
MongoDB 3.6.3rh-mongodb36RHEL7x86_64, s390x, aarch64, ppc64le
Varnish Cache 5.2.1rh-varnish5RHEL7x86_64, s390x, aarch64, ppc64le
PostgreSQL 10.3rh-postgresql10RHEL7x86_64, s390x, aarch64, ppc64le
HAProxy 1.8.4rh-haproxy18RHEL7x86_64
表 1.2. 所有可用的 Software Collections
Red Hat Software Collections 3.1 中更新的组件
Red Hat Developer Toolset 7.1devtoolset-7RHEL6, RHEL7x86_64, s390x, aarch64, ppc64, ppc64le
PHP 7.0.27rh-php70RHEL6, RHEL7x86_64
MySQL 5.7.21rh-mysql57RHEL6, RHEL7x86_64, s390x, aarch64, ppc64le
Apache httpd 2.4.27httpd24RHEL6, RHEL7x86_64, s390x, aarch64, ppc64le
表 1.2. 所有可用的 Software Collections
在 Red Hat Software Collections 3.0 中更新组件
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.9.4rh-nodejs8RHEL7x86_64, s390x, aarch64, ppc64le
表 1.2. 所有可用的 Software Collections
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.3rh-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
常见 Java 软件包rh-java-common RHEL6, RHEL7x86_64
表 1.2. 所有可用的 Software Collections
在 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
Python 3.5.1rh-python35RHEL6, RHEL7x86_64
MongoDB 3.2.10rh-mongodb32RHEL6, RHEL7x86_64
Ruby 2.3.6rh-ruby23RHEL6, RHEL7x86_64
PHP 5.6.25rh-php56*RHEL6, RHEL7x86_64
表 1.2. 所有可用的 Software Collections
在 Red Hat Software Collections 2.2 中更新组件
Red Hat Developer Toolset 4.1devtoolset-4*RHEL6, RHEL7x86_64
MariaDB 10.1.29rh-mariadb101RHEL6, RHEL7x86_64
MongoDB 3.0.11 升级集合 rh-mongodb30upg*RHEL6, RHEL7x86_64
Node.js 4.6.2rh-nodejs4RHEL6, RHEL7x86_64
PostgreSQL 9.5.9rh-postgresql95RHEL6, RHEL7x86_64
Ruby on Rails 4.2.6rh-ror42RHEL6, RHEL7x86_64
MongoDB 2.6.9rh-mongodb26*RHEL6, RHEL7x86_64
Thermostat 1.4.4Thermostat1*RHEL6, RHEL7x86_64
表 1.2. 所有可用的 Software Collections
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.10v8314*RHEL6, RHEL7x86_64
表 1.2. 所有可用的 Software Collections
组件最后在 Red Hat Software Collections 2.0 中更新
Red Hat Developer Toolset 3.1devtoolset-3*RHEL6, RHEL7x86_64
Perl 5.20.1rh-perl520*RHEL6, RHEL7x86_64
Python 3.4.2rh-python34*RHEL6, RHEL7x86_64
Ruby 2.2.9rh-ruby22*RHEL6, RHEL7x86_64
Ruby on Rails 4.1.5rh-ror41*RHEL6, RHEL7x86_64
MariaDB 10.0.33rh-mariadb100*RHEL6, RHEL7x86_64
MySQL 5.6.40rh-mysql56*RHEL6, RHEL7x86_64
PostgreSQL 9.4.14rh-postgresql94*RHEL6, RHEL7x86_64
passenger 4.0.50rh-passenger40*RHEL6, RHEL7x86_64
PHP 5.4.40php54*RHEL6, RHEL7x86_64
PHP 5.5.21php55*RHEL6, RHEL7x86_64
nginx 1.6.2nginx16*RHEL6, RHEL7x86_64
DevAssistant 0.9.3devassist09*RHEL6, RHEL7x86_64
表 1.2. 所有可用的 Software Collections
在 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, big endian
ppc64le - IBM POWER, little endian
* 弃用的组件 - 此 Software Collection 不再被支持
上面的表通过异步更新列出最新版本。
请注意,Red Hat Software Collections 2.0 及之后的版本中发布的 Software Collections 在其名称中包含 rh- 前缀。

1.3. Red Hat Software Collections 3.1 的变化

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.1 在 Red Hat Enterprise Linux 7 中支持以下构架:
  • 64 位 ARM 架构
  • IBM z 系统
  • IBM POWER, little endian
有关组件及其可用性的完整列表,请参阅 表 1.2 “所有可用的 Software Collections”

新 Software Collections

Red Hat Software Collections 3.1 添加以下新 Software Collections:
所有新的 Software Collections 仅适用于 Red Hat Enterprise Linux 7。

更新了 Software Collections

Red Hat Software Collections 3.1 中更新了以下组件 hav:

Red Hat Software Collections 容器镜像

以下容器镜像是 Red Hat Software Collections 3.1 中的新容器镜像:
  • rhscl/perl-526-rhel7
  • rhscl/ruby-25-rhel7
  • rhscl/mongodb-36-rhel7
  • rhscl/varnish-5-rhel7
  • rhscl/postgresql-10-rhel7
Red Hat Software Collections 3.1 中更新了以下容器镜像:
  • rhscl/devtoolset-7-toolchain-rhel7
  • rhscl/devtoolset-7-perftools-rhel7
  • rhscl/php-70-rhel7
  • rhscl/httpd-24-rhel7
有关 Red Hat Software Collections 容器镜像的详情,请参考 第 3.4 节 “Red Hat Software Collections 容器镜像”

1.3.2. Red Hat Developer Toolset 的变化

与之前的 Red Hat Developer Toolset 7.1 版本相比,Red Hat Developer Toolset 7.1 中已经升级了以下组件:
  • GCC 到版本 7.3.1
另外,以下组件提供了程序错误修正更新:
  • GDB
  • Valgrind
  • elfutils
  • binutils
  • dwz
  • memstomp
  • make
  • ltrace
  • strace
  • oprofile
  • SystemTap
  • Dyninst
有关 7.1 中更改的详细信息,请参阅 Red Hat Developer Toolset 用户指南

1.3.3. Perl 中的更改

新的 rh-perl526 Software Collection 包括 Perl 5.26.1,它提供很多程序错误修复和增强。使用 widespread 效果的一些显著更改有:
  • 由于安全原因,当前目录 . 已从 @INC 模块搜索路径中删除
  • 现在,当因为上述行为更改而加载文件时,do 语句现在会返回弃用警告
  • 在正则表达式模式中未转义的字面 { 字符不再被允许
  • Unicode 9.0 现在被支持
有关 Perl 5.26 的详细更改,请参阅 5.26.05.26.1 版本的上游更改日志。
另外,rh-perl526 打包与上游一致。rh-perl526-perl 软件包也会安装核心模块,而 /usr/bin/perl 解释器则由 rh-perl526-perl-interpreter 软件包提供。在以前的版本中,perl 软件包仅包含一个最小解释器,而 perl-core 软件包同时包含解释器和核心模块。

1.3.4. Ruby 的变化

新的 rh-ruby25 Software Collection 提供 Ruby 2.5.0。此版本引入了性能改进以及一些新功能和更改,例如:
  • rescue其他确保 关键字现在可以直接在由 doend 分隔的块内使用,而无需添加 beginend 关键字
  • 添加了一个新的 yield_self 方法,以返回块的结果
  • 添加了对分支覆盖和方法覆盖测量的支持
  • 实施了新的 Hash#sliceHash#transform_keys 方法
  • struct 子类构造器可以接受关键字参数
  • 顶级常量查找不再可用
Ruby 2.5.0 维护与 Ruby 2.4 的源级向后兼容性。
有关 Ruby 2.5.0 的详细更改,请参阅 上游发行注记

1.3.5. MongoDB 的变化

新的 rh-mongodb36 Software Collection 包括 MongoDB 3.6.3,它提供很多程序错误修复和增强。最显著的新功能包括:
  • 更改流,使应用程序能够访问实时数据更改并立即对它们做出反应
  • 可重试写入,使 MongoDB 驱动程序自动重试某些写入操作,例如在出现网络错误时
  • JSON 架构,允许用户自行定义验证 JSON 文档的条件
以下子软件包也已被升级:
  • mongo-c-driver 更新到版本 1.9.2
  • mongo-cxx-driver 更新到版本 3.2.0
  • mongo-tools 更新到版本 3.6.3
  • mongo-java-driver 更新到版本 3.6.3
有关 MongoDB 3.6 的详细信息,请参阅上游发行注记
注意
rh-mongodb36-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 用户指南中的 C++ 兼容性详情。
rh-mongodb36 Software Collection 包括 rh-mongodb36-syspaths 软件包,该软件包安装为二进制文件、脚本、手册页和其他提供系统范围打包程序的软件包。安装 rh-mongodb36*-syspaths 软件包后,用户不需要使用 scl enable 命令对 rh-mongodb36* 软件包提供的二进制文件和脚本正常工作。要了解有关 syspaths 的更多信息,请参阅 Red Hat Software Collections Packaging Guide
有关迁移的步骤,请参阅 第 5.2 节 “迁移到 MongoDB 3.6”

1.3.6. PostgreSQL 中的更改

新的 rh-postgresql10 Software Collection 提供 PostgreSQL 10.3。这个版本的主要改进包括:
  • 使用 publishsubscribe 关键字的逻辑复制
  • 基于 SCRAM-SHA-256 机制的更强大的密码身份验证
  • 声明性表分区
  • 改进了查询并行性
  • 显著的常规性能改进
  • 改进了监控和控制
有关 PostgreSQL 10.3 的详细信息,请查看 上游 documetation
rh-postgresql10 Software Collection 包括 rh-postgresql10-syspaths 软件包,该软件包会安装为二进制文件、脚本、手册页和其他提供系统范围打包程序的软件包。安装 rh-postgreqsl10*-syspaths 软件包后,用户不需要使用 scl enable 命令对 rh-postgreqsl10* 软件包提供的二进制文件和脚本正常工作。请注意,*-syspaths 软件包与基本 Red Hat Enterprise Linux 系统中的对应软件包冲突。要了解有关 syspaths 的更多信息,请参阅 Red Hat Software Collections Packaging Guide
有关迁移的信息,请参考 第 5.5 节 “迁移到 PostgreSQL 10”

1.3.7. Varnish Cache 中的更改

新的 rh-varnish5 Software Collection 包括 Varnish Cache 5.2.1,它提供很多程序错误修复和增强。值得注意的是:
  • 通过单独的 Varnish 配置语言(VCL)文件和 VCL 标签对配置的改进,这可能会降低配置的复杂性
  • 实验性的 HTTP/2 支持
  • 分片 director
  • 提高了稳定性
有关 Varnish Cache 5.2.1 中的详细 更改,请参阅上游更改日志。另请参阅 上游文档和升级 备注

1.3.8. HAProxy 的更改

新的 rh-haproxy18 Software Collection 提供 HAProxy 1.8.4。这个版本中最显著的变化包括:
有关 HAProxy 自版本 1.5 起(包括在 Red Hat Enterprise Linux 7 中)的详情,请查看 HAProxy 配置手册

1.3.9. PHP 中的更改

rh-php70 Software Collection 已升级至版本 7.0.27,与 Red Hat Software Collections 2.3 中发布的版本相比,它提供了很多程序错误修复和增强。
有关本发行版本中 bug 修复和增强的详细信息,请参阅 上游更改日志 7.0.27 及更早版本。

1.3.10. MySQL 的更改

在这个版本中,在 rh-mysql57 Software Collection 中添加了对以下架构的支持:
  • 64 位 ARM 架构
  • IBM z 系统
  • IBM POWER, little endian

1.3.11. Apache httpd 中的更改

在这个版本中,httpd24-mod_auth_mellon 软件包添加到 httpd24 Software Collection 中。Apache HTTP 服务器的 mod_auth_mellon 模块是实现 SAML 2.0 联邦协议的身份验证服务。该模块根据身份提供程序(IdP)服务器生成的断言中收到的属性授予访问权限。

1.4. 兼容性信息

Red Hat Software Collections 3.1 可用于 AMD64 和 Intel 64 架构、64 位 ARM 架构、IBM z Systems 和 IBM POWER, little endian 的所有支持的 Red Hat Enterprise Linux 7 版本。
某些组件还可用于 AMD64 和 Intel 64 构架中所有支持的 Red Hat Enterprise Linux 6 版本。
有关可用组件的完整列表,请参阅 表 1.2 “所有可用的 Software Collections”

1.5. 已知问题

httpd24 component, BZ#1429006
httpd 2.4.27 开始,默认的预处理模块(MPM)不再支持 mod_http2 模块。要启用 HTTP/2 支持,请编辑位于 /opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-mpm.conf 的配置文件,并切换到 事件或 worker MPM。
请注意,HTTP/2 server-push 功能不适用于 64 位 ARM 架构、IBM z Systems 和 IBM POWER, little endian。
httpd24 component, BZ#1327548
mod_ssl 模块不支持 Red Hat Enterprise Linux 6 或 Red Hat Enterprise Linux 7.3 及更早版本上的 ALPN 协议。因此,只支持使用 ALPN 将 TLS 连接升级到 HTTP/2 的客户端仅限于 HTTP/1.1 支持。
httpd24 component, BZ#1224763
当在 FastCGI Process Manager (PHP-FPM)中使用 mod_proxy_fcgi 模块时,httpd 默认使用端口 8000 作为 FastCGI 协议,而不是正确的端口 9000。要临时解决这个问题,请在配置中明确指定正确的端口。
httpd24 组件, BZ#1382706
启用 SELinux 后,LD_LIBRARY_PATH 环境变量不会传递给 httpd 调用的 CGI 脚本。因此,在某些情况下,无法从 httpd 运行的 CGI 脚本中的 /opt/rh/httpd24/service-environment 文件中调用启用的 Software Collections 的可执行文件。要临时解决这个问题,请从 CGI 脚本中设置 LD_LIBRARY_PATH
httpd24 组件
不支持针对 httpd24 软件集合中的 Apache Portable Runtime (APR)和 APR-util 库编译外部应用程序。httpd24 中没有设置 LD_LIBRARY_PATH 环境变量,因为此 Software Collection 中的任何应用程序都不需要它。
rh-python34, rh-python35, rh-python36 components, BZ#1499990
Babel 用于时区支持的 pytz 模块不包含在 rh-python34rh-python35rh-python36 Software Collections 中。因此,当用户尝试从 Babel 导入日期模块时,会返回回溯。要临时解决这个问题,请使用 pip install pytz 命令从 pypi 公共存储库安装 pytz。
rh-python36 组件
numpy 提供的某些复杂的 trigonometric 功能可能会返回 64 位 ARM 架构、IBM z Systems 和 IBM POWER, little endian 上的不正确的值。AMD64 和 Intel 64 架构不受此问题的影响。
python27 component, BZ#1330489
python27-python-pymongo 软件包已更新至版本 3.2.1。请注意,此版本与之前附带的版本 2.5.2 并不完全兼容。
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 软件包中的特定于架构的宏错误,< collection>/root/usr/lib64/ 目录在 64 位 ARM 架构和 IBM POWER, little endian 上没有正确的软件包所有权。因此,当卸载 Software Collection 时,此目录不会被删除。要临时解决这个问题,在删除 Software Collection 时手动删除 <collection>/root/usr/lib64/
rh-ruby24,rh-ruby23 组件
确定 RubyGem 安装路径取决于启用多个 Software Collections 的顺序。自 Red Hat Software Collections 2.3 中提供的 Ruby 2.3.1 开始,所需的顺序已被修改,以支持依赖集合。因此,当以不正确的顺序提供 Software Collections 时,用于 gem 安装的 RubyGem 路径无效。例如,如果 RPM spec 文件包含 scl enable rh-ror50 rh-nodejs6,构建现在会失败。要临时解决这个问题,请启用 rh-ror50 Software Collection 最后,例如 scl enable rh-nodejs6 rh-ror50
rh-maven35,rh-maven33 组件
当用户同时安装了 maven-local 软件包的 Red Hat Enterprise Linux 系统版本,并且 rh-maven35-maven -local 软件包或 rh-maven33-maven-local 软件包时,XMvn 用于构建 Java RPM 软件包的工具,从 rh-maven35rh-maven33 Software Collection 运行。要临时解决这个问题,请从基本 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_parserlibuv )没有以集合名称正确前缀。因此,可能会出现与对应的系统库冲突。
nodejs-hawk 组件
nodejs-hawk 软件包使用了来自 CryptoJS 项目的 SHA-1 和 SHA-256 算法的实现。在本发行版本中,客户端 JavaScript 会模糊处理。将来的修复将涉及直接从 CryptoJS 库使用加密功能。
PostgreSQL 组件
Red Hat Enterprise Linux 6 的 postgresql92rh-postgresql94rh-postgresql95 软件包不提供 sepgsql 模块,因为此功能需要安装 libselinux 版本 2.0.99,这在 Red Hat Enterprise Linux 6 中不可用。
httpd,mariadb,mongodb,mysql,nodejs, nodejs ,perl,php55,rh-php56,python , ruby, ror ,thermostat, 和 v8314 组件, BZ#1072319
卸载 httpd 24,mariadb55,rh-mariadb100,mongodb24,rh-mongodb26,mysql55,rh-mysql56,nodejs010,perl516,rh-perl520,php55,rh-php56, python27,python33,rh-python34,ruby193, ruby193 ,ruby200,rh-ruby22 ,ror40,rh-ror41,rmostat 1, 或 v8314 软件包可能会因为依赖软件包的所有权而相关。因此,一些目录和文件可能无法被正确删除,并可能在系统中保留。
rh-mysql57,rh-mysql56,rh-mariadb100,rh-mariadb101 组件, BZ#1194611
rh-mysql57-mysql-serverrh-mysql56-mysql-serverrh-mariadb100- mariadb-server 和 rh-mariadb.1.1.mariadb-server 软件包不再默认提供 test 数据库。虽然在初始化过程中不会创建此数据库,但授权表会预先填充与默认创建测试时相同的值。因此,在稍后创建 testtestzFCP 数据库时,这些数据库的访问权限比新数据库的默认权限要小。
另外,在运行基准时,run-all-tests 脚本不再可用于示例参数。您需要在运行测试前创建一个测试数据库,并在 --database 参数中指定数据库名称。如果未指定该参数,则默认执行测试,但需要确保 test 数据库存在。
mongodb24 组件
Red Hat Software Collections 1.2 的 mongodb24 Software Collection 无法通过 Red Hat Software Collections 3.1 提供的 rh-java-commonmaven30 Software Collections 重新构建。另外,由于 maven30-javapackages-tools 和 maven30-maven- local 软件包需要不满意,所以 mongodb24-buildmongodb24-scldevel 软件包 无法被安装。安装 mongodb24-scldevel 软件包时,会报告有问题的依赖项,yum --skip-broken 命令会跳过太多的软件包。建议用户更新到 rh-mongodb26 Software Collection。
MariaDB,mysql,postgresql,mongodb 组件
Red Hat Software Collections 3.1 包含 MySQL 5.6,MySQL 5.7,MariaDB 10.0,MariaDB 10.1,MariaDB 10.2,PostgreSQL 9.4,PostgreSQL 9.5,PostgreSQL 9.6,PostgreSQL 10,MongoDB 2.6,MongoDB 3.2,MongoDB 3.4, 和 MongoDB 3.6 数据库。Red Hat Enterprise Linux 6 的核心版本提供了 MySQLPostgreSQL 数据库的早期版本(客户端库和守护进程)。Red Hat Enterprise Linux 7 的核心提供 MariaDBPostgreSQL 数据库的早期版本(客户端库和守护进程)。客户端库也用于动态语言、库等的数据库连接器。
PostgreSQL 组件中打包的 Red Hat Software Collections 数据库软件包的客户端库不应被使用,因为它仅用于服务器实用程序和守护进程。用户需要使用由核心系统提供的系统库和数据库连接器。
客户端库和守护进程之间使用的协议在数据库版本之间保持稳定,例如,使用带有 PostgreSQL 9.49.5 守护进程的 PostgreSQL 9.2 客户端库可以正常工作。
Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 的核心不包括 MongoDB 的客户端库。要将这个客户端库用于应用程序,您应该使用 Red Hat Software Collections 中的客户端库,并总是使用 scl enable ... 调用,每次运行链接到此 MongoDB 客户端库的应用程序时。
MariaDB,mysql,mongodb 组件
在创建日志文件时,MariaDB、MySQL 和 MongoDB 不使用 /opt/provider/collection/root 前缀。请注意,日志文件保存在 /var/opt/provider/collection/log/ 目录中,而不是在 /opt/provider/collection/root/var/log/ 中。
rh-eclipse46 组件
当安装第三方更新站点的插件时,Eclipse 有时无法在工作区日志文件中以 NullPointerException 开始。要临时解决这个问题,请使用 -clean 选项重启 Eclipse。例如:
~]$ scl enable rh-eclipse46 "eclipse -clean"
rh-eclipse46 组件
Eclipse Docker 工具 引入了一个 Dockerfile 编辑器,其语法突出显示和基本的命令自动完成功能。打开 Build Image 向导 并按下 Edit Dockerfile 按钮时,Dockerfile 编辑器 会在分离的编辑器窗口中打开该文件。但是,此窗口不包含 CancelSave 按钮。要临时解决这个问题,请按 Ctrl+S 保存您的更改,或者右键单击编辑器以启动上下文菜单,该菜单提供 Save 选项。要取消您的更改,请关闭窗口。
rh-eclipse46 组件
在 Red Hat Enterprise Linux 7.2 中,perf 工具中的一个错误,用于在 Eclipse 中填充 Perf Profile View,这会导致视图中的一些项目没有正确链接到 Eclipse Editor 中的相应位置。虽然性能分析按预期工作,但无法通过单击 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-ruby22,rh-ruby23,rh-python34,rh-python35,rh-php56,rh-php70 组件
在只读 NFS 中使用 Software Collections 有一些限制。
  • rh-ruby22rh-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
    
    当用户试图通过运行捆绑包更新或 捆绑包 install 命令从外部源更新或安装 gems 时,会出现相同的问题。
  • 当使用 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 上从 PHP 扩展和应用程序存储库(PEAR)安装软件包会失败,并显示出错信息:
    Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user
这是预期的行为。
httpd 组件
Apache 的语言模块仅支持 Apache httpd 的红帽软件集合版本,而不支持使用 Red Hat Enterprise Linux 系统版本的 httpd。例如,rh-python35 Collection 中的 mod_wsgi 模块只能用于 httpd24 Collection。
所有组件
从 Red Hat Software Collections 2.0 开始,单个集合的配置文件、变量数据和运行时数据存储在与之前版本的 Red Hat Software Collections 不同的目录中。
coreutils,util-linux,屏幕 组件
有些实用程序(如 suloginscreen )不会在所有情况下都导出环境设置,这可能会导致意外的结果。因此,建议您使用 sudo 而不是 su,并在 /etc/sudoers 文件中设置 env_keep 环境变量。或者,您可以按相反的顺序运行命令,例如:
su -l postgres -c "scl enable rh-postgresql94 psql"
而不是
scl enable rh-postgresql94 bash
su -l postgres -c psql
当使用 屏幕登录 等工具时,您可以使用以下命令保留环境设置:
source /opt/rh/<collection_name>/enable
php54 组件
请注意,Red Hat Software Collections 中的替代 PHP Cache (APC) 只提供用户数据缓存。对于 opcode 缓存,提供了 Zend OPcache
Python 组件
当用户尝试从 python27python33rh-python34rh-python35 Software Collections 中安装多个 scldevel 软件包时,会返回一个事务检查错误消息。这是一个预期的行为,因为用户只能安装由软件包提供的一组宏文件(%scl_python%scl_prefix_python)。
PHP 组件
当用户尝试从 php54php55rh-php56rh-php70 Software Collections 中安装多个 scldevel 软件包时,会返回一个事务检查错误消息。这是一个预期的行为,因为用户只能安装由软件包提供的一组宏文件(%scl_php%scl_prefix_php)。
Ruby 组件
当用户尝试从 ruby193、ruby200、rh-ruby22rh-ruby23 Software Collections 中安装多个 scldevel 软件包时,会返回一个事务检查错误消息。这是一个预期的行为,因为用户只能安装由软件包提供的一组宏文件(%scl_ruby%scl_prefix_ruby)。
Perl 组件
当用户尝试从 perl516rh-perl520rh-perl524 Software Collections 中安装多个 scldevel 软件包时,会返回事务检查错误消息。这是一个预期的行为,因为用户只能安装由软件包提供的一组宏文件(%scl_perl%scl_prefix_perl)。
Nginx 组件
当用户尝试从 nginx16rh-nginx18 Software Collections 中安装多个 scldevel 软件包时,会返回事务检查错误消息。这是一个预期的行为,因为用户只能安装由软件包提供的一组宏文件(%scl_nginx%scl_prefix_nginx)。
nodejs 组件
安装 nodejs010 Software Collection 时,nodejs010 在基本 Red Hat Enterprise Linux 系统中安装 GCC 作为依赖项,除非已安装了 gcc 软件包。
rh-eclipse46 component
Red Hat Enterprise Linux 7 上的 Eclipse SWT 图形库使用 GTK 3.x。在 GTK 3.x 上,Eclipse Dark Theme 还没有完全稳定,因此这个主题被视为技术预览且不被支持。有关红帽技术预览的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview/

1.6. 已弃用的功能

httpd24 component, BZ#1434053
在以前的版本中,在需要基于名称的 SSL 虚拟主机选择的 SSL/TLS 配置中,mod_ssl 模块会拒绝带有 400 Bad Request 错误的请求,如果 Host: 标头中提供的主机名与 Server Name Indication (SNI)标头中提供的主机名不匹配。如果在所选虚拟主机之间配置的 SSL/TLS 安全参数与上游 mod_ssl 的行为相同,则此类请求不再被拒绝。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.