Skip to main content

ターゲットデバイスへの接続が失敗します。

必要条件

  • ターゲットデバイスの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 利用可能なパッケージマネージャーとして登録されています。

注記

製品とシステムがサポートしている場合 dpkgipkg または opkgそれから dpkg が使われています。

Python

ザ・ Deploy Tool Python がターゲットデバイスで使用できるかどうかを確認します。そのためには、 Deploy Tool 以下のコマンドを実行します。

  • python3 -v

    終了コードが 0 で、バージョンが 3.9 より大きい場合、Python はインストールされていると認識されます。