8.11. 使用 Toolbx 检查 bootc 容器
在系统上安装软件存在一定的风险:它可以改变系统的行为,并在不再需要后留下不需要的文件和目录。您可以通过将您首选的开发和调试工具、编辑器和软件开发工具包(SDK)安装到 RHEL bootc 中包含的 Toolbx 实用程序中来防止这些风险,无需影响基础操作系统。您可以使用诸如 less
、lsof
、rsync
、ssh
、sudo
和 unzip
等命令在主机系统上执行更改。
Toolbx 工具执行以下操作:
-
将
registry.access.redhat.com/ubi9/toolbox:latest
镜像拉取到本地系统 - 从镜像启动容器
- 在容器内运行 shell,您可以通过它访问主机系统
Toolbx 可以运行根容器或无根容器,具体取决于创建 Toolbx 容器的用户的权限。在主机系统上需要 root 权限的工具也应在 root 容器中运行。
默认容器名称是 rhel-toolbox
。要检查 bootc 容器,请按照以下步骤执行:
流程
使用
toolbox create
命令启动 Toolbx 容器,并使用toolbox enter
命令输入容器。以无根用户身份:
toolbox create <mytoolbox>
$ toolbox create <mytoolbox>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以 root 用户身份:
sudo toolbox create <mytoolbox>
$ sudo toolbox create <mytoolbox> Created container: <mytoolbox> Enter with: toolbox enter
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证您是否拉取了正确的镜像:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入 Toolbx 容器:
toolbox enter <mytoolbox>
[user@toolbox ~]$ toolbox enter <mytoolbox>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 可选:检查是否拉取了正确的镜像
在
<mytoolbox>
容器中输入命令,并显示容器和镜像的名称:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 Toolbx 安装开发工具:
安装您选择的工具,例如 Emacs 文本编辑器、GCC 编译器和 GNU 调试器 (GDB):
⬢[user@toolbox ~]$ sudo dnf install emacs gcc gdb
⬢[user@toolbox ~]$ sudo dnf install emacs gcc gdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:验证是否安装了工具:
⬢[user@toolbox ~]$ dnf repoquery --info --installed <package_name>
⬢[user@toolbox ~]$ dnf repoquery --info --installed <package_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装后,您可以继续以无根用户身份使用这些工具。
使用 Toolbx 对主机系统进行故障排除,而无需在主机系统上安装它们。
安装
systemd
套件,以便能够运行journalctl
命令:⬢[root@toolbox ~]# dnf install systemd
⬢[root@toolbox ~]# dnf install systemd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示主机上运行的所有进程的日志消息:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示内核的日志消息:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
nmap
网络扫描工具:⬢[root@toolbox ~]# dnf install nmap
⬢[root@toolbox ~]# dnf install nmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 扫描网络中的 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
⬢[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 Copied! Toggle word wrap Toggle overflow -
-sS
选项执行 TCP SYN 扫描。大多数 Nmap 的扫描类型仅对特权用户提供,因为它们发送和接收原始数据包,这在 UNIX 系统上需要 root 访问权限。
-
停止 Toolbx bootc 容器。
离开容器,并返回到主机:
⬢ [user@toolbox ~]$ exit
⬢ [user@toolbox ~]$ exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 停止 toolbox 容器:
⬢ [user@toolbox ~]$ podman stop <mytoolbox>
⬢ [user@toolbox ~]$ podman stop <mytoolbox>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:删除 toolbox 容器:
⬢ [user@toolbox ~]$ toolbox rm <mytoolbox>
⬢ [user@toolbox ~]$ toolbox rm <mytoolbox>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您也可以使用
podman rm
命令删除 bootc 容器。