原文链接:统信UOS/麒麟KYLINOS上跨架构下载离线软件包
hello,大家好啊,今天给大家带来一篇在统信UOS/麒麟KYLINOS上跨架构下载离线软件包的实用教程。在我们的日常工作中,可能会遇到这样的情况:需要为不同架构的设备下载软件包,比如在x86架构的机器上下载arm64架构的离线包。这种需求在进行软件迁移或测试不同硬件平台时尤为常见。今天,我就来分享一下如何在统信UOS/麒麟KYLINOS操作系统中实现这一操作。
为什么需要跨架构下载软件包?
在多架构的环境中工作时,我们可能需要在一种架构的机器上预先下载另一种架构的软件包。这样做有几个好处:
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系统的知识!
上一篇:使用Java实现基数排序算法