Skip to main content

Die Verbindung zum Zielgerät schlägt fehl

Voraussetzungen

  • Der SSH-Server auf dem Zielgerät ist in Betrieb und läuft auf einem bekannten Port (beispielsweise 22).

  • Die richtige IP-Adresse des Zielgeräts ist bekannt. Das Zielgerät kann über die IP-Adresse angepingt werden.

Fehlerbehebung

Tipp

Andere Probleme wie ein langsames Netzwerk oder ein Netzwerkfehler können ebenfalls eine Unterbrechung der Verbindung verursachen.

Nach der Verbindung zum Zielgerät liest das Deploy Tool einige Systemparameter aus, um zu ermitteln, welche Packages und Funktionen verfügbar sind. Dabei werden folgende Aspekte des Zielgeräts überprüft:

Userland-Architekturen

Das Deploy Tool ermittelt die verfügbaren Loader auf dem Zielgerät. Die verfügbaren Loader bestimmen, welche Binärdateien ausgeführt werden können. Dazu führt das Deploy Tool folgenden Befehl aus:

  • ls -la /lib*/ld-linux*

    Wenn die Ausgabe einen der folgenden Werte enthält, gilt die jeweilige Architektur als verfügbar: x86-64, i386, x32, armhf, aarch64

    • Bei Version 4.14.0.0:

      Wurde keiner dieser Werte gefunden, wird die Verbindung unterbrochen.

    • Ab Version 4.15.0.0:

      Wenn keiner dieser Werte gefunden wurde, gibt das Deploy Tool eine Logmeldung aus, dass keine Userland-Architektur gefunden wurde. Danach werden nachfolgende Paramenter geprüft. Dies sollte jedoch nicht zu einer Unterbrechung der Verbindung führen.

Gerätearchitektur

Das Deploy Tool prüft, welche CPU auf dem Zielgerät vorhanden ist. Dazu führt das Deploy Tool die folgenden Befehle aus:

  • lscpu | grep ^Architecture:

    Wenn die Ausgabe einen der folgenden Werte enthält, wird die entsprechende Architektur verwendet: x86_64, i686, aarch64, armv7l, armv6l

    Wenn die Ausgabe keinen dieser Werte enthält, wird der Befehl cat /proc/cpuinfo | grep '^model name' ausgeführt.

  • cat /proc/cpuinfo | grep '^model name'

    Wenn die Ausgabe einen der folgenden Werte enthält, wird die entsprechende Architektur verwendet: x86_64, i686, aarch64, armv7l, armv6l

    Wenn die Ausgabe keinen dieser Werte enthält , wird eine Logmeldung ausgegeben.

Container-Engine

Das Deploy Tool prüft, welche Container-Engines auf dem Zielgerät verfügbar sind. Dazu führt das Deploy Tool folgende Befehle aus:

  • which docker

    Wenn der Exit-Codes 0 ist, wird Docker als Engine erkannt.

  • which podman

    Wenn der Exit-Codes 0 ist, wird Podman als Engine erkannt.

Hinweis

Der gleichzeitige Einsatz von zwei Container-Engines ist nicht getestet und wird nicht vollständig unterstützt. Dies könnte deshalb zu Problemen führen.

Container-Architektur

Das Deploy Tool prüft, welche Architekturen die Container-Engine ausführen kann. Dazu führt das Deploy Tool, abhängig von der ermittelten Engine, folgenden Befehl aus:

  • docker info

    Wenn die Ausgabe Architecture: einen der folgenden Werte enthält, wird die entsprechende Architektur verwendet: x86_64, aarch64, armv7l, armv6l

    Wenn keiner dieser Werte gefunden wird, wird eine Logmeldung ausgegeben.

  • podman info

    Wenn die Ausgabe arch: einen der folgenden Werte enthält, wird die entsprechende Architektur verwendet: amd64, aarch64, armv7l, armv6l

    Wenn keiner dieser Werte gefunden wird, wird eine Logmeldung ausgegeben.

Init-Prozess

Das Deploy Tool prüft, welche Init-Prozesse auf dem Zielgerät verfügbar sind. Dazu führt das Deploy Tool folgende Befehle aus:

  • systemctl > /dev/null 2>&1 ; echo $?

    Wenn der Exit-Code 0 ist und die Ausgabe 0 enthält, dann wird systemd als verfügbarer Init-Prozess erkannt.

  • ls /etc/init.d > /dev/null 2>&1 ; echo $?

    Wenn der Exit-Code 0 ist und die Ausgabe 0 enthält, dann wird initd als verfügbarer Init-Prozess erkannt.

Package Manager

Das Deploy Tool prüft, welche Packagemanager auf dem Zielgerät verfügbar sind. Dazu führt das Deploy Tool folgende Befehle aus:

  • which dpkg > /dev/null 2>&1; echo $?

    Wenn der Exit-Code 0 ist und die Ausgabe 0 enthält, dann wird dpkg als verfügbarer Package Manager registriert.

  • which ipkg > /dev/null 2>&1; echo $?

    Wenn der Exit-Code 0 ist und die Ausgabe 0 enthält, dann wird ipkg als verfügbarer Package Manager registriert.

  • which opkg > /dev/null 2>1; echo $?

    Wenn der Exit-Code 0 ist und die Ausgabe 0 enthält, dann wird opkg als verfügbarer Package Manager registriert.

  • Ab Version 4.15:

    which rpm > /dev/null 2>1; echo $?

    Wenn der Exit-Code 0 ist und die Ausgabe 0 enthält, dann wird rpm als verfügbarer Package Manager registriert.

Hinweis

Wenn ein Produkt und Ihr System dpkg und ipkg oder opkg unterstützen, wird dpkg verwendet.

Python

Das Deploy Tool prüft, ob Python auf Ihrem Ziel verfügbar ist. Dazu führt das Deploy Tool folgenden Befehl aus:

  • python3 -v

    Wenn der Exit-Code 0 und die Version größer-gleich als 3.9 ist, wird Python als installiert erkannt.