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.