8.11. 使用 Toolbx 检查 bootc 容器


在系统上安装软件存在一定的风险:它可以改变系统的行为,并在不再需要后留下不需要的文件和目录。您可以通过将您首选的开发和调试工具、编辑器和软件开发工具包(SDK)安装到 RHEL bootc 中包含的 Toolbx 实用程序中来防止这些风险,无需影响基础操作系统。您可以使用诸如 lesslsofrsyncsshsudounzip 等命令在主机系统上执行更改。

Toolbx 工具执行以下操作:

  1. registry.access.redhat.com/ubi9/toolbox:latest 镜像拉取到本地系统
  2. 从镜像启动容器
  3. 在容器内运行 shell,您可以通过它访问主机系统
注意

Toolbx 可以运行根容器或无根容器,具体取决于创建 Toolbx 容器的用户的权限。在主机系统上需要 root 权限的工具也应在 root 容器中运行。

默认容器名称是 rhel-toolbox。要检查 bootc 容器,请按照以下步骤执行:

流程

  1. 使用 toolbox create 命令启动 Toolbx 容器,并使用 toolbox enter 命令输入容器。

    • 以无根用户身份:

      $ toolbox create <mytoolbox>
      Copy to Clipboard Toggle word wrap
    • 以 root 用户身份:

      $ sudo toolbox create <mytoolbox>
      Created container: <mytoolbox>
      Enter with: toolbox enter
      Copy to Clipboard Toggle word wrap
    • 验证您是否拉取了正确的镜像:

      [user@toolbox ~]$ toolbox list
      IMAGE ID      IMAGE NAME    CREATED
      fe0ae375f149   registry.access.redhat.com/ubi{ProductVersion}/toolbox 5 weeks ago
      
      CONTAINER ID  CONTAINER NAME  CREATED         STATUS   IMAGE NAME
      5245b924c2cb  <mytoolbox>       7 minutes ago   created  registry.access.redhat.com/ubi{ProductVersion}/toolbox:8.9-6
      Copy to Clipboard Toggle word wrap
      1. 进入 Toolbx 容器:

        [user@toolbox ~]$ toolbox enter <mytoolbox>
        Copy to Clipboard Toggle word wrap
      2. 可选:检查是否拉取了正确的镜像
    • <mytoolbox> 容器中输入命令,并显示容器和镜像的名称:

      ⬢ [user@toolbox ~]$ cat /run/.containerenv
      engine="podman-4.8.2"
      name="<mytoolbox>"
      id="5245b924c2cb..."
      image="registry.access.redhat.com/ubi{ProductVersion}/toolbox"
      imageid="fe0ae375f14919cbc0596142e3aff22a70973a36e5a165c75a86ea7ec5d8d65c"
      Copy to Clipboard Toggle word wrap
  2. 使用 Toolbx 安装开发工具:

    1. 安装您选择的工具,例如 Emacs 文本编辑器、GCC 编译器和 GNU 调试器 (GDB):

      ⬢[user@toolbox ~]$ sudo dnf install emacs gcc gdb
      Copy to Clipboard Toggle word wrap
    2. 可选:验证是否安装了工具:

      ⬢[user@toolbox ~]$  dnf repoquery --info --installed <package_name>
      Copy to Clipboard Toggle word wrap

      安装后,您可以继续以无根用户身份使用这些工具。

  3. 使用 Toolbx 对主机系统进行故障排除,而无需在主机系统上安装它们。

    1. 安装 systemd 套件,以便能够运行 journalctl 命令:

      ⬢[root@toolbox ~]# dnf install systemd
      Copy to Clipboard Toggle word wrap
    2. 显示主机上运行的所有进程的日志消息:

      ⬢[root@toolbox ~]# j journalctl --boot -0
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: microcode: updated ear>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: Linux version 6.6.8-10>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: Command line: BOOT_IMA>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: x86/split lock detecti>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: BIOS-provided physical>
      Copy to Clipboard Toggle word wrap
    3. 显示内核的日志消息:

      ⬢[root@toolbox ~]# journalctl --boot -0 --dmesg
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: microcode: updated ear>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: Linux version 6.6.8-10>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: Command line: BOOT_IMA>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: x86/split lock detecti>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: BIOS-provided physical>
      Jan 02 09:06:48 user-thinkpadp1gen4i.brq.csb kernel: BIOS-e820: [mem 0x0000>
      Copy to Clipboard Toggle word wrap
    4. 安装 nmap 网络扫描工具:

      ⬢[root@toolbox ~]# dnf install nmap
      Copy to Clipboard Toggle word wrap
    5. 扫描网络中的 IP 地址和端口:

      ⬢[root@toolbox ~]# nmap -sS scanme.nmap.org
      Starting Nmap 7.93 ( https://nmap.org ) at 2024-01-02 10:39 CET
      Stats: 0:01:01 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
      Ping Scan Timing: About 29.79% done; ETC: 10:43 (0:02:24 remaining)
      Nmap done: 256 IP addresses (0 hosts up) scanned in 206.45 seconds
      Copy to Clipboard Toggle word wrap
      • -sS 选项执行 TCP SYN 扫描。大多数 Nmap 的扫描类型仅对特权用户提供,因为它们发送和接收原始数据包,这在 UNIX 系统上需要 root 访问权限。
  4. 停止 Toolbx bootc 容器。

    1. 离开容器,并返回到主机:

      ⬢ [user@toolbox ~]$ exit
      Copy to Clipboard Toggle word wrap
    2. 停止 toolbox 容器:

      ⬢ [user@toolbox ~]$ podman stop <mytoolbox>
      Copy to Clipboard Toggle word wrap
    3. 可选:删除 toolbox 容器:

      ⬢ [user@toolbox ~]$ toolbox rm <mytoolbox>
      Copy to Clipboard Toggle word wrap

      或者,您也可以使用 podman rm 命令删除 bootc 容器。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat