我试着在一个虚拟根目录中安装一堆软件,这样我就可以快速地将其复制到新系统中。但是,每当我使用dnf install或dnf 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已经是“AA>”,所以镜子不再需要存在了。您应该使用支持的版本。

10-04 21:11