使用 --installroot 选项时 DNF 无法同步缓存

DNF fails to synchronize cache when using --installroot option

我正在尝试在虚拟根目录中安装一堆软件,以便快速将其复制到新系统中。但是,每当我使用 dnf installdnf builddep--installroot 选项时,它都无法同步缓存对于存储库。

我以为它缺少一些配置,所以我将 yum 和 dnf 配置文件复制到 installroot 目录中:

cp /etc/dnf/dnf.conf     /path/to/root_fs/etc/dnf
cp /etc/yum.conf         /path/to/root_fs/etc/
cp -R /etc/yum.repos.d/  /path/to/root_fs/etc/

但我得到的仍然是

sudo dnf -c $ROOT_FS_DIR/etc/dnf/dnf.conf install gcc --installroot=$ROOT_FS_DIR -releasever=23
Error: Failed to synchronize cache for repo 'updates'

Dnf 可以很好地更新我的主机系统。 那么如何配置 dnf 将包安装到不同的根目录中。

DNF 不是那么聪明,如果您安装在 chroots (bug) 中,则需要 releasever。您错过了该选项前面的单个 -

sudo dnf -c $ROOT_FS_DIR/etc/dnf/dnf.conf install gcc \
  --installroot=$ROOT_FS_DIR --releasever=23

但版本 23 已经是 EOL,因此镜像不再存在。您应该使用受支持的发行版。