yum 更新或安装软件包时提示证书过期

背景描述

重建yum缓存时抛出了错误,详细信息如下

yum makecache fast
已加载插件:fastestmirror, langpacks
base                                                                                                                                                                                                                                                                                                                                                 | 3.6 kB  00:00:00
extras                                                                                                                                                                                                                                                                                                                                               | 2.9 kB  00:00:00
https://mirrors.tuna.tsinghua.edu.cn/ius/7/x86_64/repodata/repomd.xml: [Errno 14] curl#60 - "The certificate issuer's certificate has expired.  Check your system date and time."
正在尝试其它镜像。

 One of the configured repositories failed (IUS for Enterprise Linux 7 - x86_64),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable ius

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=ius.skip_if_unavailable=true

failure: repodata/repomd.xml from ius: [Errno 256] No more mirrors to try.
https://mirrors.tuna.tsinghua.edu.cn/ius/7/x86_64/repodata/repomd.xml: [Errno 14] curl#60 - "The certificate issuer's certificate has expired.  Check your system date and time."

原由

yum 调用curl 命令下载软件包,而curl 命令在从https 路径下载软件包时,会通过本地ca-certicifates 包中的文件校验证书合法性,如果ca-certificates 包过期,则会出现证书过期的问题

解决

手动更新ca-certificates 软件包及其依赖

yum update -y http://pub.mirrors.aliyun.com/centos/7/os/x86_64/Packages/ca-certificates-2020.2.41-70.0.el7_8.noarch.rpm http://pub.mirrors.aliyun.com/centos/7/os/x86_64/Packages/p11-kit-0.23.5-3.el7.x86_64.rpm http://pub.mirrors.aliyun.com/centos/7/os/x86_64/Packages/p11-kit-trust-0.23.5-3.el7.x86_64.rpm

更新完成后再执行yum makecahce fast 命令即恢复正常

上一篇:【记录运行代码问题 2】pip install第三方库遇到WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=Non


下一篇:Windows环境关于CUDA+CUDNN的安装教程