ターゲットデバイスへの接続が失敗します。
必要条件
ターゲットデバイスのSSHサーバーは、既知のポート(ポート22など)で動作しています。
ターゲットデバイスの正しい IP アドレスがわかっています。IP アドレスを使用してターゲットデバイスに ping を送信できます
トラブルシューティング
ヒント
ネットワークが遅い、ネットワークエラーなどの他の問題によっても、接続が中断されることがあります。
ターゲットデバイスに接続すると、 Deploy Tool システムパラメータを読み取って、どのパッケージと機能が使用可能かを判断します。ターゲットデバイスの以下の点がチェックされます。
ユーザーランドアーキテクチャ
ザ・ Deploy Tool ターゲットデバイスで使用可能なローダーを検出します。使用可能なローダーによって、実行できるバイナリファイルが決まります。そのためには、 Deploy Tool 以下のコマンドを実行します。
ls -la /lib*/ld-linux*出力に次の値のいずれかが含まれている場合、x86-64、i386、x32、armhf、aarch64 のそれぞれのアーキテクチャが使用可能であると見なされます。
バージョン 4.14.0.0 の場合:
これらの値がいずれも見つからない場合、接続は切断されます。
バージョン 4.15.0.0 以降の場合:
これらの値がいずれも見つからない場合は、 Deploy Tool Userland アーキテクチャが検出されなかったことを示すログメッセージを出力します。次に、以下のパラメーターがチェックされます。ただし、これによって接続が切断されることはありません
デバイスアーキテクチャ
ザ・ Deploy Tool ターゲットデバイスで使用可能な CPU を確認します。そのためには、 Deploy Tool 以下のコマンドを実行します。
lscpu | grep ^Architecture:出力に次の値のいずれかが含まれている場合は、x86_64、i686、aarch64、armv7l、armv6l のそれぞれのアーキテクチャが使用されます。
出力にこれらの値がまったく含まれていない場合、コマンド
cat /proc/cpuinfo | grep '^model name'が実行されます。cat /proc/cpuinfo | grep '^model name'出力に次の値のいずれかが含まれている場合は、x86_64、i686、aarch64、armv7l、armv6l のそれぞれのアーキテクチャが使用されます。
出力にこれらの値がまったく含まれていない場合は、ログメッセージが出力されます。
コンテナエンジン
ザ・ Deploy Tool ターゲットデバイスで使用できるコンテナエンジンを確認します。そのためには、 Deploy Tool 以下のコマンドを実行します。
which docker終了コードが 0 の場合、Docker はエンジンとして認識されます。
which podman終了コードが 0 の場合、Podman はエンジンとして認識されます。
注記
2 つのコンテナエンジンの同時使用はテストされておらず、完全にはサポートされていません。その結果、問題が発生する可能性があります。
コンテナアーキテクチャ
ザ・ Deploy Tool コンテナエンジンがどのアーキテクチャを実行できるかを確認します。そのためには、 Deploy Tool 検出されたエンジンに応じて、以下のコマンドを実行します。
docker infoもし
Architecture:出力には次の値のいずれかが含まれている場合、x86_64、aarch64、armv7l、armv6l の各アーキテクチャが使用されます。これらの値がいずれも見つからない場合は、ログメッセージが出力されます。
podman infoもし
arch:出力には次の値のいずれかが含まれている場合、それぞれのアーキテクチャーが使用されます:amd64、aarch64、armv7l、armv6l。これらの値がいずれも見つからない場合は、ログメッセージが出力されます。
初期化プロセス
ザ・ Deploy Tool ターゲットデバイス上でどの init プロセスが使用可能かを確認します。そのためには、 Deploy Tool 以下のコマンドを実行します。
systemctl > /dev/null 2>&1 ; echo $?終了コードが 0 で、出力に 0 が含まれている場合、
systemd利用可能な init プロセスとして認識されます。ls /etc/init.d > /dev/null 2>&1 ; echo $?終了コードが 0 で、出力に 0 が含まれている場合、
initd利用可能な init プロセスとして認識されます。
パッケージマネージャー
ザ・ Deploy Tool ターゲットデバイスでどのパッケージマネージャーが使用可能かを確認します。そのためには、 Deploy Tool 以下のコマンドを実行します。
which dpkg > /dev/null 2>&1; echo $?終了コードが 0 で、出力に 0 が含まれている場合、
dpkg利用可能なパッケージマネージャーとして登録されています。which ipkg > /dev/null 2>&1; echo $?終了コードが 0 で、出力に 0 が含まれている場合、
ipkg利用可能なパッケージマネージャーとして登録されています。which opkg > /dev/null 2>1; echo $?終了コードが 0 で、出力に 0 が含まれている場合、
opkg利用可能なパッケージマネージャーとして登録されています。バージョン 4.15 以降の場合:
which rpm > /dev/null 2>1; echo $?終了コードが 0 で、出力に 0 が含まれている場合、
rpm利用可能なパッケージマネージャーとして登録されています。
注記
製品とシステムがサポートしている場合 dpkg と ipkg または opkgそれから dpkg が使われています。
Python
ザ・ Deploy Tool Python がターゲットデバイスで使用できるかどうかを確認します。そのためには、 Deploy Tool 以下のコマンドを実行します。
python3 -v終了コードが 0 で、バージョンが 3.9 より大きい場合、Python はインストールされていると認識されます。