Menu Close
Red Hat Training
A Red Hat training course is available for RHEL 8
第 15 章 使用 GCC Toolset 容器镜像
GCC Toolset 10 组件在两个容器镜像中可用:
- GCC Toolset 10 Toolchain
- GCC Toolset 10 Perftools
GCC Toolset 容器镜像基于 rhel8
基础镜像,并可用于 RHEL 8 支持的所有架构:
- AMD 和 Intel 64 位构架
- 64 位 ARM 架构
- IBM Power Systems, Little Endian
- 64-bit IBM Z
15.1. GCC Toolset 容器镜像内容
GCC Toolset 10 容器镜像中提供的工具版本与 GCC Toolset 10 组件版本 匹配。
GCC Toolset 10 Toolchain 内容
rhel8/gcc-toolset-10-toolchain
镜像提供 GCC 编译器、GDB 调试器和其他与开发相关的工具。容器镜像由以下组件组成:
组件 | 软件包 |
---|---|
| gcc-toolset-10-gcc |
| gcc-toolset-10-gcc-c++ |
| gcc-toolset-10-gcc-gfortran |
| gcc-toolset-10-gdb |
GCC Toolset 10 Perftools 内容
rhel8/gcc-toolset-10-perftools
镜像提供很多用于调试、性能监控和进一步分析应用程序的工具。容器镜像由以下组件组成:
组件 | 软件包 |
---|---|
| gcc-toolset-10-valgrind |
| gcc-toolset-10-systemtap |
| gcc-toolset-10-dyninst |
| gcc-toolset-10-elfutils |
其它资源
- 要在 RHEL 7 上使用 GCC Toolset 组件,请使用 Red Hat Developer Toolset 为 RHEL 7 用户提供类似的开发工具 - Red Hat Developer Toolset 用户指南。
- 在 RHEL 7 上使用 Red Hat Developer Toolset 容器镜像的说明 - Red Hat Developer Toolset 镜像。
15.2. 访问并运行 GCC Toolset 容器镜像
下面的部分论述了如何访问和运行 GCC Toolset 容器镜像。
先决条件
- 已安装 podman。
流程
使用您的客户门户网站凭证访问 Red Hat Container Registry:
$ podman login registry.redhat.io Username: username Password: ********
以 root 用户身份运行相关命令来拉取所需的容器镜像:
# podman pull registry.redhat.io/rhel8/gcc-toolset-10-toolchain
# podman pull registry.redhat.io/rhel8/gcc-toolset-10-perftools
注意在 RHEL 8.1 及更新的版本中,您可以设置系统以非 root 用户身份使用容器。详情请参阅以 root 用户或无根用户身份运行容器。
可选:通过运行列出本地系统中所有容器镜像的命令来检查拉取是否成功:
# podman images
通过在容器内启动 bash shell 来运行容器:
# podman run -it image_name /bin/bash
-i
选项会创建一个交互式会话 ; 如果没有这个选项, shell 将打开并立即退出。-t
选项会打开终端会话 ; 如果没有这个选项,您就无法输入任何 shell。
其它资源
- 在 RHEL 8 中构建、运行和管理 Linux 容器
- 红帽博客文章 - 了解容器内部和外部的根用户
- Red Hat Container Registry 中的条目 - GCC Toolset 容器镜像
15.3. 示例:使用 GCC Toolset 10 Toolchain 容器镜像
本例演示了如何拉取和开始使用 GCC Toolset 10 Toolchain 容器镜像。
先决条件
- 已安装 podman。
流程
使用您的客户门户网站凭证访问 Red Hat Container Registry:
$ podman login registry.redhat.io Username: username Password: ********
将容器镜像拉取为 root:
# podman pull registry.redhat.io/rhel8/gcc-toolset-10-toolchain
以 root 用户身份使用互动 shell 启动容器镜像:
# podman run -it registry.redhat.io/rhel8/gcc-toolset-10-toolchain /bin/bash
正常运行 GCC Toolset 工具。例如,要验证
gcc
编译器版本,请运行:bash-4.4$ gcc -v ... gcc version 10.2.1 20200804 (Red Hat 10.2.1-2) (GCC)
要列出容器中提供的所有软件包,请运行:
bash-4.4$ rpm -qa
15.4. 使用 GCC Toolset 10 Perftools 容器镜像中的 systemTap
SystemTap 工具发布在 GCC Toolset 10 Perftools 容器镜像中。要使用这个工具,请按照以下步骤执行。
先决条件
- GCC Toolset 10 Perftools 容器镜像会被拉取。
流程
使用超级用户权限运行镜像:
$ podman run -u root -it --privileged --ipc=host --net=host --pid=host registry.redhat.io/rhel8/gcc-toolset-{gcct-ver}-perftools /bin/bash
如需了解更多有关 超级特权容器 的信息,请参阅 运行超级特权容器。
确保容器中安装以下软件包或安装它们:
-
kernel
-
kernel-devel
kernel-debuginfo
重要上面的
kernel
软件包的版本和发行号必须与主机上运行的内核的版本和发行号匹配。要检查主机系统内核的版本和发行号,请运行:
$ uname -r 4.18.0-193.el8.x86_64
要安装与软件包相匹配的版本,请运行带有
uname
命令输出的软件包安装命令。例如:# yum install kernel-devel-$(uname -r)
要安装
kernel-debuginfo
软件包,首先以 root 用户身份运行以下命令来启用debug
存储库:# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-debug-rpms
要了解在 RHEL 系统上安装
debuginfo
软件包的更多信息, 请参阅如何为 RHEL 系统下载或安装 debuginfo 软件包?
-
可选: 要避免重复这些步骤并在以后重复使用预先配置的容器,请考虑运行以下命令来保存它:
$ podman commit new-container-image-name