Skip to main content

La connessione al dispositivo di destinazione non riesce.

Requisiti

  • Il server SSH sul dispositivo di destinazione è in esecuzione su una porta nota (ad esempio, la porta 22).

  • L'indirizzo IP corretto del dispositivo di destinazione è noto. È possibile eseguire il ping del dispositivo di destinazione tramite l'indirizzo IP

Risoluzione dei problemi

Suggerimento

Anche altri problemi, come una rete lenta o un errore di rete, possono causare l'interruzione della connessione.

Dopo la connessione al dispositivo di destinazione, Deploy Tool legge alcuni parametri di sistema per determinare quali pacchetti e funzioni sono disponibili. Vengono controllati i seguenti aspetti del dispositivo di destinazione:

Architetture Userland

Le Deploy Tool rileva i caricatori disponibili sul dispositivo di destinazione. I caricatori disponibili determinano quali file binari possono essere eseguiti. A tale scopo Deploy Tool esegue il comando seguente:

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

    Se l'output contiene uno dei seguenti valori, la rispettiva architettura è considerata disponibile: x86-64, i386, x32, armhf, aarch64.

    • Per la versione 4.14.0.0:

      Se non viene trovato nessuno di questi valori, la connessione viene disconnessa.

    • Per la versione 4.15.0.0 e successive:

      Se non viene trovato nessuno di questi valori, Deploy Tool stampa un messaggio di registro che indica che non è stata rilevata alcuna architettura Userland. Vengono quindi controllati i seguenti parametri. Tuttavia, ciò non dovrebbe causare una disconnessione.

Architettura del dispositivo

Le Deploy Tool controlla quale CPU è disponibile sul dispositivo di destinazione. A tale scopo, Deploy Tool esegue i seguenti comandi:

  • lscpu | grep ^Architecture:

    Se l'output contiene uno dei seguenti valori, viene utilizzata la rispettiva architettura: x86_64, i686, aarch64, armv7l, armv6l.

    Se l'output non contiene nessuno di questi valori, allora il comando cat /proc/cpuinfo | grep '^model name' viene eseguito.

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

    Se l'output contiene uno dei seguenti valori, viene utilizzata la rispettiva architettura: x86_64, i686, aarch64, armv7l, armv6l.

    Se l'output non contiene nessuno di questi valori, viene stampato un messaggio di registro.

Motore per container

Le Deploy Tool controlla quali motori di container sono disponibili sul dispositivo di destinazione. A tale scopo, Deploy Tool esegue i seguenti comandi:

  • which docker

    Se il codice di uscita è 0, Docker viene riconosciuto come motore.

  • which podman

    Se il codice di uscita è 0, Podman viene riconosciuto come motore.

Avviso

L'uso simultaneo di due motori per container non è stato testato e non è completamente supportato. Di conseguenza, ciò potrebbe causare problemi

Architettura del contenitore

Le Deploy Tool controlla quali architetture il motore del contenitore può eseguire. Per fare ciò Deploy Tool esegue il comando seguente, a seconda del motore rilevato:

  • docker info

    Se il Architecture: l'output contiene uno dei seguenti valori, quindi viene utilizzata la rispettiva architettura: x86_64, aarch64, armv7l, armv6l.

    Se non viene trovato nessuno di questi valori, viene stampato un messaggio di registro.

  • podman info

    Se il arch: l'output contiene uno dei seguenti valori, quindi viene utilizzata la rispettiva architettura: amd64, aarch64, armv7l, armv6l.

    Se non viene trovato nessuno di questi valori, viene stampato un messaggio di registro.

Processo di avvio

Le Deploy Tool controlla quali processi di init sono disponibili sul dispositivo di destinazione. Per fare ciò, Deploy Tool esegue i seguenti comandi:

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

    Se il codice di uscita è 0 e l'output contiene 0, allora systemd è riconosciuto come processo di inizializzazione disponibile.

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

    Se il codice di uscita è 0 e l'output contiene 0, allora initd è riconosciuto come processo di inizializzazione disponibile.

Gestori di pacchetti

Le Deploy Tool controlla quali gestori di pacchetti sono disponibili sul dispositivo di destinazione. Per fare ciò, Deploy Tool esegue i seguenti comandi:

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

    Se il codice di uscita è 0 e l'output contiene 0, allora dpkg è registrato come gestore di pacchetti disponibile.

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

    Se il codice di uscita è 0 e l'output contiene 0, allora ipkg è registrato come gestore di pacchetti disponibile.

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

    Se il codice di uscita è 0 e l'output contiene 0, allora opkg è registrato come gestore di pacchetti disponibile.

  • Per la versione 4.15 e successive:

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

    Se il codice di uscita è 0 e l'output contiene 0, allora rpm è registrato come gestore di pacchetti disponibile.

Avviso

Se un prodotto e il tuo sistema supportano dpkg e ipkg o opkg, quindi dpkg è usato.

Pitone

Le Deploy Tool controlla se Python è disponibile sul dispositivo di destinazione. Per fare ciò, Deploy Tool esegue il comando seguente:

  • python3 -v

    Se il codice di uscita è 0 e la versione è maggiore di 3.9, Python viene riconosciuto come installato.