yum update
当尝试在现有的 CentOS 7 Docker 容器内运行时,它会失败One of the configured repositories failed (Unknown)
:
$ docker run --rm -it centos:centos7.8.2003
# yum update
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
* base: mirror.freethought-internet.co.uk
* extras: mirror.freethought-internet.co.uk
* updates: mirrors.gethosted.online
One of the configured repositories failed (Unknown),
<snip>
Insufficient space in download directory /var/cache/yum/x86_64/7/base
这种情况大约在 2 周前开始出现,并且自此在英国运行 Docker Desktop 的 Mac 上持续发生(Docker 版本 19.03.13,内部版本 4484c46d9d)。在以色列运行 Debian 和 Docker 版本 1.13.1 的服务器上尝试相同操作,内部版本 092cba3 使用不同的镜像主机名成功。在使用此基础映像并依赖于此命令成功运行的 Docker Hub 上构建也运行正常。
我尝试按照建议运行yum --disablerepo
以禁用单个存储库,但没有任何效果。我如何才能更好地了解问题所在,例如,强制 Yum 尝试不同的镜像?
答案1
您的问题与 yum 缓存有关。Yum 将包下载到缓存目录中。该目录中的空间不足以下载标头和元数据包。您必须解决空间问题,清除缓存并再次更新包信息。您也可以将缓存目录更改为另一个目录(您有可用空间)
检查 cach 目录:
cat /etc/yum.conf
cachedir = / var /缓存/ yum / $ basea
解决空间问题后运行:
yum clean all
yum update