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. the Agiles Scrum Meeting 博客汇总

    the Agiles 团队博客目录 一.Scrum Meeting 1. Alpha the Agiles Scrum Meeting 1 the Agiles Scrum Meeting 2 the ...

  2. 配置 JAVA 环境 JDK + IDEA

    配置JDK 搜索 ORACLE 官网,找到 JDK,下载 JDK8 版本 / JDK11 版本 选择合适的路径,我这里放在了 D 盘 配置下方系统环境变量,变量名为 JAVA_HOME,把刚刚安装的J ...

  3. 2021.9.9考试总结[NOIP模拟50]

    T1 第零题 神秘结论:从一个点满体力到另一个点的复活次数与倒过来相同. 于是预处理出每个点向上走第$2^i$个死亡点的位置,具体实现可以倍增或二分. 每次询问先从两个点同时向上倍增,都转到离$LCA ...

  4. 小白自制Linux开发板 十. NES游戏玩起来

    本篇基于我们制作的Debian文件系统而展开,而且我们这会玩一些高级的操作方式--用我们的小电脑进行程序编译.   所以本篇操作全部都在我们个的开发板上完成.   1. 开发环境搭建 首先安装gcc, ...

  5. configure: error: invalid variable name: `'

    今天在交叉编译一个编解码库的时候,出现一个莫名其妙的报错,一直找不到原因,后来无意中删除了一个空格,才发现就是这个空格造成的错误. ./configure --host=arm-linux LDFLA ...

  6. STM32程序异常——中断处理要谨慎

    问题背景 最近有一个新项目(车载项目),板子上除了原来的ARM + STM32F030K6Tx又多了一个8bit的mcu的单片机,这可真是嵌入式全家福了. 系统的主要核心工作是由arm来完成,但是在开 ...

  7. ACM 数据读写/对拍

    freopen()函数在ACM中的使用 - cfzjxz的专栏 - 博客频道 - CSDN.NET 在做acm题目的过程中,我们需要在本地机器上调试.调试过程中,如果输入数据少还可以接受,但如果输入数 ...

  8. 【网络好文】---MySQL为Null导致的四大坑

    正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如所示: select version(); -- 版本为 8.0.22 "兵马未动粮草先行",看完了相关的配置之 ...

  9. JavaScript复习 1

    概括及使用方法: JavaScript编写规范 一般放在<head>-</head>中间 逐行被执行,越短越好 大小写敏感 语句是基本单位 通常以分号表示语句结束 多行语句可以 ...

  10. upload-labs通关攻略(1-11关)

    upload-labs通关攻略 upload-labs是练习文件上传很好的一个靶场,建议把upload-labs关卡全部练习一遍 1.下载安装 下载地址 链接:https://pan.baidu.co ...