一、背景项目环境离线为部署UE开发工具需要升级GCC。本文将通过在银河麒麟桌面版操作系统上进行GCC升级的任务来演示如何在基于debian的操作系统Ubuntu、麒麟desktop上使用apt离线安装软件环境介绍二、操作流程1、准备离线包两种方式找一台能联网的ubuntu或者麒麟同镜像系统就行如果没有联网的Linux机器可以买一个云服务器或者装个vmware 虚拟机这里演示在华为云上买一个ubuntu云服务器以华为云为例登录华为云https://www.huaweicloud.com/intl/zh-cn/点击控制台找到ECS即可如果访问过了可在最近中找到按需计费如果只是临时调试使用1G 1核心就行选一个基础镜像我这里就选ubuntu因为是临时用所以我这里选择了全开放端口买个公网IP配个密码需要符合密码规则同意然后购买买完去控制台过一会儿就自动配置好了用moba或者windterm连公网IP就行登陆后先添加 Ubuntu Toolchain 的测试源以获取最新的 GCC 版本add-apt-repository ppa:ubuntu-toolchain-r/testapt-get update mkdir /home/gcc-11 apt-get install --download-only gcc-11 g-11cd /var/cache/apt/archives cp -ra *.deb /home/gcc-11/cd /home/gcc-11 dpkg-scanpackages . /dev/null Packages至此软件包制作完成2、 搭建apt离线仓库以及下载gcc-11 g-11连上离线的目标机器gcc -v g -v可以发现当前GCC版本为9.3将离线包传到/opt下然后解压把包的名称改成software然后只需下面的命令意在移除不能用的源然后写源文件指定本地源的路径mv /etc/apt/sources.list /etc/apt/sources.list_bak echo deb [trustedyes] file:///opt/software/gcc-11/ ./ /etc/apt/sources.list.d/local-repo.list cat /etc/apt/sources.list.d/local-repo.list这里的图片仅供参考图中我把gcc-11的路径放到了/home/zcl下大家根据自己实际的路径进行填写如我上文建议的/opt下更新apt-get update安装apt-get install gcc-11 g-11安装完成升级版本的操作就是将gcc系统使用的优先级调整把gcc-9 和g-9设置为20把gcc-11 和g-11设置为比20更高的值即可update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 20update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50update-alternatives --install /usr/bin/g g /usr/bin/g-9 20update-alternatives --install /usr/bin/g g /usr/bin/g-11 50gcc -v g -v再看的时候就会发现gcc和g的版本已经是11了升级完成其他说明如果您的银河麒麟是Server版本的包管理工具是yum请参考yum 离线下载软件包的方法如何使用yum离线安装软件-CSDN博客三、总结本文通过在银河麒麟桌面版上升级gcc来演示如何使用apt 进行离线包的创建到源的编写简单说就是离线仓库的建立便于在离线的环境上进行各种部署后续建议补充脚本来完成一键安装。祝读者顺利完成部署有什么优化的地方欢迎指出互相学习