ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

国产操作系统离线安装全攻略:银河麒麟与统信UOS实战

国产操作系统离线安装全攻略:银河麒麟与统信UOS实战 1. 国产操作系统离线安装的必要性与挑战在国产化替代的大背景下银河麒麟和统信UOS作为两大主流国产操作系统其软件生态建设仍处于快速发展阶段。不同于常见的Ubuntu或CentOS这两个系统在离线环境下的软件安装往往会遇到依赖关系复杂、官方源不完整等独特问题。我最近在给某政府单位部署国产化系统时就遇到了典型场景内网服务器无法连接互联网但需要安装一个包含30多个依赖的中间件。官方提供的deb包在联网环境下一条apt命令就能解决的事情在离线环境下变成了需要手动处理依赖地狱的噩梦。经过多次实践我总结出一套可靠的离线安装方法论。关键认知离线安装的核心不是单纯解决如何安装一个deb文件而是建立完整的本地依赖管理体系。这也是本文与普通教程的本质区别。2. 准备工作构建离线资源库2.1 获取基础安装介质首先需要准备银河麒麟V10 SP1或统信UOS 20专业版ISO镜像建议使用最新发布版本目标软件包的deb文件及其所有依赖包至少8GB可用空间的U盘或移动硬盘FAT32格式实际操作中我推荐使用统信官网提供的软件仓库下载工具可在其生态适配板块找到它能自动递归下载某个应用的所有依赖。例如需要安装WPS时./downloader.sh --pkgcn.wps.office --archamd64 --output./wps_offline这会生成包含主包和87个依赖项的完整集合。2.2 处理依赖关系的技巧遇到依赖缺失时不要盲目从第三方源下载。建议先在联网机器上模拟安装apt-get install --dry-run package使用apt-rdepends工具生成完整依赖树apt-rdepends -f package | grep -v ^ deps.list通过dpkg -I检查已下载deb的依赖声明dpkg -I package.deb | grep Depends血泪教训某次部署中一个看似普通的libssl1.1依赖实际需要特定修订版直接使用Ubuntu的兼容包导致核心服务崩溃。务必从官方仓库获取依赖3. 本地源搭建实战3.1 创建基本目录结构在离线环境的服务器上执行mkdir -p /opt/offline_repo/{packages,conf} cd /opt/offline_repo3.2 生成Packages索引将所有deb文件放入packages目录后dpkg-scanpackages packages /dev/null | gzip packages/Packages.gz3.3 配置本地源创建conf/local.listdeb [trustedyes] file:/opt/offline_repo packages/更新源缓存mv conf/local.list /etc/apt/sources.list.d/ apt-get update3.4 处理签名验证问题银河麒麟严格要求包签名验证需要额外步骤apt-get install -y dpkg-sig dpkg-sig --verify package.deb gpg --export -a /opt/offline_repo/archive-key.asc4. 高级安装场景处理4.1 混合架构环境支持在ARM架构机器上安装amd64软件时dpkg --add-architecture amd64 apt-get update apt-get install package:amd644.2 规避版本冲突使用equivs创建虚拟包解决依赖冲突equivs-control fake-package # 编辑control文件后 equivs-build fake-package4.3 系统级依赖隔离对于可能污染系统环境的安装建议使用schroot -c uos-pkg-install # 在chroot环境中完成安装测试5. 典型问题排查指南5.1 安装过程中断处理当出现无法修正依赖关系错误时检查/var/lib/dpkg/status文件是否损坏尝试dpkg --configure -a apt-get -f install5.2 桌面环境图标缺失手动创建.desktop文件cp /usr/share/applications/app.desktop ~/.local/share/applications/ update-desktop-database5.3 字体渲染异常统信UOS特有的字体配置fc-cache -fv sudo zh_cn_fontfix经过多个政务云项目的验证这套方法能解决95%以上的离线安装问题。最后分享一个实用技巧在批量部署时可以预先在虚拟机中测试安装过程使用dpkg --get-selections生成软件列表再通过dpkg --set-selections和apt-get dselect-upgrade实现批量安装。记住离线环境下的成功安装70%取决于前期准备是否充分30%才是实际安装过程。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进