没有ARM服务器也能下载ARM软件包?本文以统信UOS 1050a为例,介绍如何利用 yumdownloader,在x86架构系统中配置ARM仓库并指定架构参数,下载适用于aarch64架构的RPM包及依赖,解决离线部署跨架构场景下的资源获取难题。

  • 当前环境为x86架构的统信UOS 1050a,需要下载ARM架构(aarch64)版本的统信UOS 1050a软件包

1、查看服务器当前架构

  • 当前服务器架构是 x86

2、配置源仓库

# cat UnionTechOS-arm.repo

[UnionTechOS-1050-ufu-AppStream-arm]
name = UnionTechOS 1050 ufu AppStream (arm64)
baseurl = https://enterprise-c-packages.chinauos.com/server-enterprise-c/ufu/kongzi/1050/AppStream/aarch64
enabled = 1
username=$auth_u
password=$auth_p
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-uos-release
gpgcheck = 0
skip_if_unavailable = 1

[UnionTechOS-1050-ufu-BaseOS-arm]
name = UnionTechOS 1050 ufu BaseOS (arm64)
baseurl = https://enterprise-c-packages.chinauos.com/server-enterprise-c/ufu/kongzi/1050/BaseOS/aarch64
enabled = 1
username=$auth_u
password=$auth_p
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-uos-release
gpgcheck = 0
skip_if_unavailable = 1

[UnionTechOS-1050-ufu-PowerTools-arm]
name = UnionTechOS 1050 ufu PowerTools (arm64)
baseurl = https://enterprise-c-packages.chinauos.com/server-enterprise-c/ufu/kongzi/1050/PowerTools/aarch64
enabled = 1
username=$auth_u
password=$auth_p
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-uos-release
gpgcheck = 0
skip_if_unavailable = 1

[UnionTechOS-1050-ufu-Plus-arm]
name = UnionTechOS 1050 ufu Plus (arm64)
baseurl = https://enterprise-c-packages.chinauos.com/server-enterprise-c/ufu/kongzi/1050/Plus/aarch64
enabled = 1
username=$auth_u
password=$auth_p
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-uos-release
gpgcheck = 0
skip_if_unavailable = 1

#[UnionTechOS-1050-ufu-Kernel510-arm]
#name = UnionTechOS 1050 ufu Kernel510 (arm64)
#baseurl = https://enterprise-c-packages.chinauos.com/server-enterprise-c/ufu/kongzi/1050/Kernel-510/aarch64
#enabled = 1
#username=$auth_u
#password=$auth_p
#gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-uos-release
#gpgcheck = 0
#skip_if_unavailable = 1

[UnionTechOS-1050-ufu-Extras-arm]
name = UnionTechOS 1050 ufu Extras (arm64)
baseurl = https://enterprise-c-packages.chinauos.com/server-enterprise-c/ufu/kongzi/1050/Extras/aarch64
enabled = 1
username=$auth_u
password=$auth_p
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-uos-release
gpgcheck = 0
skip_if_unavailable = 1

[UnionTechOS-1050-ufu-Update-arm]
name = UnionTechOS 1050 ufu Update (arm64)
baseurl = https://enterprise-c-packages.chinauos.com/server-enterprise-c/ufu/kongzi/1050/Update/aarch64
enabled = 1
username=$auth_u
password=$auth_p
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-uos-release
gpgcheck = 0
skip_if_unavailable = 1

[UnionTechOS-1050-ufu-UFU-arm]
name = UnionTechOS 1050 ufu UFU (arm64)
baseurl = https://enterprise-c-packages.chinauos.com/server-enterprise-c/ufu/kongzi/1050/UFU/aarch64
enabled = 1
username=$auth_u
password=$auth_p
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-uos-release
gpgcheck = 0
skip_if_unavailable = 1

3、下载 rpm 包

yumdownloader \
  --archlist=aarch64 \
  --disablerepo=* \
  --enablerepo=UnionTechOS-1050-ufu-*-arm \
  tcpdump

# 参数解释:
## yumdownloader:命令行工具,用于只下载 RPM 包而不安装
## --archlist=aarch64,指定下载的包架构为 ARM 64位(aarch64)
## --disablerepo=*,禁用所有已配置的软件源,* 是通配符,表示全部禁用
## --enablerepo=UnionTechOS-1050-ufu-*-arm,只启用名称匹配该模式的仓库
## tcpdump:要下载的软件包名称

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐