2.2. 在断开连接的环境中安装 MTA
从 MTA 7.2.0 开始,您可以在无容器模式下运行 Java 应用程序的应用程序分析。
默认情况下会设置无容器模式,并在满足所有要求时自动使用。如需更多信息,请参阅 运行无容器 CLI。
但是,如果您要使用 Java 以外的语言分析应用程序,或者使用 转换命令,您仍需要使用容器。
在连接的设备上,首先下载并保存 MTA 二进制文件。然后,下载并保存 Podman 镜像、MTA CLI 镜像和您需要的供应商镜像。
从 Migration Toolkit for Applications Red Hat Developer 页面下载 所需的 MTA CLI 二进制文件:
- CLI for Linux x86_64
- CLI for Linux aarch64
- CLI for MacOS x86_64
- MacOS aarch64 的 CLI
- CLI for Windows x86_64
- 用于 Windows aarch64 的 CLI
- 在连接的设备上,下载并保存镜像。
- 将二进制文件复制到断开连接的设备中。
- 另外,您必须使用 Podman 保存并导入关联的容器镜像。
2.2.1. 下载 Podman 镜像
先决条件
- 已安装 podman。如需更多信息,请参阅 Podman。
流程
使用 Podman 向 registry.redhat.io 进行身份验证:
$ podman login registry.redhat.io
输入您的用户名,然后输入 registry.redhat.io 的密码:
Username: <registry_service_account_username> Password: <registry_service_account_password>
您应该看到以下输出:
Login Succeeded!
使用 Podman 从 registry 中拉取镜像:
$ podman pull registry.redhat.io/mta/mta-cli-rhel9:7.1.0
使用 Podman 从 registry 中拉取所需的供应商镜像:
对于 Java,请运行:
$ podman pull registry.redhat.io/mta/mta-java-external-provider-rhel9:7.1.0
对于 .NET,请运行:
$ podman pull registry.redhat.io/mta/mta-dotnet-external-provider-rhel9:7.1.0
保存镜像:
$ podman save <image> -o <my_image.image>
-
将
.image
文件和二进制文件复制到 USB,或者直接复制到断开连接的设备的文件系统中。 在断开连接的设备上,运行
$ podman load --input <my_image.image>
2.2.2. 已知的 CLI 问题
Microsoft Windows 中的 Podman 的限制
CLI 构建并提供对 Microsoft Windows 的支持。
但是,当运行基于 Red Hat Enterprise Linux 9 (RHEL9)或 Universal Base Image 9 (UBI9)的容器镜像时,启动容器时可以返回以下错误:
Fatal glibc error: CPU does not support x86-64-v2
造成此错误的原因是 Red Hat Enterprise Linux 9 或 Universal Base Image 9 容器镜像必须在支持 x86-64-v2
的 CPU 架构上运行。
如需了解更多详细信息,请参阅 (运行 Red Hat Enterprise Linux 9 (RHEL)或 Universal Base Image (UBI) 9 容器镜像会失败,并显示 "Fatal glibc 错误:CPU 不支持 x86-64-v2")。
CLI 正确运行容器运行时。但是,不支持不同的容器运行时配置。
虽然不支持,但您可以使用 Docker 而不是 Podman 运行 CLI,这将解决这个问题。
要达到此目的,您需要将 PODMAN_BIN
路径替换为 Docker 的路径。
例如,如果您遇到这个问题,而不是发出:
PODMAN_BIN=/usr/local/bin/docker mta-cli analyze
您可以将 PODMAN_BIN
替换为 Docker 的路径:
<Docker Root Dir>=/usr/local/bin/docker mta-cli analyze
虽然这不受支持,但您可以探索 CLI,同时准备升级硬件或移至支持 x86_64-v2
的硬件。