zoukankan      html  css  js  c++  java
  • yum 报404 解决办法

    yum报错如下

    [root@java152 ~]# yum makecache
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.cloud.aliyuncs.com
     * extras: mirrors.cloud.aliyuncs.com
     * updates: mirrors.cloud.aliyuncs.com
    http://mirrors.aliyun.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
    正在尝试其它镜像。
    To address this issue please refer to the below wiki article

    https://wiki.centos.org/yum-errors

    If above article doesn't help to resolve this issue please use https://bugs.centos.org/.

    base                                                                                                         | 1.0 kB  00:00:00     
    http://mirrors.cloud.aliyuncs.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno -1] Error importing repomd.xml for base: Damaged repomd.xml file
    正在尝试其它镜像。
    http://mirrors.aliyuncs.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30000 milliseconds')
    正在尝试其它镜像。
    http://mirrors.aliyuncs.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    正在尝试其它镜像。
    http://mirrors.aliyuncs.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    正在尝试其它镜像。
    http://mirrors.aliyuncs.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    正在尝试其它镜像。
    http://mirrors.aliyuncs.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    正在尝试其它镜像。
    http://mirrors.aliyuncs.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    正在尝试其它镜像。


     One of the configured repositories failed (CentOS-$releasever - Base - mirrors.aliyun.com),
     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. Run the command with the repository temporarily disabled
                yum --disablerepo=base ...

         4. Disable the repository permanently, 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 base
            or
                subscription-manager repos --disable=base

         5. 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=base.skip_if_unavailable=true

    failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
    http://mirrors.aliyun.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
    http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno -1] Error importing repomd.xml for base: Damaged repomd.xml file
    http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30000 milliseconds')
    http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
    http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')

    1.修改DNS,失败告终。(还是不能用)

    命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    2.重装yum服务,还是不能用。
    yum-3.4.3-161.el7.centos.noarch.rpm
    yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
    yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm

     命令:rpm -ivh yum-3.4.3-161.el7.centos.noarch.rpm --nodeps --force           //nodeps 强制安装    force 避免依赖
     命令:rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm --nodeps --force
     命令:rpm -ivh yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm --nodeps --force

    3.更新yum源,失败告终。

    命令:mv /etc/yum.repos.d/*  /etc/yum.repos.d/backup.bak
    命令:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo     //指向阿里源
    命令:yum clean all                            //清除缓存
    命令:yum makecache                      //生成缓存

    最终解决方法

    上边一直提示 404 错误,然后我直接访问
    http://mirrors.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml
    发现这个地址打不开

    命令:vim /etc/yum.repos.d/Centos-7.repo

    命令::%s/$releaserver/7/g                                #文本编辑器中的替换命令

     修改完之后执行

    命令:yum  makecache                         #OK

    知识扩展:

    问题分析一下

    对比.repo文件和报错信息,可以发现$releasever变量没有被系统识别,在连接网络yum源的时候,变成了%24releasever

    查询资料得知,yum中的变量$releasever是由/etc/yum.conf中的distroverpkg定义的。centos-release为一个rpm包,所谓“distroverpkg=centos-release”的意思,其实是将 $releasever设置为centos-release 这个RPM包的版本号
    所以打开yum的配置文件

    命令:vim /etc/yum.conf

     通过rpm可以查询到改软件包并没有被安装

    解决思路

    由于centos-release依赖关系比较复杂,约40个左右依赖包,我们可以修改yum源文件,把$releasever全部替换为7(上边已操作)

     此时yum可以正常使用,通过yum安装centos-release

    命令:yum -y install centos-release

    重新下载yum源,覆盖修改之后的yum。yum makecache系统可把$releasever解析为当前的CentOS的版本,恢复正常状态

    总结:。。。。。。。。。。(此处省略一万字)

  • 相关阅读:
    etcd数据单机部署
    PostgreSQL INSERT ON CONFLICT不存在则插入,存在则更新
    ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
    Hbase 0.92.1集群数据迁移到新集群
    PostgreSQL创建只读账户
    Kafka技术内幕 读书笔记之(六) 存储层——服务端处理读写请求、分区与副本
    Kafka技术内幕 读书笔记之(六) 存储层——日志的读写
    Kafka技术内幕 读书笔记之(五) 协调者——消费组状态机
    Kafka技术内幕 读书笔记之(五) 协调者——延迟的加入组操作
    Kafka技术内幕 读书笔记之(五) 协调者——协调者处理请求
  • 原文地址:https://www.cnblogs.com/zgqbky/p/13036069.html
Copyright © 2011-2022 走看看