简介:

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum配置文件:

主配置文件:/etc/yum.conf (对所有yum仓库都有效)

各仓库的定义:/etc/yum.repos.d/*.repo (仅对自己仓库生效,优先级大于主配置文件。)

如下,我们自己创建一个yum库:

[testrepo]:代表仓库唯一标识ID

name:当前仓库简要介绍信息

baseurl:仓库的URL地址(ftp | http | 本地目录)

gpgcheck:是否校验包(1是 | 0否)

enabled:仓库是否可用

yum命令:

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

command is one of:

* install package1 [package2] [...]

* update [package1] [package2] [...]

* update-to [package1] [package2] [...]

* check-update

* upgrade [package1] [package2] [...]

* upgrade-to [package1] [package2] [...]

* distribution-synchronization [package1] [package2] [...]

* remove | erase package1 [package2] [...]

* list [...]

* info [...]

* provides | whatprovides feature1 [feature2] [...]

* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

* makecache

* groupinstall group1 [group2] [...]

* groupupdate group1 [group2] [...]

* grouplist [hidden] [groupwildcard] [...]

* groupremove group1 [group2] [...]

* groupinfo group1 [...]

* search string1 [string2] [...]

* shell [filename]

* resolvedep dep1 [dep2] [...]

* localinstall rpmfile1 [rpmfile2] [...]

(maintained for legacy reasons only - use install)

* localupdate rpmfile1 [rpmfile2] [...]

(maintained for legacy reasons only - use update)

* reinstall package1 [package2] [...]

* downgrade package1 [package2] [...]

* deplist package1 [package2] [...]

* repolist [all|enabled|disabled]

* version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]

* history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

* load-transaction [txfile]

* check

* help [command]

介绍几个常用参数:

仓库管理:

repolist: 列出已经配置的所有可用仓库

repolist [all|enabled|disabled]

缓存管理:

clean:清理缓存

clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

makecache: 缓存创建

自动连接至每一个可用仓库,下载其元数据,将其创建为缓存

程序包查看:

yum list [all | glob_exp1] [glob_exp2] [...]

支持使用通配符,例如:yum list php*   --查看php开头的包

yum list {available|updates|installed|extras|obsoletes} [glob_exp1] [...]

条件查找,查看程序包,例如:available(有效的程序包),installed(已安装的程序包)

grouplist [hidden] [groupwildcard] [...]

程序包安装:install package1 [package2] [...]

注意:

只需要提供包名;

如果某包有在不同仓库中有多个不同版本,默认会安装最新版本;

如果要安装指定版本:install PACKAGE-VERSION ...

重新安装(覆盖安装)reinstall package1 [package2] [...]

程序包升级:update [package1] [package2] [...]

程序包降级:downgrade package1 [package2] [...]

检查有哪些升级可用:check-update

程序包卸载:

remove | erase package1 [package2] [...]

所有依赖于正卸载的程序包的程序包会被一并卸载;

程序包查询:

查询程序的相关简要信息:info PACKAGE ...

例如:yum info php(查看php的简要信息)

在包名和sumary信息中搜索指定的关键字:search KEYWORD ...

例如:yum search php (检查简要信息中有php关键字的)

查询指定文件由哪个程序包安装生成:provides|whatprovides /PATH/TO/SOMEFILE

例如:yum provides /etc/inittab (检查inittab这个文件由哪个程序包生成)

包组管理:

列出所有包组:grouplist

显示指定包组详情:groupinfo group1 [...]

安装:groupinstall group1 [group2] [...]

卸载:groupremove group1 [group2] [...]

升级:groupupdate group1 [group2] [...]

注意:CentOS 7 之后可以直接用install,remove或update来管理包组,组名前加(@)。

例如: yum install @"Server Platform Development" (安装sever platform development包)

yum命令其他选项:

-y:自动回答为“yes”

--disablerepo=:临时禁用配置文件中配置的仓库

--enablerepo=:临时启用指定未启用的某仓库

--nogpgcheck:不做包校验

yum内置变量:

(1) $raleasever: 当前OS发行版的主版本号;

例如,对CentOS 6.6 x86_64,主版本号为6;

(2) $arch:平台

i386, i486

(3) $basearch: 基础平台, 例如i686, i586, i486以及i386的基础平台同为i386;

(4) $YUM0-$YUM9

例如:当前系统为CentOS 6.6  x86_64

baseurl=http://repo.magedu.com/centos/$releasever/$basearch (此写法和下方写法一样效果)

http://repo.magedu.com/centos/6/x86_64

(CentOS) 程序安装包管理:yum的更多相关文章

  1. C#软件winform程序安装包制作及卸载程序制作

    使用vs2010 winform程序开发的软件的人比较多,程序的开发是为了在不同的人不同的机器使用,为了使不同的机器能使用该软件就需要在制作程序安装包,安装包里必须包含该软件运行所选的所有环境,下面就 ...

  2. Sublime Text 3中文乱码解决方法以及安装包管理器方法

    一般出现乱码是因为文本采用了GBK编码格式,Sublime Text默认不支持GBK编码. 安装包管理器 简单安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令 ...

  3. Mac OS平台下应用程序安装包制作工具Packages的使用介绍

    一.介绍 Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Ins ...

  4. 基于DevExpress的Winform程序安装包的制作

    在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...

  5. 使用WinRar软件制作程序安装包

    之前我写过使用好压软件打包程序,见随笔: 使用好压(HaoZip)软件打包EverEdit制作安装程序 - Fetty - 博客园http://www.cnblogs.com/fetty/p/4907 ...

  6. 用inno Setup做应用程序安装包的示例脚本(.iss文件)(

    用innoSetup做应用程序安装包的示例脚本(.iss文件),具体要看innoSetup附带的文档,好象是pascal语言写的脚本. 示例1(应用程序.exe,客户端安装): ;{089D6802- ...

  7. 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)

    VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. ...

  8. 制作Linux下程序安装包——使用脚本打包bin、run等安装包

    制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了.一般这个后部分的文件是个压缩 包,那样,就能够打包很多文件了,在脚本中解压出来即可. ...

  9. php实现在线下载程序安装包功能

    在线下载程序安装包可以很方便在服务器端下载各种程序安装包(Discuz!.phpwind.Dedecms.WordPress....等一些常用程序)并存储在服务器,大大减少站长上传程序安装包时间.默认 ...

随机推荐

  1. 高效线程池(threadpool)的实现

    高效线程池(threadpool)的实现 Nodejs编程是全异步的,这就意味着我们不必每次都阻塞等待该次操作的结果,而事件完成(就绪)时会主动回调通知我们.在网络编程中,一般都是基于Reactor线 ...

  2. 小组开发项目NABC分析

    我们团队的开发项目为:重量解锁 是根据重力感应实现手机的解锁方式,在传统滑屏的基础上我们想增添新的形式,实现用户用一组动作就能实现手机解锁功能,更加方便,炫酷. NABC模型 1.N:我们的创意在使用 ...

  3. CRT团队组员博客地址统计

    CRT团队GitHub地址:https://github.com/CoffeeRobotTeam/Coffee-Robot-System 洪超 http://www.cnblogs.com/chaoh ...

  4. ueditor:原谅我这一生不羁放纵爱独特

    客户指明道姓需要使用百度编辑器,好吧,虽然自从李彦宏把一个好好的千千静听搞得节操尽碎之后,我就对百度的东西毫无好感,但是客户是上帝嘛,不就一个文本编辑器嘛,弄之,始料未及的是,就是这样一个简单的文本编 ...

  5. 服务端提供的JSON数据接口与用户端接收解析JSON数据

    JSON格式的服务接口:http://www.cnblogs.com/visec479/articles/4118338.html 首先来了解下JSON格式解析 json结构的格式就是若干个 键/值( ...

  6. 发送Http Get和Post请求

    发送Get请求 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "GET"; r ...

  7. java加载机制整理

    本文是根据李刚的<疯狂讲义>作的笔记,程序有的地方做了修改,特别是路径,一直在混淆,浪费了好多时间!!希望懂的同学能够指导本人,感激尽............ 1.jvm 和 类的关系 当 ...

  8. Matlab交集并集的实现

    >> a = [1 2 3 4 8 9]; >> b = [4 5 6 1] b = 4 5 6 1 >> c = intersect(a,b) c = 1 4 判 ...

  9. 科学技术法转成BigDemcial

    目的:将类似“-412615050624334534247E-3”转成“-412615050624334534.247” 工具:用到BigDemcial Code: public static voi ...

  10. Leetcode#135 Candy

    原题地址 遍历所有小孩的分数 1. 若小孩的分数递增,分给小孩的糖果依次+12. 若小孩的分数递减,分给小孩的糖果依次-13. 若小孩的分数相等,分给小孩的糖果设为1 当递减序列结束时,如果少分了糖果 ...