我正在尝试在虚拟根目录中安装一堆软件,这样我就可以快速将其复制到新系统中。但是,每当我使用 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 并不那么聪明,如果您安装在 chroot 中 ( bug ),则需要一个 releasever
。您错过了该选项前面的单个 -
:
sudo dnf -c $ROOT_FS_DIR/etc/dnf/dnf.conf install gcc \
--installroot=$ROOT_FS_DIR --releasever=23
但版本 23 已经是 EOL所以镜子不必再存在了。您应该使用受支持的发行版本。
关于linux - DNF 使用 --installroot 选项时无法同步缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43275503/