更改 Raspberry Pi 映像上的 YUM/DNF 基础架构?

更改 Raspberry Pi 映像上的 YUM/DNF 基础架构?

我已按照安装说明进行操作Raspberry Pi 2 上的 Fedora。我下载了 MATE 桌面映像这里并用可用的签名进行验证这里,然后将其复制到我的 SD 卡上。

然后,我使用 QEMU ARM 的静态构建设置了 chroot 环境,并能够成功chroot进入映像。我可以执行任何 ARM 二进制文件并连接到网络。

chroot但是,由于以下奇怪的错误,我无法在其中安装任何软件包dnf

# dnf update
Error: Failed to synchronize cache for repo 'fedora' from 'https://mirrors.fedoraproject.org/metalink?repo=fedora-23&arch=arm': Cannot prepare internal mirrorlist: file "repomd.xml" was not found in metalink

如果我查看从该 URL 返回的 metalink,就会发现只有一个armhfp存储库。

由于我假设这是一个错误配置,有没有办法让我将basearchYUM 定义的变量更改为 bearmhfp而不是arm?还有什么我需要做的,或者我缺少的吗?

uname -m报告架构:

# uname -m
armv7l

file告诉我有关编译文件的信息:

# file /bin/bash
/bin/bash: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=04f0998ecd3bfaea23bab0223f7ce1f602296085, stripped

答案1

这可能看起来过于明显和简单化,但它对我有用:

sed -r -e 's/\$basearch/armhfp/g' -i /etc/yum.repos.d/*.conf

这是对 $basearch 的所有实例的基本“搜索和替换”,并将其替换为 armhfp。

从技术上讲,它不会按照您的要求覆盖您的变量,它只是消除了这样做的需要。 HTH。

相关内容