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
- CLI for MacOS aarch64
- CLI for Windows x86_64
- CLI for Windows aarch64
- インターネットに接続されたデバイスでイメージをダウンロードして保存します。
- 非接続のデバイスにバイナリーをコピーします。
- さらに、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 を使用してレジストリーからイメージを取得します。
$ podman pull registry.redhat.io/mta/mta-cli-rhel9:7.1.0
Podman を使用して、レジストリーから必要なプロバイダーイメージを取得します。
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 アーキテクチャーで実行する必要があるために発生します。
CLI はコンテナーランタイムを正しく実行します。ただし、異なるコンテナーランタイム設定はサポートされていません。
サポートされていませんが、Podman の代わりに Docker を使用して 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
これはサポートされていませんが、ハードウェアをアップグレードしたり、x86_64-v2
をサポートするハードウェアに移行したりするときに、CLI を調べることができます。