1 - 简述

rpm是由红帽公司开发的软件包管理方式,使用rpm可以方便的进行软件的安装、查询、卸载、升级等工作。

但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。

Yum(全称为 Yellow dog Updater,Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器,类似于Ubuntu的apt。

Yum可以更方便地添加/删除/更新RPM包,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

配置文件:/etc/yum.conf

  • 可以同时配置多个资源库(Repository)
  • 简洁的配置文件(/etc/yum.conf)
  • 自动解决增加或删除rpm包时遇到的倚赖性问题
  • 使用方便
  • 保持与RPM数据库的一致性

2 - Yum的命令形式

yum [options] [command] [package ...]

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

把服务器的软件包信息下载到本地缓存,可以直接在本地搜索软件包信息,速度快,配合yum -C search "regex"使用。

3 - 常用yum命令

3.1 查找和显示

yum search "regex" 检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值
yum makecache fast 下载服务器的软件包信息到本地缓存,可以直接在本地搜索软件包信息,速度快,配合yum -C search "regex"使用
yum provides "regex" 检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值
yum deplist "packages" 显示软件包的依赖信息
yum info "packages" 显示包的信息
yum check-update 检查可更新的所有软件包 yum list 列出资源库中所有可以安装或更新以及已经安装的rpm包
yum list "regex" 列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包
yum list available 列出资源库中所有可以安装的rpm包
yum list available "regex" 列出资源库中与正则表达式匹配的所有可以安装的rpm包
yum list updates 列出资源库中所有可以更新的rpm包
yum list updates "regex" 列出资源库中与正则表达式匹配的所有可以更新的rpm包
yum list installed 列出资源库中所有已经安装的rpm包
yum list installed "regex" 列出资源库中与正则表达式匹配的所有已经安装的rpm包
yum list extras 列出已经安装的但是不包含在资源库中的rpm包
yum list extras "regex" 列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包
yum list recent 列出最近被添加到资源库中的软件包 yum info 列出所有软件包的信息
yum info updates 列出所有可更新的软件包信息
yum info installed 列出所有已安裝的软件包信息
yum info extras 列出所有已安裝但不在 Yum Repository 內的软件包信息

3.2 安装升级卸载

yum install 全部安装
yum install "packages" 安装新软件包
yum check-update 列出所有可更新的软件清单
yum update 下载更新系统已安装的所有软件包
yum update "packages" 更新指定的软件包
yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum remove "packages" 卸载指定的软件包

3.3 清除缓存

yum clean headers 清除缓存中的rpm头文件
yum clean packages 清除缓存中rpm包文件
yum clean all 清除缓存中的rpm头文件和包文件

3.4 程序组

yum grouplist 查看系统中已经安装的和可用的软件组
yum groupinfo "groupnames" 显示程序组信息
yum groupinstall "groupnames" 安装指定软件组中的软件包
yum groupupdate "groupnames" 更新指定软件组中的软件包
yum groupremove "groupnames" 卸载指定软件组中的软件包 yum -y groupinstall “X Window System”
yum -y groupinstall “GNOME Desktop Environment”
yum -y groupinstall “KDE (K Desktop Environment)”
yum -y groupinstall “Server Configuration Tools”
yum -y groupinstall “Development Libraries”
yum -y groupinstall “Development Tools”
yum -y groupinstall “Windows File Server”
yum -y groupinstall “Chinese Support”
yum -y groupinstall “MySQL Database”
yum -y groupinstall “FTP Server”
yum -y groupinstall “Java Development”
yum -y groupinstall “Web Server”

4 - 注意事项

当第一次使用yum 或yum 资源库有更新时,yum 会自动下载所有所需的headers放置于/var/cache /yum目录下,所需时间可能较长。

yum 命令还可以使用 -y 参数用于用 yes 回答命令运行时所提出的问题,比如 yum -y install vsftpd,这样在安装软件的时候就不用输入yes/y了。

5 - 代理设置

5.1 暂时使用代理

在命令行输入下面一条命令

export http_proxy="http://10.144.1.10:8080"

5.2 长久使用代理

在yum源的参数加proxy=“http://ip:port”,即在/etc/yum.conf中加入下面几句.

proxy=http://10.144.1.10:8080

proxy_username=username

proxy_password=password

另外:

/root/.bashrc中加入:export http_proxy="http://username:password@10.144.1.10:8080"

如果是通过ip或电脑的网卡地址认证,可忽略所有username 和 password .

注意:

停止使用代理的时候,要把改过的文件改成原样.

尤其是如果使用了export http_proxy="http://10.144.1.10:8080"命令,要在命令行输入: unset http_proxy ,去除环境变量.

6 - 问题处理示例

示例-1

使用yum安装时报错:
`Another app is currently holding the yum lock:waiting for it to exit...`
`The other application is: yum-updatesd-he`
错误信息说明在后台有一个yum-updatesd-he的进程在运行,导致当前安装不成功。
可能原因是先前的yum任务在运行的时候被强行终止,解决办法
`# rm -f /var/run/yum.pid`
`# /sbin/service yum-updatesd restart`

示例-2

执行“yum update”命令报错“Cannot find a valid baseurl for repo: base/7/x86_64”;
可能原因是网络不通,除了检查网卡配置外,还应确认代理设置;

Linux - YUM包管理的更多相关文章

  1. Linux程序包管理之yum及源代码安装

    第十六章.Linux程序包管理之yum及源代码安装 目录 yum介绍 yum配置文件 yum的repo配置文件中可用的变量 yum命令的使用 使用光盘作为本地yum仓库 如何创建yum仓库 编译安装的 ...

  2. Linux程序包管理rpm与yum

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  3. linux RPM/YUM包管理

    linux RPM/YUM包管理 目录 linux RPM/YUM包管理 RPM RPM包管理 查询rpm包 卸载rpm包 安装rpm包 YUM 查看yum服务器是否有需要安装的软件 下载安装指定的y ...

  4. 【转】Linux中包管理与定时任务

    [转]Linux中包管理与定时任务 第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep ...

  5. Linux - DNF包管理

    简介 link DNF(Dandified Yum)是新一代的RPM软件包管理器. DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容. DN ...

  6. Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]

    0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...

  7. Linux程序包管理初步-yum的使用

    何为yum? yum:由yellow dog研发,全称Yellowdog Update Modifier 是rhel系列系统上rpm包管理器的前端工具,可用来自动解决依赖关系,从而更好的实现程序包的安 ...

  8. Linux 程序包管理-YUM

    前端工具YUM管理程序包:  rpm管理软件虽然方便,但是需要手工解决软件包的依赖关系:很多时候安装一个软件需要首先安装一个或多个(有时多达上百个)其它软件,手工解决很复杂:使用yum可以解决这个问题 ...

  9. Linux对包管理阐述

    Centos/Redhat/Fedora的软件包,都是rpm后缀的文件.包管理器rpm(Redhat packages manager)  linux的哲学思想是简单命令解决复杂任务,因此每个软件的功 ...

随机推荐

  1. html转换pdf

    项目需求:移动端APP项目需要在手机上签订合同,将html转换成pdf格式的文件 解决方案:是用插件wkhtmltopdf; 记录用法:1.网址https://wkhtmltopdf.org/ 下载压 ...

  2. servlet3.1

    Servlet3.1新增的新特性强制更改sessionId 由HttpServletRequest 的changeSessionId()方法实现 非阻塞式IO 非阻塞式IO我们应该知道Servlet底 ...

  3. 看到blackarch 字体不错 记录下来

    terminus-font

  4. vue获取后台图片验证码,并点击刷新验证码

    <--url为需要访问的接口地址--> <span style="display: inline-block;width: 130px;height: 53px;borde ...

  5. 651. 4 Keys Keyboard复制粘贴获得的最大长度

    [抄题]: Imagine you have a special keyboard with the following keys: Key 1: (A): Print one 'A' on scre ...

  6. C#跨窗体传值的几种方法分析(很详细)

    创建一个Winform窗体应用程序项目,然后添加一个Form2窗体. 在Form1和Form2中各添加一个textBox和button: 单击Form1中的button1,弹出Form2,然后要做的就 ...

  7. 解决安装xcode后git使用报错的问题

    一.现象: htmlxdeMacBook-Pro:demo htmlx$ git status Agreeing to the Xcode/iOS license requires admin pri ...

  8. Python:每日一题005

    题目: 输入三个整数x,y,z,请把这三个数由小到大输出. 程序分析: 我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x> ...

  9. 关于loadtxt编码问题的解决方法

    I am trying to load data with numpy.loadtxt... The file im trying to read is using cp1252 coding. Is ...

  10. 实战C++对象模型之成员函数调用

    先说结论:C++的类成员函数和C函数实质是一样的,只是C++类成员函数多了隐藏参数this. 通过本文的演示,可以看见这背后的一切,完全可C函数方式调用C++类普通成员函数和C++类虚拟成员函数. 为 ...