简介:

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. Notes of the scrum meeting(12.5)

    meeting time:18:00~18:30p.m.,December 5th,2013 meeting place:3号公寓一层 attendees: 顾育豪                   ...

  2. 【每日scrum】NO.4

    1.掌握了如何求两点间的最短距离这个算法.

  3. 基于OpenMP的矩阵乘法实现及效率提升分析

    一.  矩阵乘法串行实现 例子选择两个1024*1024的矩阵相乘,根据矩阵乘法运算得到运算结果.其中,两个矩阵中的数为double类型,初值由随机数函数产生.代码如下: #include <i ...

  4. 初学MFC

    学习使用MFC搭建界面.尝试使用MFC搭建了一个简单的基于对话框的计算器界面,包括模态对话框.非模态对话框.向导对话框等. // MFCApplicationAddDlg.h : 头文件 // #pr ...

  5. [转载]解决zabbix在configure时候遇到的问题(Ubuntu)

    http://hi.baidu.com/ryq1xiuluo/item/6d37e658f1b90b13db16351d ./configure --enable-server --enable-ag ...

  6. ReactJS入门

    React介绍 React是facebook开发基于组件驱动开发(CDD ) 的UI类库,相对于双向绑定的类库,如AngularJS,它采用单向数据流绑定.通过采用虚拟DOM的概念,是的他在性能和处理 ...

  7. sqlserver2008r2 127.0.0.1 用户sa登录失败 错误18456

    按照网上的所有方法都试过了,还是不行. 最后,将sa密码重新设置一下,解决问题.

  8. 02.Hibernate映射基础

    前言:Hibernate的核心功能是根据数据库到实体类的映射,自动从数据库绑定数据到实体类.使我们操作实体类(Java对象)就能对数据库进行增.删.查.改,而不用调用JDBC API使数据操作变得简单 ...

  9. JS 学习笔记--3--数据类型

    1.typeof 操作符 用来获取变量或者字面量的类型,也可以typeof(x);但是typeof并非内置函 数,而是一个操作符变量2.JS 一共6种类型 Undefined/Null/Boolean ...

  10. bzoj 1028 暴力枚举判断

    昨天梦到这道题了,所以一定要A掉(其实梦到了3道,有两道记不清了) 暴力枚举等的是哪张牌,将是哪张牌,然后贪心的判断就行了. 对于一个状态判断是否为胡牌,1-n扫一遍,然后对于每个牌,先mod 3, ...