一. 重装yum

1. 执行如下命令,卸载yum命令程序

rpm -qa |grep yum |xargs rpm -e --nodeps

2. 依次执行如下命令,下载yum、yum-plugin-fastestmirror和yum-metadata-parser三个RPM安装包文件。

CentOS7:

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

CentOS6:

wget https://mirrors.aliyun.com/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
wget https://mirrors.aliyun.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget https://mirrors.aliyun.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm
rpm -ivh yum*

3.执行如下命令,安装yum命令程序。

要写在一行,否则报错

rpm -ivh yum-3.4.3-163.el7.centos.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm  yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

    

二、更新yum源

将yum源改为国内的阿里云,并且安装EPEL拓展源

rm -rf /var/cache/yum/x86_64/7/epel/
rm -rf /etc/yum.repos.d/epel*
wget -O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all && yum makecache

  配置本地yum源;使用镜像自带的,也可以利用nginx搭建yum仓库

mount -o loop CentOS-7-x86_64-DVD-1511.iso /media/rhel7/
cp /media/rhel7/media.repo /etc/yum.repos.d/rhel7.repo
echo "baseurl=file:///media/rhel7/" >> /etc/yum.repos.d/rhel7.repo
yum update
umount /media/rhel7/
rmdir /media/rhel7/
rm /etc/yum.repos.d/rhel7.repo

  

三、 yum命令常见用法

  • 执行如下命令,通过关键字搜索软件包名。
yum search [$Keywords]
  • 执行如下命令,安装指定软件。
yum -y install  [$Package]
  • 只下载包不安装
yum install [$Package] -y --downloadonly --downloaddir=/usr/local/src
  • 执行如下命令,本地安装并解决RPM包的依赖关系。
yum -y localinstall [$Package]
  • 执行如下命令,卸载yum命令安装的软件。
yum -y remove [$Package]
  • 执行如下命令,列出所有已安装和仓库中,可用的软件包。
yum list
  • 执行如下命令,列出指定软件包信息
yum info [$Package]
  • 执行如下命令,列出所有可更新的软件包。
yum list updates
  • 执行如下命令,更新所有或指定软件。
yum update
yum update [$Package]
  • 执行如下命令,在重新安装或者更新了Yum源后,清除缓存信息。
yum clean [$Parameter]

  注:[$Parameter]为yum clean命令参数,有packagesheadersallpackages为清除缓存中的RPM包文件,headers为清除缓存中的RPM包头文件,all为以上两个参数的集合,即清除所有。

四、使用yum命令如何保存RPM安装包

使用yum命令保存RPM包。默认情况下,在Linux系统通过yum命令安装软件后,会删除RPM包。只有修改yum命令程序主配置文件,取消默认删除功能,才能保留相应的RPM包。默认的缓存主路径是/var/cache/yum/,会根据系统版本和yum源的不同分别保存,可以根据现场需要自行修改。操作如下。

编辑/etc/yum.conf,修改参数keepcache的值为1。1为保存,0为删除。

五、 yum命令常见报错处理案例

例一:yum命令解决因缺少so动态库不能正常安装软件问题

报错描述

因为缺少对应的so动态库文件,系统提示"error while loading shared libraries: XXXX.so.XXX: cannot open shared object file: No such file or directory"。

处理步骤

依次执行如下命令,查找出包含有so动态库文件的软件包,再使用yum命令安装该软件包,进而补全so动态库的缺失。

 
yum whatprovides XXXX.so.XXX
yum -y install XXXX

注:XXXX.so.XXX为指定的so动态库文件,XXXX指包含有so动态库文件的软件包名字。

案例二:更新yum源报错

报错描述

更新YUM源时系统提示“repomd.xml: [Errno 14] HTTP Error 404: Not Found”。

处理步骤
  1. 使用工具update_source.sh更新YUM源。
  2. 由于update_source.sh工具不支持CentOS_5系统。参考如下链接,登录CentOS官网,更新YUM源。
  3. 更新后执行如下命令,重置加载YUM源。
     
    yum clean all && yum makecache

案例三:使用yum命令提示GPG密钥签名

报错描述

使用yum命令操作,没有更新或者没有导入GPG密钥签名,系统提示“GPG key retrieval failed : [Errno 12] Timeout on”。

处理步骤
  1. 执行如下命令,导入新的GPG密钥签名。

     
    rpm --import http://mirrors.aliyuncs.com\
    /centos/RPM-GPG-KEY-CentOS-[$Number]

    注:[$Number]指系统版本号,根据现场需要进行修改列,如:5、6或者7。

  2. 执行如下命令,编辑yum命令repo配置文件,修改gpgcheckz字段的值等于0,关闭密钥认证功能。

    注:gpgcheck字段的值,等于0是关闭,等于1是开启。

     
    vim /etc/yum.repos.d/epel.repo

    系统显示类似如下,关闭密钥签名认证功能。

案例四:使用yum命令系统提示“xz compression not available”

报错描述

使用yum命令操作时,xz压缩不可用,系统提示 “xz compression not available”。

处理步骤
  1. 依次执行如下命令,更新EPEL源。

     
    rm -rf /var/cache/yum/x86_64/7/epel/
    rm -rf /etc/yum.repos.d/epel*
    wget -O/etc/yum.repos.d/CentOS-Base.repo \
    http://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/epel.repo \
    http://mirrors.aliyun.com/repo/epel-7.repo
    yum clean all && yum makecache
  2. 执行如下命令,安装XZ软件包。
     
    yum -y install xz

案例五:使用yum命令系统提示“Transaction Check Error”

报错描述

使用yum命令更新时,由于软件包版本冲突造成的错误。系统提示“Transaction Check Error”。报错详情中会告知发生冲突的软件包名称,这里以openssl软件包错误为例,报错详情“file /etc/pki/tls/certs/ca-bundle.crt from install of openssl-0.9.8e-36.el5_11.x86_64 conflicts with file from package”。

处理步骤
  1. 执行如下命令,略过错误提示软件包,直接更新Yum仓库中的其他软件包。

     
    yum update --exclude=openssl*
  2. 执行如下命令,根据报错提示的软件包,查找出该软件包造成冲突的错误软件包。
     
    rpm -q openssl --qf '%{NAME} %{VERSION} %{ARCH}'

    提示:发生冲突的软件包为

  3. 执行如下命令,卸载无用的软件包。
     
    rpm -e [$Package_Error]

    注:[$Package_Error]指上一步获取的错误软件包名。

案例六:使用yum命令提示RPM数据库损坏

报错描述

使用yum命令时,由于RPM数据库损坏,系统提示“Error: rpmdb open failed”。

处理步骤
  1. 执行如下命令,清除RPM数据库。

     
    rm -rf /var/lib/rpm/__db.*
  2. 执行如下命令,重建RPM数据库。
     
    rpm --rebuilddb
  3. 执行如下命令,重置RPM缓存使其生效。
     
    yum clean all

案例七:使用yum命令系统提示不支持Python3.0以上版本

报错描述

使用yum命令,报错不支持Python3.0以上版本,系统提示“Python-3.4.3: bad interpreter: Permission denied”。

处理步骤
    1. 执行如下命令,查看当前系统环境默认Python程序版本信息。

       
      whereis python
    2. 执行如下命令,查看yum命令脚本解释器,调用的是python命令程序。
       
      cat /usr/bin/yum

      系统显示类似如下,默认调用/usr/bin/python

    3. 执行如下命令,查看当前系统默认python命令的环境变量。
       
      ll /usr/bin/python*

      系统显示类似如下,确认当前python命令默认调取的是Python3.0版本。

    4. 由于yum命令脚本调用目前只支持Python2.X版本,根据上一步获取的Python程序版信息,选择Python2.X版本。执行以下命令,编辑yum命令执行脚本,修改/usr/bin/python为当前系统环境中的Python2.X版本。

      注:

      • “X”为子版本号,请根据现场环境更改,本文以/usr/bin/python2.7为例。
      • vim命令使用方法,请参考vim教程
       
      vim /usr/bin/yum

      系统显示类似如下。

yum命令配置及使用说明和常见问题处理的更多相关文章

  1. linux文件目录权限和系统基础优化命令(yum源配置)

    一.用户 1.介绍 我们都知道linux中有root用户和普通用户,但是同样是普通用户,为什么有些用户的权限却不一样呢?其实这就类似于我们的QQ群,root用户就是QQ群主,他拥有最高的权利,想干什么 ...

  2. Linux yum仓库配置

    yum仓库配置 10.1 概述 YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包 ...

  3. yum概述配置

    YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...

  4. CentOS 7 执行 yum 命令失败问题的排查方法

    一个执着于技术的公众号 简介 本文主要为大家讲解 CentOS 7系统中执行yum命令失败等常见问题的排查方法. 1.执行yum命令报404错误 1)检查yum仓库是否配置正确,可以到阿里云下载rep ...

  5. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  6. Centos6.4 本地yum源配置

    由于单位的服务器均使用的是内网,而安装一些软件如Git,需要很多的依赖包,使用yum安装相对简单,由于不能联网故配置本地yum源配置. 1.首先将需要rpm库添加到系统中: 1).虚拟机中安装的lin ...

  7. linux yum命令详解-转

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  8. yum源配置与使用

    一.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的 ...

  9. 【转】linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

随机推荐

  1. post和get的在测试眼里的区别大概就是post比get安全吧……

    get将请求数据放在url中,而post将请求数据放在request body中 http://www.cnblogs.com/logsharing/p/8448446.html

  2. IP选项处理

    1:引言 I P输入函数(i p i n t r)将在验证分组格式(检验和,长度等)之后,确定分组 是否到达目的地之前,对选项进行处理.这表明,分组所遇到的每个路由器以及最终的目的主机都要对分组的选项 ...

  3. vue前端项目优化策略

    vue前端项目有什么优化策略? .生成打包报告.(可以发现一些问题,并进行解决)2.使用第三方库启用CDN加载3.使用Element-ui的话,按需加载组件4.使用路由懒加载 生成打包报告: .生成打 ...

  4. Java8-ConcurrentHashMap

    import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ForkJoinPool; public clas ...

  5. springboot2.0入门(八)-- profile启动文件配置

    一.不同环境使用不同配置文件 将application.yml文件拷贝三份,在文件末尾分别对应开发/生产/测试,dev/prod/test/文件夹,其中application.yml 中默认激活开发环 ...

  6. 4、Spring Boot 2.x 自动配置原理

    1.4 Spring Boot 自动配置原理 简介 spring boot自动配置功能可以根据不同情况来决定spring配置应该用哪个,不应该用哪个,举个例子: Spring的JdbcTemplate ...

  7. Codeforces Round #591 (Div. 2, based on Technocup 2020 Elimination Round 1) C. Save the Nature【枚举二分答案】

    https://codeforces.com/contest/1241/problem/C You are an environmental activist at heart but the rea ...

  8. npm源管理

    1. 安装淘宝镜像 为了提高npm的安装速度,可以使用淘宝镜像. 使用淘宝镜像的方法有两种: 1. npm install -g cnpm --registry=https://registry.np ...

  9. oracle自连接

    自连接:通过表的别名,将同一张表视为多张表 select e.ename 员工姓名,b.ename 老板姓名 from emp e,emp b where e.mgr=b.empno; 注:自连接不适 ...

  10. 【概率论】2-2:独立事件(Independent Events)

    title: [概率论]2-2:独立事件(Independent Events) categories: Mathematic Probability keywords: Independent Ev ...