统信UOS
作者:mmseoamin日期:2023-12-14

原文链接:统信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$ 

统信UOS,01.png,第1张

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$ 

统信UOS,02.png,第2张

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$ 

统信UOS,03.png,第3张

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#

统信UOS,04.png,第4张

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

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

统信UOS,05.png,第5张

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$ 

统信UOS,image.png,第6张

7、查看系统是否安装tree

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

统信UOS,image.png,第7张

8、解压压缩包

统信UOS,image.png,第8张

9、安装deb包

统信UOS,image.png,第9张

10、输入密码

统信UOS,image.png,第10张

11、安装完成

统信UOS,image.png,第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,image.png,第12张

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

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

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