[问题简述] 在CentOS 8.4-aarch64环境下,做安全接管测试,运行到secto -f遇到需要x86_64架构的libdnf的依赖包 [系统环境] 执行yum update后环境 [root@iZ2ze605b1hht7bf2o4eacZ ~]# uname -r 4.18.0-305.17.1.el8_4.aarch64 [root@iZ2ze605b1hht7bf2o4eacZ ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="8" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="8" PLATFORM_ID="platform:el8" PRETTY_NAME="CentOS Linux 8" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:8" HOME_URL="https://centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-8" CENTOS_MANTISBT_PROJECT_VERSION="8" [root@iZ2ze605b1hht7bf2o4eacZ ~]# cat /etc/redhat-release CentOS Linux release 8.5.2111 [root@iZ2ze605b1hht7bf2o4eacZ ~]# cat /proc/cmdline BOOT_IMAGE=(hd0,gpt2)/boot/vmlinuz-4.18.0-305.17.1.el8_4.aarch64 root=UUID=8d0954af-8153-43b1-a78e-274d87fb5426 ro console=tty0 net.ifnames=0 console=ttyAMA0,115200n8 iommu.passthrough=1 iommu.strict=0 nvme_core.io_timeout=4294967295 [期望结果] aarch64环境安全接管测试无异常 [实际效果] [root@iZ2ze605b1hht7bf2o4eacZ ~]# secto -f Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Linux-epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist Last metadata expiration check: 2:27:21 ago on Sat 08 Jan 2022 12:17:22 PM CST. [MIRROR] libdnf-0.63.0-3.0.2.an8.x86_64.rpm: Status code: 404 for https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/libdnf-0.63.0-3.0.2.an8.x86_64.rpm (IP: 42.81.204.115) [MIRROR] libdnf-0.63.0-3.0.2.an8.x86_64.rpm: Status code: 404 for https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/libdnf-0.63.0-3.0.2.an8.x86_64.rpm (IP: 42.81.204.115) [MIRROR] libdnf-0.63.0-3.0.2.an8.x86_64.rpm: Status code: 404 for https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/libdnf-0.63.0-3.0.2.an8.x86_64.rpm (IP: 42.81.204.115) [MIRROR] libdnf-0.63.0-3.0.2.an8.x86_64.rpm: Status code: 404 for https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/libdnf-0.63.0-3.0.2.an8.x86_64.rpm (IP: 42.81.204.115) [FAILED] libdnf-0.63.0-3.0.2.an8.x86_64.rpm: Status code: 404 for https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/libdnf-0.63.0-3.0.2.an8.x86_64.rpm (IP: 42.81.204.115) Status code: 404 for https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/libdnf-0.63.0-3.0.2.an8.x86_64.rpm (IP: 42.81.204.115) Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Linux-epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist AnolisOS-Secto-8 - BaseOS 6.2 MB/s | 6.5 MB 00:01 AnolisOS-Secto-8 - AppStream 9.3 MB/s | 8.5 MB 00:00 AnolisOS-Secto-8 - PowerTools 2.4 MB/s | 1.7 MB 00:00 CentOS Linux 8 - AppStream 51 kB/s | 4.3 kB 00:00 CentOS Linux 8 - BaseOS 134 kB/s | 3.9 kB 00:00 CentOS Linux 8 - Extras 20 kB/s | 1.5 kB 00:00 Extra Packages for Enterprise Linux 8 - aarch64 58 kB/s | 4.7 kB 00:00 [出现概率] 必现 [复现步骤] yum update reboot wget https://mirrors.openanolis.cn/anolis/8/Plus/aarch64/os/Packages/secto-8-4.an8.noarch.rpm wget https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/libdnf-0.63.0-3.0.2.an8.aarch64.rpm wget https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/python3-hawkey-0.63.0-3.0.2.an8.aarch64.rpm wget https://mirrors.openanolis.cn/centostakeover/8/BaseOS/aarch64/os/Packages/python3-libdnf-0.63.0-3.0.2.an8.aarch64.rpm yum install secto-8-4.an8.noarch.rpm secto -f [定位分析] aarch64环境secto包来源https://mirrors.openanolis.cn/anolis/8/Plus/aarch64/os/Packages/secto-8-4.an8.noarch.rpm 将该rpm解压后可以看到在/usr/bin/secto下62~65行,将COMPAT_RPMS固定写死了x86_64架构,明显在aarch64环境是不匹配的 ------------------------------------------ [root@k8s-master aarch64]# wget https://mirrors.openanolis.cn/anolis/8/Plus/aarch64/os/Packages/secto-8-4.an8.noarch.rpm --2022-01-10 10:27:38-- https://mirrors.openanolis.cn/anolis/8/Plus/aarch64/os/Packages/secto-8-4.an8.noarch.rpm Resolving mirrors.openanolis.cn (mirrors.openanolis.cn)... 101.226.28.202, 101.226.28.201, 101.226.28.200, ... Connecting to mirrors.openanolis.cn (mirrors.openanolis.cn)|101.226.28.202|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 17012 (17K) [application/x-redhat-package-manager] Saving to: ‘secto-8-4.an8.noarch.rpm’ 100%[======================================================================================>] 17,012 --.-K/s in 0s 2022-01-10 10:27:38 (88.7 MB/s) - ‘secto-8-4.an8.noarch.rpm’ saved [17012/17012] [root@k8s-master aarch64]# rpm2cpio secto-8-4.an8.noarch.rpm | cpio -div ./etc/anolis-secto ./etc/motd.d/secto ./etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS ./etc/yum.repos.d/AnolisOS-Secto.repo ./usr/bin/secto ./usr/share/doc/secto ./usr/share/doc/secto/EULA ./usr/share/doc/secto/MulanPSL ./usr/share/licenses/secto ./usr/share/licenses/secto/MulanPSL 54 blocks [root@k8s-master aarch64]# cat ./usr/bin/secto | grep "x86" libdnf-0.63.0-3.0.2.an8.x86_64.rpm python3-hawkey-0.63.0-3.0.2.an8.x86_64.rpm python3-libdnf-0.63.0-3.0.2.an8.x86_64.rpm ---------------------------------------- 另外在gitee secto源码文件中COMPAT_RPMS也是固定写成x86_64的 https://gitee.com/src-anolis-plus/secto/blob/a8/secto#L63
已修复,请使用最新secto软件包 链接:https://mirrors.openanolis.cn/anolis/migration/secto/source/Packages/secto-8-5.an8.src.rpm
(In reply to 刘小平 from comment #1) > 已修复,请使用最新secto软件包 > > 链接:https://mirrors.openanolis.cn/anolis/migration/secto/source/Packages/ > secto-8-5.an8.src.rpm update status