与目标设备的连接失败。
要求
目标设备上的 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、arch64、armv7l、armv6l。
如果输出不包含任何这些值,则命令
cat /proc/cpuinfo | grep '^model name'
被处决。cat /proc/cpuinfo | grep '^model name'
如果输出包含以下任何值,则使用相应的架构:x86_64、i686、aarch64、arch64、armv7l、armv6l。
如果输出不包含任何这些值,则会打印一条日志消息。
容器引擎
这个 Deploy Tool 检查目标设备上有哪些容器引擎可用。为此, Deploy Tool 执行以下命令:
which docker
如果退出代码为 0,则将 Docker 识别为引擎。
which podman
如果退出代码为 0,则将 Podman 识别为引擎。
注意
两个容器引擎的同时使用尚未经过测试,因此不完全支持。结果,这可能会导致问题。
容器架构
这个 Deploy Tool 检查容器引擎可以执行哪些架构。为此, Deploy Tool 根据检测到的引擎执行以下命令:
docker info
如果
Architecture:
输出包含以下任何值,则使用相应的架构:x86_64、aarch64、arch64、armv7l、armv6l。如果找不到这些值,则会打印一条日志消息。
podman info
如果
arch:
输出包含以下任何值,则使用相应的架构:amd64、aarch64、armv7l、armv6l、armv6l。如果找不到这些值,则会打印一条日志消息。
初始化进程
这个 Deploy Tool 检查目标设备上有哪些初始化进程可用。为此, Deploy Tool 执行以下命令:
systemctl > /dev/null 2>&1 ; echo $?
如果退出代码为 0 且输出包含 0,则
systemd
被识别为可用的初始化进程。ls /etc/init.d > /dev/null 2>&1 ; echo $?
如果退出代码为 0 且输出包含 0,则
initd
被识别为可用的初始化进程。
包管理器
这个 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
已注册为可用的包管理器。
注意
如果产品和您的系统支持 dpkg
和 ipkg
或者 opkg
,那么 dpkg
已使用。
巨蟒蛇
这个 Deploy Tool 检查目标设备上是否有 Python 可用。为此, Deploy Tool 执行以下命令:
python3 -v
如果退出代码为 0 且版本大于 3.9,则将 Python 识别为已安装。