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. 安装好ubuntu双系统启动时卡死解决办法

    问题描述:在安装完ubuntu双系统后,第一次启动ubuntu系统时,卡死在启动界面(或者黑屏),这大概都是由于显卡驱动的原因,具体不在这里阐述,通过以下方法能成功解决,据我个人经验,这可能是诸多方法 ...

  2. Ubuntu下解决MySQL自启动,chkconfig list 全部off 情况

    chkconfig命令是用于RedHat/Fedora发行版的,而对于像Ubuntu之类的Debian发行版,应该使用这个命令: sudo update-rc.d mysql defaults 验证一 ...

  3. 云笔记项目-网页端debug功能学习

    在做云笔记项目的过程中,除了服务端在eclipse中debug调试代码外,有时候需要在浏览器端也需要进行debug调试,刘老师举了一个冒泡排序算法的dubug例子,进行了讲解. 首先上浏览器端测试代码 ...

  4. netstat 常用参数总结

    netstat 是一个机器网络查看工具 . 网络连接有哪些参数? 

  5. MySql中对Group by后的结果数进行Count

    今天在写MySQ的SQL语句的时候遇到了一个奇怪的问题 select count(*) from subsitealbum t1, photo t2,files t3 where t1.SourceA ...

  6. 商品批量删除(mybatis中集合的使用)

    <!-- 根据主键批量删除 --> <delete id="deleteByKeys"> DELETE FROM product WHERE id in & ...

  7. redis在windows系统下的安装和两个问题

    今天首次接触redis,遇到一些问题,查了一些资料,在这里汇总整理下. redis的安装看这个:http://www.runoob.com/redis/redis-install.html. 问题1: ...

  8. oday获取系统最高权限的代码

    import sys,sockettarget = sys.argv[1]shellcode = ("\x6a\x4f\x59\xd9\xee\xd9\x74\x24\xf4\x5b\x81 ...

  9. 视频和swf的相对路径加载,卸载

    package com{ import flash.display.MovieClip; import flash.net.NetConnection; import flash.net.NetStr ...

  10. 第一个只出现一次的字符字符(python)

    题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).   # -*- codin ...