先确认错误本质:执行dpkg -I your-package.deb | grep -i "depends\|architecture"查看元数据,若架构不匹配(如包为arm64而系统为amd64)则不可安装;若依赖声明libssl1.1但系统已装libssl3,属ABI断层,须适配而非降级。

在银行或政务内网环境中安装.deb包时遇到“依赖不满足”报错,说明系统无法定位或加载包声明所需的共享库、工具链或架构匹配组件,这不是简单重试就能绕过的校验失败。
先确认错误本质是哪一类
执行 dpkg -I your-package.deb | grep -i "depends\|architecture" 查看包元数据。若输出中 architecture 明确为 arm64,而你的机器运行 dpkg --print-architecture 返回 amd64,则【架构硬性不兼容,不可强行安装】;若 Depends 字段含 libssl1.1,但 apt list --installed | grep libssl 显示已装 libssl3,则属于 ABI 版本断层,需走适配路径而非降级。
这一步跳过等于盲装——麒麟V10的 libssl3 是等保合规强制升级项,回退 libssl1.1 会触发安全审计告警。
在线环境快速修复(开发机/测试机适用)
方法一:用 apt 自动补全依赖链
执行 sudo apt install -f,该命令会扫描 /var/lib/dpkg/status 中标记为 half-installed 的包,并从已启用源中拉取缺失依赖。若提示 “no installation candidate”,说明当前源未收录该依赖,需切换源或手动下载。
方法二:强制刷新源并重试
先运行 sudo apt clean && sudo apt update --fix-missing,再执行 sudo apt install -f。注意:银河麒麟默认源禁用 universe 和 multiverse,【若报错含 libcups2 或 libavahi-client3 等基础组件缺失,大概率是源未启用 kylin-os 主仓库】,需编辑 /etc/apt/sources.list 补充官方源地址。
离线环境完整交付(生产机/保密网适用)
第一步:在同版本同架构的联网机器上完成全流程验证
确保开发机与目标机均为 Kylin V10 SP3 + arm64,且 kernel 版本一致(uname -r 输出相同)。在此机上先执行 sudo dpkg -i your-package.deb,任其报错,再立即运行 sudo apt-get install -f --print-uris。
第二步:提取所有依赖包的下载链接
上述命令将输出形如 'http://mirrors.aliyun.com/kylin/pool/main/libj/libjpeg-turbo/libjpeg62-turbo_2.0.3-0ubuntu1.20.04.3_arm64.deb' 1234567 的列表。复制全部 URL,用 wget 批量下载:wget -i urls.txt。
第三步:拷贝 deb 包到目标机并本地安装
把下载好的所有 .deb 文件(含主包)放入同一目录,执行:sudo dpkg -i *.deb。若仍报依赖错,说明有包未被 apt-get install -f 捕获,此时改用 sudo apt install ./your-package.deb(注意路径前缀 ./),apt 会自动解析本地目录中的依赖关系。

















