如何使用apt离线安装软件(麒麟升级GCC)

一、背景

项目环境离线,为部署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/test

apt-get update

mkdir /home/gcc-11

apt-get install --download-only gcc-11 g++-11


cd /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 [trusted=yes] 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 20

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50

update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 20

update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 50

gcc -v 
g++ -v 

再看的时候就会发现gcc和g++的版本已经是11了,升级完成

其他说明:如果您的银河麒麟是Server版本的,包管理工具是yum,请参考yum 离线下载软件包的方法

如何使用yum离线安装软件-CSDN博客

三、总结

本文通过在银河麒麟桌面版上升级gcc来演示如何使用apt 进行离线包的创建到源的编写,简单说就是离线仓库的建立,便于在离线的环境上进行各种部署,后续建议补充脚本来完成一键安装。祝读者顺利完成部署,有什么优化的地方欢迎指出,互相学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值