原文鏈接:統信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-appsx11-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.deb0 directories, 6 files
pdsyw@pdsyw-PC:~/Desktop/tree$
通過上述步驟,你可以在統信UOS/麒麟KYLINOS操作系統中輕松實現跨架構的軟件包下載,這對于軟件開發和測試、以及多平臺部署來說是一個非常實用的技巧。
希望這篇文章能幫助到需要進行跨架構軟件部署的朋友們。如果你有任何問題或者更多的經驗分享,請在評論區留言,我們一起討論。
最后,如果你覺得這篇文章有用,請分享轉發。點個關注和在看吧,讓我們一起探索和學習更多關于Linux系統的知識!