yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum本质上也是属于python的一个模块,打开/usr/bin/yum,我们可以看到其实它执行的是python,并且导入了yum模块。

linux安装软件能够使用yum安装依赖包是一件非常简单而幸福的事情,所以这里介绍一下linux安装yum源流程和操作。

yum 语法

yum [options] [command] [package ...]
  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package操作的对象。

yum常用命令

  • 1.列出所有可更新的软件清单命令:yum check-update
  • 2.更新所有软件命令:yum update
  • 3.仅安装指定的软件命令:yum install <package_name>
  • 4.仅更新指定的软件命令:yum update <package_name>
  • 5.列出所有可安裝的软件清单命令:yum list
  • 利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?

    [root@www ~]# yum list pam*
    Installed Packages
    pam.i386 0.99.6.2-3.27.el5 installed
    pam_ccreds.i386 3-5 installed
    pam_krb5.i386 2.2.14-1 installed
    pam_passwdqc.i386 1.0.2-1.2.2 installed
    pam_pkcs11.i386 0.5.3-23 installed
    pam_smb.i386 1.1.7-7.2.1 installed
    Available Packages <==底下则是『可升级』的或『未安装』的
    pam.i386 0.99.6.2-4.el5 base
    pam-devel.i386 0.99.6.2-4.el5 base
    pam_krb5.i386 2.2.14-10 base
  • 6.删除软件包命令:yum remove <package_name>
  • 7.查找软件包 命令:yum search <keyword>
  • 8.清除缓存命令:
    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers

国内 yum 源

网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。

将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

安装步骤

1.查看、卸载已安装的yum包

  查看已安装的yum包

  #rpm –qa|grep yum

卸载软件包

#rpm –e –nodeps yum

 
# 或着一一卸载这些软件包

[root@zf-test-web01-4 ~]# rpm -e yum-plugin-fastestmirror-1.1.31-34.el7.noarch --nodeps
warning: /etc/yum/pluginconf.d/fastestmirror.conf saved as /etc/yum/pluginconf.d/fastestmirror.conf.rpmsave
[root@zf-test-web01-4 ~]# rpm -e yum-metadata-parser-1.1.4-10.el7.x86_64 --nodeps
[root@zf-test-web01-4 ~]# rpm -e yum-3.4.3-132.el7.centos.0.1.noarch --nodeps

2.进入centos镜像网站找到自己对应系统需要的yum包

查看系统的命令:

[root@zf-test-web01-4 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

查看系统的位数:

[root@zf-test-web01-4 ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

3.下载安装依赖包python、python-iniparse和下载安装yum依赖包

下载安装依赖包python    python-iniparse

下载地址http://centos.ustc.edu.cn/centos/6.5/os/x86_64/Packages/

http://mirrors.163.com/centos/6/os/x86_64/Packages/

找到对应包如:python-2.6.6-51.el6.x86_64.rpm     python-iniparse-0.3.1-2.1.el6.noarch.rpm

源地址可以从网上找一些速度比较快的,自身测试这两个地址速度还不错。包的名字可能跟上面不同,主要是版本和操作系统位数的不同,建议不要在页面搜索全部,如第一个包只搜索python,第二个包搜索python-iniparse。

安装

#rpm –ivh python-2.6.6-51.el6.x86_64.rpm python-iniparse-0.3.1-2.1.el6.noarch.rpm

下载安装yum包

下载地址http://centos.ustc.edu.cn/centos/6.5/os/x86_64/Packages/

http://mirrors.163.com/centos/6/os/x86_64/Packages/

找到对应包如:http://centos.ustc.edu.cn/centos/6.5/os/x86_64/Packages/

yum- plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

yum-3.2.29-40.el6.centos.noarch.rpm

wget http://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm
wget http://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-3.4.3-132.el7.centos.0.1.noarch.rpm

安装

[root@zf-test-web01-4 ~]# rpm -ivh yum-*
Preparing...                          ################################# [100%]
Updating / installing...
   1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 33%]
   2:yum-plugin-fastestmirror-1.1.31-3################################# [ 67%]
   3:yum-3.4.3-132.el7.centos.0.1     ################################# [100%]

若安装失败可重新输入此命令并加参数--nodeps –force

rpm -ivh yum-*发现报以下错
error: Failed dependencies:
python-urlgrabber >= 3.10-8 is needed by yum-3.4.3-163.el7.centos.noarch
rpm >= 0:4.11.3-22 is needed by yum-3.4.3-163.el7.centos.noarch
是说python-urlgrabbe的版本必须大于3.10-8

卸载原有python-urlgrabbe安装新的python-urlgrabbe
可以直接进行更新这个软件包
去rpm.pbone.net搜索这个包 python-urlgrabber-3.10-8.el7.noarch.rpm
然后去下载下来 wget ftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/7.4/x86_64/os/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
卸载原来的包 rpm -e --nodeps python-urgrabber-*
安装包 rpm -ivh --nodeps python-urlgrabber-3.10-8.el7.noarch.rpm
查看有没有安装上:[root@localhost ~]# rpm -qa |grep python-url
python-urlgrabber-3.10-8.el7.noarch
说明:此过程报别的错,说几个包相互缺失,就要下载好软件包,然后,rpm -ivh 软件包1 软件包2 ...软件包3(需要并列放置,达到完整安装)

  4.更改yum源

首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.backup

下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)

    • CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
    • CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
    • CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
说明:以上还可以参考此链接:https://blog.csdn.net/homewm/article/details/80642851 有一定借鉴意义

以上会遇到:

     CentOS 7 报错: "Repository base is listed more than once in the configuration"和"没有可用软件包 XXX"的问题
    

具体参看:https://blog.csdn.net/wy_bk/article/details/89648052

运行以下命令生成缓存

  yum clean all
  yum makecache

除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。

中科大的 yum 源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu 的 yum 源安装方法查看: http://mirrors.sohu.com/help/centos.html

安装过程报错1——“yum clean all之坑”

在Centos7系统中执行yum clean all 之后,发现yum的其他执行都报错了;

要解决,关键在这里:

把/var/cache/yum/ 下面的文件删除了

接下来,如果执行yum repolist all,结果为0;

执行yum list正常的话,那就是/etc/yum.repos.d/*.repo 这货有问题啦,解决这货的问题

接着执行 yum makecache 然后再执行yum update

这样就O啦!

Linux—软件包管理器yum安装详解的更多相关文章

  1. yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解

    yum官方网站:http://yum.baseurl.org/ Fedora对于yum的介绍:http://fedoraproject.org/wiki/Yum yum(全称为 Yellow dog ...

  2. 【转】Linux下Android ADB驱动安装详解

    原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...

  3. 【Linux开发】Linux下jpeglib库的安装详解

    Linux下jpeglib库的安装详解 首先要下载所需的库压缩包:jpegsrc.v6b.tar.gz或 jpegsrc.v8b.tar.gz 然后将下载的压缩包随便放在和解压到你喜欢的地方. # t ...

  4. Linux ssh登录和软件安装详解

    阿哲Style   Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器 ...

  5. Linux系列教程(十二)——Linux软件包管理之yum在线管理

    上一篇博客我们介绍了rpm包管理之rpm命令管理,我们发现在使用rpm命令手动安装rpm包的时候,会发现安装遇到到的依赖让你痛不欲生,安装一个rpm时会要先先安装某个依赖的rpm,而安装这个依赖的rp ...

  6. Linux软件包管理之yum在线管理

    目录 1.yum在线管理 2.网络 yum 源 3.光盘 yum 源搭建步骤 ①.挂载光盘 ②.让网络 yum 源失效 ③.修改光盘yum源文件 ④.输入yum list 可以查看光盘yum源里面的软 ...

  7. linux笔记:linux软件包管理,软件安装位置

    linux软件包简介 软件包分类:1.源码包(用C语言等编写的源代码,没有进行编译):脚本安装包(对源码包进行了安装优化的源码包)优点:开源,可修改可以自由选择所需的功能编译安装,更适合自己的系统,稳 ...

  8. Linux—账号管理及命令使用详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   在Linux系统中,我们常常会看到目录或文件的所属关系: [root@linux01 ~]# ll -d test.sh -rw ...

  9. Linux远程管理Windows程序Rdesktop详解

    #rpm –q rdesktop                       //查找是否已经安装 #yum install rdesktop                //使用yum安装 rde ...

随机推荐

  1. Noip模拟32(再度翻车) 2021.8.7

    T1 Smooth 很水的一道题...可是最傻    的是考场上居然没有想到用优先队列优化... 上来开题看到这个,最一开始想,这题能用模拟短除法,再一想太慢了,就想着优化 偏偏想到线性筛然后试别的素 ...

  2. 2021.6.29考试总结[NOIP模拟10]

    T1 入阵曲 二位前缀和暴力n4可以拿60. 观察到维护前缀和时模k意义下余数一样的前缀和相减后一定被k整除,前缀和维护模数,n2枚举行数,n枚举列, 开一个桶记录模数出现个数,每枚举到该模数就加上它 ...

  3. 云效Flow如何实现阿里云ECS多环境发布

    一.背景 云效Flow基于标签功能实现阿里云ECS多环境发布,在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开发环境.测试团队的测试环境.还有类生产环境和生产环境 ...

  4. Verdi UVM Debug Mode 简单使用

    转载:Verdi UVM Debug Mode 简单使用_Holden_Liu的博客-CSDN博客 文档与源码: User Guide: UVMDebugUserGuide.pdf  in $VERD ...

  5. cf17A Noldbach problem(额,,,素数,,,)

    题意: 判断从[2,N]中是否有超过[包括]K个数满足:等于一加两个相邻的素数. 思路: 枚举. 也可以:筛完素数,枚举素数,直到相邻素数和超过N.统计个数 代码: int n,k; int prim ...

  6. PE头详细分析

    目录 PE头详细分析 0x00 前言 0x01 PE文件介绍 0x02 PE头详细分析 DOS头解析 NT头解析 标准PE头解析 可选PE头解析 可选PE头结构 基址 代码段地址 数据段地址 OEP程 ...

  7. js实现日期格式化封装--八种

    封装一个momentTime.js文件,包含8种格式. 需要传两个参数: 时间戳:stamp 格式化的类型:type, 日期补零的方法用到es6语法中的padStart(length,'字符'): 第 ...

  8. SpringBoot教程(学习资源)

    SpringBoot教程 SpringBoot–从零开始学SpringBoot SpringBoot教程1 SpringBoot教程2 --SpringBoot教程2的GitHub地址 SpringB ...

  9. HTML js 页面倒计时后跳转至新页面

    HTML: 1 <body> 2 <p>操作错误!还有<span id="sp">5</span>秒跳转到交换机备份页面...< ...

  10. 第二课 Dubbo设计的架构设计

    总体架构 Dubbo的总体架构,如图所示: Dubbo框架设计一共划分了10个层,而最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层.图中左边淡蓝背景的为 ...