第 4 章 单个软件集合的具体信息
本章重点介绍了某些 Software Collections 的具体内容,并提供了有关这些组件的额外详情。
4.1. Red Hat Developer Toolset
Red Hat Developer Toolset 专为使用 Red Hat Enterprise Linux 平台的开发人员设计。Red Hat Developer Toolset 提供 GNU Compiler Collection、GNU Debugger 和其他开发、调试和性能监控工具的当前版本。与其他 Software Collections 类似,还有一组额外的工具安装到
/opt/
目录中。这些工具由用户使用提供的 scl 工具根据需要启用。与其他 Software Collections 类似,它们不会替换这些工具的 Red Hat Enterprise Linux 系统版本,除非使用 scl 程序显式调用这些系统版本,它们不会被使用。
有关功能的概述,请参阅 Red Hat Developer Toolset 发行注记中的 主要功能 部分。
有关组件的完整列表,请参阅 Red Hat Developer Toolset 用户指南中的 Red Hat Developer Toolset 组件 表。
请注意,自 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 4.6.3,它基于 Eclipse Foundation 的 Neon 发行培训。之前,这个集成开发环境作为 Red Hat Developer Toolset 的一部分提供。请注意,rh-eclipse46 Software Collection 需要 rh-java-common Collection。
注意
Eclipse 是一个强大的开发环境,可为开发流程的每个阶段提供工具。它将各种不同的工具集成到统一环境中,以创建丰富的开发体验,提供完全可配置的用户界面,并提供可插拔式架构,允许以多种方式进行扩展。例如,Valgrind 插件允许编程人员通过 Eclipse 用户界面在命令行中执行内存性能分析。
图 4.1. Eclipse 会话示例
[D]
Eclipse 提供了与命令行工具的传统交互的替代图形开发环境,因此,对于不想使用命令行界面的开发人员来说,这是一个欢迎使用。传统、主要基于命令行的 Linux 工具套件(如 gcc 或 gdb)为编程提供了两种不同的编程方法。
请注意,如果您打算为红帽 JBoss 中间件开发应用程序或需要支持 OpenShift 工具,建议您使用 红帽 JBoss Developer Studio。
软件包 | 描述 |
---|---|
rh-eclipse46-eclipse-cdt | C/C++ 开发工具(CDT),它为使用 C 和 C++ 开发提供了功能和插件。 |
rh-eclipse46-eclipse-changelog | ChangeLog 插件,允许您创建和维护更改日志文件。 |
rh-eclipse46-eclipse-egit | EGit,EGit 是 Eclipse 的团队供应商,提供用于与 Git 存储库交互的功能和插件。 |
rh-eclipse46-eclipse-emf | Eclipse Modeling Framework (EMF),允许您根据结构化数据模型构建应用程序。 |
rh-eclipse46-eclipse-epp-logging | Eclipse 错误报告工具。 |
rh-eclipse46-eclipse-gcov | GCov 插件将 GCov 测试覆盖程序与 Eclipse 集成。 |
rh-eclipse46-eclipse-gef | 图形编辑框架(GEF),允许您从现有应用程序模型创建丰富的图形编辑器。 |
rh-eclipse46-eclipse-gprof | Gprof 插件将 Gprof 性能分析实用程序与 Eclipse 集成。 |
rh-eclipse46-eclipse-jdt | Eclipse Java 开发工具(JDT)插件。 |
rh-eclipse46-eclipse-jgit | jgit,Git 修订控制系统的 Java 实施。 |
rh-eclipse46-eclipse-manpage | Man Page 插件,允许您查看 Eclipse 中的手册页。 |
rh-eclipse46-eclipse-mpc | Eclipse Marketplace 客户端。 |
rh-eclipse46-eclipse-mylyn | mylyn 是 Eclipse 的任务管理系统。 |
rh-eclipse46-eclipse-oprofile | OProfile 插件,它将 OProfile 与 Eclipse 集成。 |
rh-eclipse46-eclipse-pde | 用于开发 Eclipse 插件的插件开发环境。 |
rh-eclipse46-eclipse-perf | Perf 插件,它将 perf 工具与 Eclipse 集成。 |
rh-eclipse46-eclipse-ptp | 为同步项目 提供支持的 PTP 项目 的子集。 |
rh-eclipse46-eclipse-pydev | Eclipse 的完整功能 Python IDE。 |
rh-eclipse46-eclipse-remote | Remote Services 插件,它提供可扩展的远程服务框架。 |
rh-eclipse46-eclipse-rpm-editor | Eclipse Spec File Editor,允许您维护 RPM 规格文件。 |
rh-eclipse46-eclipse-rse | 远程 System Explorer (RSE)框架,允许您通过 Eclipse 使用远程系统。 |
rh-eclipse46-eclipse-systemtap | SystemTap 插件,它将 SystemTap 与 Eclipse 集成。 |
rh-eclipse46-eclipse-valgrind | Valgrind 插件,它将 Valgrind 与 Eclipse 集成。 |
rh-eclipse46-eclipse-webtools | Eclipse Webtools 插件。 |
4.2.1. 安装 Eclipse
Eclipse 开发环境作为 RPM 软件包的集合提供。要安装 rh-eclipse46 软件集合,请以
root
用户身份运行以下命令:
yum install rh-eclipse46
有关可用组件列表,请参阅 表 4.1 “rh-eclipse46 软件集合中包含的 Eclipse 组件”。
注意
rh-eclipse46 Software Collection 完全支持 C、C++ 和 Java 开发,但 不提供对 Fortran 编程语言的支持。
4.2.2. 使用 Eclipse
要启动 rh-eclipse46 Software Collection,可以从面板中选择 ,或者在 shell 提示符后输入以下内容:
scl enable rh-eclipse46 eclipse
在启动过程中,Eclipse 会提示您选择一个 工作区,即您要在其中存储项目的目录。您可以使用
~/workspace/
,这是默认选项,或者点击 按钮浏览您的文件系统并选择自定义目录。另外,您可以选择 Use this as the default,且不要再次询问 复选框,以防止 Eclipse 在下一次运行此开发环境时显示此对话框。完成后,单击 按钮以确认选择并继续启动。
4.2.2.1. 使用 Red Hat Developer Toolset Toolchain
要使用 rh-eclipse46 Software Collection 支持 Red Hat Developer Toolset 中的 GNU Compiler Collection 和 binutils,请确保安装了 devtoolset-7-toolchain 软件包并运行应用程序,如 第 4.2.2 节 “使用 Eclipse” 所述。rh-eclipse46 Collection 默认使用 Red Hat Developer Toolset 工具链。
有关如何在您的系统上安装 devtoolset-7-toolchain 软件包的详细信息,请参阅 Red Hat Developer Toolset 用户指南。
重要
如果您正在处理之前使用 GNU Compiler Collection 的 Red Hat Enterprise Linux 版本构建的项目,请确保丢弃所有以前的构建结果。为此,请在 Eclipse 中打开项目,然后从菜单中选择 。
4.2.2.2. 使用 Red Hat Enterprise Linux Toolchain
要使用 rh-eclipse46 Software Collection,其支持随 Red Hat Enterprise Linux 一起分发的工具链,请将项目的配置更改为使用 gcc、g++ 和 的绝对路径。
要将 Eclipse 配置为明确为当前项目使用工具的 Red Hat Enterprise Linux 系统版本,请完成以下步骤:
- 在 C/C++ 透视图中,从主菜单栏中选择
以打开项目属性。 - 在对话框左侧的菜单中,单击
。 - 选择 Tool Settings 选项卡。
- 如果您在使用 C 项目:
- 选择 Command 字段的值更改为:或 ,并将
/usr/bin/gcc
- 选择 Command 字段的值更改为:或 ,并将
/usr/bin/gcc
- 选择 Command 字段的值更改为:或 ,并将
/usr/bin/as
如果您在使用 C++ 项目:- 选择 Command 字段的值改为:或 ,并将
/usr/bin/g++
- 选择 Command 字段的值更改为:或 ,并将
/usr/bin/gcc
- 选择 Command 字段的值更改为:或 ,并将
/usr/bin/g++
- 选择 Command 字段的值更改为:或 ,并将
/usr/bin/as
- 单击按钮以保存配置更改。
4.2.3. 其它资源
有关 Eclipse 及其所有功能的详细描述超出了本书的讨论范围。如需更多信息,请参阅以下列出的资源。
安装的文档
- Eclipse 包括一个内置的 系统,它为每个集成功能和工具提供了广泛的文档。这大大减少了新开发人员所需的初始时间投资,以便在其使用方面变得流畅。在以下链接的 Red Hat Enterprise Linux 开发人员指南 中详细介绍了使用此帮助部分。
另请参阅
- 使用 Eclipse 描述红帽开发人员工具的 rh-eclipse47 组件的使用。
- Red Hat Developer Toolset 用户指南中的 Red Hat Developer Toolset 章节 概述了 Red Hat Developer Toolset,以及如何在您的系统上安装它。
- Red Hat Developer Toolset 用户指南中的 GNU Compiler Collection (GCC) 章节提供了有关如何在命令行中编译使用 C、C++ 和 Fortran 编写的程序的信息。
4.3. Ruby on Rails 5.0
Red Hat Software Collections 3.1 提供了 rh-ruby24 Software Collection 和 rh-ror50 Collection。
要安装 Ruby on Rails 5.0,以
root
用户身份运行以下命令:
yum install rh-ror50
从 rh-ror50 Software Collection 安装任何软件包会自动拉取 rh-ruby24 和 rh-nodejs6 作为依赖项。
rh-nodejs6 Collection 由资产管道中的某些 gems 用于处理后 web 资源,如 sass 或 coffee-script 源文件。此外,Action Cable 框架使用 rh-nodejs6 来处理 Rails 中的
WebSocket
。
要运行 rails s 命令而无需 rh-nodejs6,请在
Gemfile
中禁用 coffee-rails 和 uglifier gems。
要在没有 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-ruby24 和 rh-nodejs6 组件一起支持。
4.4. MongoDB 3.6
rh-mongodb36 Software Collection 仅适用于 Red Hat Enterprise Linux 7。有关如何在 Red Hat Enterprise Linux 6 中使用 MongoDB 3.4 的说明,请参阅 第 4.5 节 “MongoDB 3.4”。
要安装 rh-mongodb36 集合,请以
root
用户身份输入以下命令:
yum install rh-mongodb36
要运行 MongoDB shell 工具,请输入以下命令:
scl enable rh-mongodb36 'mongo'
注意
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++ 兼容性详情。
要启动 MongoDB 守护进程,请以
root
用户身份输入以下命令:
systemctl start rh-mongodb36-mongod.service
要在引导时启动 MongoDB 守护进程,请以
root
身份输入这个命令:
systemctl enable rh-mongodb36-mongod.service
要启动 MongoDB 分片服务器,请以
root
用户身份输入以下命令:
systemctl start rh-mongodb36-mongos.service
要在引导时启动 MongoDB 分片服务器,以
root
身份输入这个命令:
systemctl enable rh-mongodb36-mongos.service
请注意,除非用户至少启动一个配置服务器并在
mongos.conf
文件中指定它,否则 MongoDB 分片服务器无法正常工作。
4.5. MongoDB 3.4
要安装 rh-mongodb34 集合,请以
root
用户身份输入以下命令:
yum install rh-mongodb34
要运行 MongoDB shell 工具,请输入以下命令:
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 用户指南中的 C++ 兼容性详情。
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
请注意,除非用户至少启动一个配置服务器并在
mongos.conf
文件中指定它,否则 MongoDB 分片服务器无法正常工作。
MongoDB 3.4 on Red Hat Enterprise Linux 7
使用 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
请注意,除非用户至少启动一个配置服务器并在
mongos.conf
文件中指定它,否则 MongoDB 分片服务器无法正常工作。
4.6. Git
Git 是一个分布式修订控制系统,具有分散的架构。与使用客户端-服务器模型的集中式版本控制系统不同,Git 确保 Git 存储库的每个工作副本都是带有完整修订历史记录的精确副本。这不仅允许您处理项目,无需有权将更改推送到其官方存储库,还可以让您使用任何网络连接。如需更多信息,请参阅 Red Hat Enterprise Linux 7 开发人员指南 中的 Git 章节。
4.7. Maven
rh-maven35 Software Collection 仅适用于 Red Hat Enterprise Linux 7,提供软件项目管理和理解工具。根据项目对象模型(POM)的概念,Maven 可以在中央信息中管理项目的构建、报告和文档。
要安装 rh-maven35 Collection,请以
root
用户身份运行以下命令:
yum install rh-maven35
要启用这个集合,在 shell 提示符下输入以下命令:
scl enable rh-maven35 bash
全局 Maven 设置(如远程存储库或镜像)可以通过编辑
/opt/rh/rh-maven35/root/etc/maven/settings.xml
文件进行自定义。
有关使用 Maven 的更多信息,请参阅 Maven 文档。本节描述了插件的使用;要查找有关各个插件的文档,请参阅 插件的索引。https://maven.apache.org/guides/getting-started/index.html#how-do-i-use-plugins
4.8. passenger
rh-passenger40 Software Collection 提供 Phusion Passenger,它是一个旨在快速、强大且轻量级的 Web 和应用服务器。
rh-passenger40 Collection 支持 Ruby 的多个版本,特别是 ruby193、ruby200 和 rh-ruby22 Software Collections,以及使用 ror40 或 rh-ror41 Collections 的 Ruby on Rails。在将 Passenger 与任何 Ruby Software Collections 搭配使用前,请先从 rh-passenger40 Collection 安装对应的软件包: rh-passenger-ruby193、rh-passenger-ruby200 或 rh-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
,它演示了如何在单个 Apache httpd 实例中使用多个 Ruby 版本。
此外,rh-passenger40 Software Collection 可以和 nginx16 软件集合中的 nginx 1.6 web 服务器一起使用。要将 nginx 1.6 与 rh-passenger40 搭配使用,您可以在 web 应用请求的目录中以 Standalone 模式运行 Passenger :
scl enable nginx16 rh-passenger40 'passenger start'
或者,按照上游 Passenger 文档中所述编辑 nginx16 配置文件。
4.9. 数据库连接器
数据库连接器软件包提供数据库客户端功能,这是本地或远程与数据库服务器的连接所必需的。表 4.2 “语言和数据库之间的互操作性” 使用包含特定数据库服务器的语言运行时列出 Software Collections。
数据库 | |||||
---|---|---|---|---|---|
语言(软件集合) | MariaDB | MongoDB | MySQL | PostgreSQL | Redis |
rh-nodejs4 | |||||
rh-nodejs6 | |||||
rh-nodejs8 | |||||
rh-perl520 | |||||
rh-perl524 | |||||
rh-perl526 | |||||
rh-php56 | |||||
rh-php70 | |||||
rh-php71 | |||||
python27 | |||||
rh-python34 | |||||
rh-python35 | |||||
rh-python36 | |||||
rh-ror41 | |||||
rh-ror42 | |||||
rh-ror50 | |||||
rh-ruby25 | |||||
支持 | 不支持 |