ターゲットデバイスへの接続が失敗します。
必要条件
ターゲットデバイスの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 はインストールされていると認識されます。