Se produce un error en la conexión con el dispositivo de destino.
Requerimientos
El servidor SSH del dispositivo de destino se ejecuta en un puerto conocido (por ejemplo, el puerto 22).
Se conoce la dirección IP correcta del dispositivo de destino. Se puede hacer ping al dispositivo de destino a través de la dirección IP.
Solución de problemas
Sugerencia
Otros problemas, como una red lenta o un error de red, también pueden provocar la interrupción de la conexión.
Tras conectarse al dispositivo de destino, el Deploy Tool lee algunos parámetros del sistema para determinar qué paquetes y funciones están disponibles. Se comprueban los siguientes aspectos del dispositivo de destino:
Arquitecturas de área de usuario
El Deploy Tool detecta los cargadores disponibles en el dispositivo de destino. Los cargadores disponibles determinan qué archivos binarios se pueden ejecutar. Para ello, el Deploy Tool ejecuta el siguiente comando:
ls -la /lib*/ld-linux*
Si la salida contiene alguno de los valores siguientes, se considera que la arquitectura correspondiente está disponible: x86-64, i386, x32, armhf, aarch64.
Para la versión 4.14.0.0:
Si no se encuentra ninguno de estos valores, la conexión se desconecta.
Para la versión 4.15.0.0 y superior:
Si no se encuentra ninguno de estos valores, Deploy Tool imprime un mensaje de registro que indica que no se ha detectado ninguna arquitectura de Userland. A continuación, se comprueban los siguientes parámetros. Sin embargo, esto no debería provocar una desconexión
Arquitectura del dispositivo
El Deploy Tool comprueba qué CPU está disponible en el dispositivo de destino. Para ello, el Deploy Tool ejecuta los siguientes comandos:
lscpu | grep ^Architecture:
Si la salida contiene alguno de los valores siguientes, se utiliza la arquitectura correspondiente: x86_64, i686, aarch64, armv7l, armv6l.
Si la salida no contiene ninguno de estos valores, entonces el comando
cat /proc/cpuinfo | grep '^model name'
se ejecuta.cat /proc/cpuinfo | grep '^model name'
Si la salida contiene alguno de los valores siguientes, se utiliza la arquitectura correspondiente: x86_64, i686, aarch64, armv7l, armv6l.
Si la salida no contiene ninguno de estos valores, se imprime un mensaje de registro.
Motor de contenedores
El Deploy Tool comprueba qué motores de contenedores están disponibles en el dispositivo de destino. Para ello, el Deploy Tool ejecuta los siguientes comandos:
which docker
Si el código de salida es 0, Docker se reconoce como un motor.
which podman
Si el código de salida es 0, Podman se reconoce como un motor.
Aviso
El uso simultáneo de dos motores de contenedores no se ha probado y no es totalmente compatible. Como resultado, esto podría ocasionar problemas.
Arquitectura de contenedores
El Deploy Tool comprueba qué arquitecturas puede ejecutar el motor del contenedor. Para ello, el Deploy Tool ejecuta el siguiente comando, en función del motor detectado:
docker info
Si el
Architecture:
la salida contiene cualquiera de los valores siguientes y, a continuación, se utiliza la arquitectura correspondiente: x86_64, aarch64, armv7l, armv6l.Si no se encuentra ninguno de estos valores, se imprime un mensaje de registro.
podman info
Si el
arch:
la salida contiene cualquiera de los siguientes valores y, a continuación, se utiliza la arquitectura correspondiente: amd64, aarch64, armv7l, armv6l.Si no se encuentra ninguno de estos valores, se imprime un mensaje de registro.
Proceso de inicio
El Deploy Tool comprueba qué procesos de inicio están disponibles en el dispositivo de destino. Para ello, el Deploy Tool ejecuta los siguientes comandos:
systemctl > /dev/null 2>&1 ; echo $?
Si el código de salida es 0 y la salida contiene 0, entonces
systemd
se reconoce como un proceso de inicio disponible.ls /etc/init.d > /dev/null 2>&1 ; echo $?
Si el código de salida es 0 y la salida contiene 0, entonces
initd
se reconoce como un proceso de inicio disponible.
Administradores de paquetes
El Deploy Tool comprueba qué gestores de paquetes están disponibles en el dispositivo de destino. Para ello, el Deploy Tool ejecuta los siguientes comandos:
which dpkg > /dev/null 2>&1; echo $?
Si el código de salida es 0 y la salida contiene 0, entonces
dpkg
está registrado como gestor de paquetes disponible.which ipkg > /dev/null 2>&1; echo $?
Si el código de salida es 0 y la salida contiene 0, entonces
ipkg
está registrado como gestor de paquetes disponible.which opkg > /dev/null 2>1; echo $?
Si el código de salida es 0 y la salida contiene 0, entonces
opkg
está registrado como gestor de paquetes disponible.Para la versión 4.15 y posteriores:
which rpm > /dev/null 2>1; echo $?
Si el código de salida es 0 y la salida contiene 0, entonces
rpm
está registrado como gestor de paquetes disponible.
Aviso
Si un producto y su sistema son compatibles dpkg
y ipkg
o opkg
, entonces dpkg
se utiliza.
Pitón
El Deploy Tool comprueba si Python está disponible en su dispositivo de destino. Para ello, el Deploy Tool ejecuta el siguiente comando:
python3 -v
Si el código de salida es 0 y la versión es superior a 3.9, se reconoce que Python está instalado.