统信UOS_麒麟KYLINOS上跨架构下载离线软件包

原文链接:统信UOS/麒麟KYLINOS上跨架构下载离线软件包

hello,大家好啊,今天给大家带来一篇在统信UOS/麒麟KYLINOS上跨架构下载离线软件包的实用教程。在我们的日常工作中,可能会遇到这样的情况:需要为不同架构的设备下载软件包,比如在x86架构的机器上下载arm64架构的离线包。这种需求在进行软件迁移或测试不同硬件平台时尤为常见。今天,我就来分享一下如何在统信UOS/麒麟KYLINOS操作系统中实现这一操作。
为什么需要跨架构下载软件包?

在多架构的环境中工作时,我们可能需要在一种架构的机器上预先下载另一种架构的软件包。这样做有几个好处:

  1. 兼容性测试: 在开发或测试阶段,可能需要确保软件在不同架构的设备上都能正常运行。
  2. 资源优化: 某些情况下,可能只有特定架构的机器能够连接到互联网,需要在这台机器上下载其他架构的软件包。
  3. 便于部署: 对于需要在无网络环境下部署软件的场景,提前下载好正确架构的软件包非常必要。

1、查看x86的系统信息

复制代码
pdsyw@pdsyw-PC:~/Desktop$ uname -a
Linux pdsyw-PC 4.19.0-amd64-desktop #6108 SMP Wed Sep 13 13:27:25 CST 2023 x86_64 GNU/Linux
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ cat /etc/os-version 
[Version] 
SystemName=UOS Desktop
SystemName[zh_CN]=统信桌面操作系统
ProductType=Desktop
ProductType[zh_CN]=桌面
EditionName=Professional
EditionName[zh_CN]=专业版
MajorVersion=20
MinorVersion=1060
OsBuild=11018.101.100
pdsyw@pdsyw-PC:~/Desktop$ 

2、添加ARM架构支持并更新APT的软件源列表以包含新添加的架构信息

复制代码
对于32位ARM(armhf):
sudo dpkg --add-architecture armhf
对于64位ARM(arm64):
sudo dpkg --add-architecture arm64

pdsyw@pdsyw-PC:/var/cache/apt/archives$ sudo dpkg --add-architecture arm64
pdsyw@pdsyw-PC:/var/cache/apt/archives$ 
pdsyw@pdsyw-PC:/var/cache/apt/archives$ sudo apt update 
命中:1 https://pro-driver-packages.uniontech.com eagle InRelease
命中:3 https://cdn-professional-security.chinauos.com eagle/1060 InRelease                                   
获取:6 https://pro-driver-packages.uniontech.com eagle/non-free arm64 Packages [332 kB]                      
命中:2 https://professional-packages.chinauos.com/desktop-professional eagle InRelease                       
命中:4 https://professional-packages.chinauos.com/printer eagle InRelease                                    
获取:7 https://cdn-professional-security.chinauos.com eagle/1060/main arm64 Packages [17.8 MB]               
错误:5 https://app-store-files.uniontech.com/231204154835201/appstore eagle-pro InRelease                    
  403  Forbidden [IP: 220.170.50.99 443]
获取:8 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 Packages [18.0 MB]   
获取:11 https://professional-packages.chinauos.com/printer eagle/non-free arm64 Packages [7,672 B]           
获取:12 https://cdn-professional-security.chinauos.com eagle/1060/contrib arm64 Packages [80.3 kB]           
获取:13 https://cdn-professional-security.chinauos.com eagle/1060/non-free arm64 Packages [133 kB]
获取:9 https://professional-packages.chinauos.com/desktop-professional eagle/contrib arm64 Packages [80.3 kB]
获取:10 https://professional-packages.chinauos.com/desktop-professional eagle/non-free arm64 Packages [167 kB]
正在读取软件包列表... 完成                                                                                   
E: 无法下载 https://pro-store-packages.uniontech.com/appstore/dists/eagle-pro/InRelease  403  Forbidden [IP: 220.170.50.99 443]
E: 仓库 "https://pro-store-packages.uniontech.com/appstore eagle-pro InRelease" 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
pdsyw@pdsyw-PC:/var/cache/apt/archives$ 

3、使用apt-get download命令下载特定的ARM软件包及其依赖。

复制代码
pdsyw@pdsyw-PC:/var/cache/apt/archives$ sudo apt install --download-only -o APT::Get::Download-Only=true tree:arm64
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  libdumbnet1 libmspack0 libutempter0 libxmlsec1 libxmlsec1-openssl squashfs-tools x11-apps
  x11-session-utils xbitmaps xinit
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
  gcc-8-base:arm64 libc6:arm64 libgcc1:arm64 libidn2-0:arm64 libunistring2:arm64
建议安装:
  glibc-doc:arm64 locales:arm64
下列【新】软件包将被安装:
  gcc-8-base:arm64 libc6:arm64 libgcc1:arm64 libidn2-0:arm64 libunistring2:arm64 tree:arm64
升级了 0 个软件包,新安装了 6 个软件包,要卸载 0 个软件包,有 108 个软件包未被升级。
需要下载 3,251 kB 的归档。
解压缩后会消耗 12.3 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 gcc-8-base arm64 8.3.0.10-deepin1 [191 kB]
获取:2 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 libgcc1 arm64 1:8.3.0.10-deepin1 [34.4 kB]
获取:3 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 libc6 arm64 2.28.23-deepin1 [2,522 kB]
获取:4 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 libunistring2 arm64 0.9.10-1+d1 [383 kB]
获取:5 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 libidn2-0 arm64 2.0.5.1-1+dde [72.7 kB]
获取:6 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 tree arm64 1.8.0-1 [48.2 kB]
已下载 3,251 kB,耗时 2秒 (1,664 kB/s)
于"仅下载"模式中下载完毕
pdsyw@pdsyw-PC:/var/cache/apt/archives$ 

4、将下载好的软件包打包放到桌面上

复制代码
pdsyw@pdsyw-PC:/var/cache/apt/archives$ sudo -i
root@pdsyw-PC:~# 
root@pdsyw-PC:~# 
root@pdsyw-PC:~# cd /var/cache/apt/archives
root@pdsyw-PC:/var/cache/apt/archives# 
root@pdsyw-PC:/var/cache/apt/archives# ls -ltr
总用量 3188
-rw-r--r-- 1 root root   72732 10月 26  2022 libidn2-0_2.0.5.1-1+dde_arm64.deb
-rw-r--r-- 1 root root   48212 10月 26  2022 tree_1.8.0-1_arm64.deb
-rw-r--r-- 1 root root  191084 6月  15 09:57 gcc-8-base_8.3.0.10-deepin1_arm64.deb
-rw-r--r-- 1 root root   34376 6月  15 10:10 libgcc1_1%3a8.3.0.10-deepin1_arm64.deb
-rw-r--r-- 1 root root 2522024 7月   4 17:32 libc6_2.28.23-deepin1_arm64.deb
-rw-r--r-- 1 root root  382978 9月  14 17:16 libunistring2_0.9.10-1+d1_arm64.deb
drwx------ 2 _apt root    4096 12月  4 16:19 partial
-rw-r----- 1 root root       0 12月  5  2023 lock
root@pdsyw-PC:/var/cache/apt/archives# tar zcvf tree.tar.gz *.deb
gcc-8-base_8.3.0.10-deepin1_arm64.deb
libc6_2.28.23-deepin1_arm64.deb
libgcc1_1%3a8.3.0.10-deepin1_arm64.deb
libidn2-0_2.0.5.1-1+dde_arm64.deb
libunistring2_0.9.10-1+d1_arm64.deb
tree_1.8.0-1_arm64.deb
root@pdsyw-PC:/var/cache/apt/archives# mv tree.tar.gz /home/pdsyw/Desktop/
root@pdsyw-PC:/var/cache/apt/archives#

5、赋予777权限并拷贝压缩包到u盘里

复制代码
pdsyw@pdsyw-PC:~/Desktop$ sudo chmod 777 tree.tar.gz 
请输入密码:
验证成功
pdsyw@pdsyw-PC:~/Desktop$ 

6、查看目标arm64系统信息

复制代码
pdsyw@pdsyw-PC:~/Desktop$ uname -a
Linux pdsyw-PC 4.19.0-arm64-desktop #6030 SMP Tue Jun 27 15:28:10 CST 2023 aarch64 GNU/Linux
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ cat /etc/os-version 
[Version] 
SystemName=UOS Desktop
SystemName[zh_CN]=统信桌面操作系统
ProductType=Desktop
ProductType[zh_CN]=桌面
EditionName=Professional
EditionName[zh_CN]=专业版
MajorVersion=20
MinorVersion=1060
OsBuild=11014.100.100
pdsyw@pdsyw-PC:~/Desktop$ 

7、查看系统是否安装tree

复制代码
pdsyw@pdsyw-PC:~/Desktop$ tree
bash: tree:未找到命令
pdsyw@pdsyw-PC:~/Desktop$

8、解压压缩包

9、安装deb包

10、输入密码

11、安装完成

12、查看命令是否能正常执行

复制代码
pdsyw@pdsyw-PC:~/Desktop/tree$ tree 
.
├── gcc-8-base_8.3.0.10-deepin1_arm64.deb
├── libc6_2.28.23-deepin1_arm64.deb
├── libgcc1_1%3a8.3.0.10-deepin1_arm64.deb
├── libidn2-0_2.0.5.1-1+dde_arm64.deb
├── libunistring2_0.9.10-1+d1_arm64.deb
└── tree_1.8.0-1_arm64.deb

0 directories, 6 files
pdsyw@pdsyw-PC:~/Desktop/tree$ 

通过上述步骤,你可以在统信UOS/麒麟KYLINOS操作系统中轻松实现跨架构的软件包下载,这对于软件开发和测试、以及多平台部署来说是一个非常实用的技巧。

希望这篇文章能帮助到需要进行跨架构软件部署的朋友们。如果你有任何问题或者更多的经验分享,请在评论区留言,我们一起讨论。

最后,如果你觉得这篇文章有用,请分享转发。点个关注和在看吧,让我们一起探索和学习更多关于Linux系统的知识!

相关推荐
RestCloud6 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud7 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
JuiceFS7 小时前
从 MLPerf Storage v2.0 看 AI 训练中的存储性能与扩展能力
运维·后端
ClouGence9 小时前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
稻草人22229 小时前
java Excel 导出 ,如何实现八倍效率优化,以及代码分层,方法封装
后端·架构
数据智能老司机10 小时前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
Java水解10 小时前
Mysql查看执行计划、explain关键字详解(超详细)
后端·mysql
数据智能老司机11 小时前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
chen94513 小时前
mysql 3节点mgr集群部署
运维·后端
知其然亦知其所以然14 小时前
MySQL 社招必考题:如何优化查询过程中的数据访问?
后端·mysql·面试