Linux前端包管理器—yum

Yum(Yellow dog Updater, Modified)由Duke University团队,修改Yellow Dog Linux的Yellow Dog Updater开发而成,是一个基于RPM包管理的字符前端软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

介绍yum工作流程之前,了解一下yum仓库的概念。软件发布者将rpm包放置到服务器某一路径下,并在该路径下生成了这些包的索引数据,包括文件列表,依赖性关系等等,我们称该路径下的rpm包和索引数据构成了一个yum仓库。

yum的工作流程:客户端执行安装,升级等操作时,yum扫描各个仓库索引数据是否有更新,如有更新则下载新索引数据到本机,然后根据包名进行匹配查找,结合本地rpm数据库检测依赖性环境,如果不满足,则自动在各个仓库匹配、下载安装,最后安装或升级指定程序。

一、Yum配置

主配置文件/etc/yum.conf

blob.png

cachedir     指定缓存文件和数据库文件存放的位置

keepcache     1或0。安装成功后是否保留头文件和rpm包的缓存文件,0为不保留

exactarch    1或0。1表示仅升级和已安装包的架构相同的包

gpgcheck     1或0。是否对rpm包进行GPG签名检查,该处定义影响所有仓库配置文件默认值,0为不检查

obsoletes    1或0。1表示处理淘汰的包,更新后淘汰的包会被相应的移除和取代

plugins       1或0。1表示启用yum插件功能

installonly_limit    同时安装包的数量

仓库地址配置文件/etc/yum.repos.d/*.repo

这里定义了yum从何处获取rpm包。yum本身已经配置好一些仓库地址信息,需要联网使用。也可以自定义配置仓库地址。

repo配置文件最简单形式如下:

[repository ID]    仓库唯一ID标志

name=         仓库命名

baseusrl=        仓库地址。指向repodata的父目录。可用协议http://,ftp://,file://

gpgcheck=0       是否进行gpg签名检查 ,默认为1,0表示不检查

也可指定如下选项:

enabled=        仓库有效标志,默认为1表示有效

gpgkey=        gpg签名公钥存放路径

cost=         优先级表示,默认1000,数值低优先级越高

这里给出一个配置例子

blob.png

使用yum repolist可查看配置仓库状态

blob.png

在官方配置文件中出现了可使用变量,有助于统一化描述

blob.png

$releaserver    当前OS的发行版的主版本号:6,7

$arch          平台架构

$basearch      基础平台架构,32位架构演变很多,基础架构都是i386 

$YUM0~$YUM9      可用自定义变量

二、yum使用语法

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

[command]部分

repolist    显示仓库列表

info       查看包信息

blob.png

list [available|installed|updates|all]

    显示包列表,缺省选项为all。@表示通过yum方式安装,@anaconda意为系统自动安装

blob.png

install    安装

reinstall    重新安装

update      升级

downupgrade   降级操作

check-update  检查可用升级

provides     查看指定能力由哪个包提供

blob.png

search     在包名和summary中搜索关键字

remove|erase  移除该包和依赖于此包的相关包

autoremove   移除并清理自动安装中不再需要的依赖包

clean all   清除所有有效仓库的缓存

包组管理命令

在基本命令前加上group

yum grouplist
yum groupinfo
yum groupinstall
yum groupremove

首先查看可用包组,准备安装红框中的包组

blob.png

执行命令yum groupinstall "File and Print Server"安装即可

history模式

yum属于事务型程序,可以对一个事务进行撤销,重新执行,回滚等操作

yum history {list|summary|undo|redo|rollback|new}

list    查看事务列表

summary   查看事务列表大纲

undo    撤销该事务,可用来卸载包

redo    重新执行该事务

rollback   回滚至该事务的状态,相当于撤销之前多个事务

new     清空历史,重新开始记录事务

首先使用list查看事务

blob.png

按时间顺序显示了已经执行的三个事务,id表示事务标志

yum history redo 1    #意味着将重新安装samba包
yum history undo 3    #意味着lftp将被重新安装回来
yum history rollback 1  #意味着id为2,3将被undo

 

一些常用[options]

-y         自动回复yes

–nogpgcheck    禁止签名检查

–disablerepo=repoglob    临时禁用指定仓库,支持glob通配

–enablerepo=repoglob     临时启用指定仓库

–noplugins    禁用任何插件

三、制作yum仓库源

制作yum仓库源很简单,使用createrepo工具制作仓库索引数据,把仓库地址配置好即可使用。

首先要安装工具

yum install createrepo

添加所需的rpm包到某一路径下,使用createrepo创建索引

blob.png

接下来配置仓库地址

blob.png

  查看仓库列表,如下已添加成功

blob.png

原创文章,作者:cutemsyu,如若转载,请注明出处:http://www.178linux.com/40696

(0)
cutemsyucutemsyu
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • LAMP

    备注:本次安装是采用的系统自带的yum源进行安装的 第一步:安装Apache 1:安装apache,命令如下: yum install -y httpd   2:修改httpd.conf,修改ServerName的域名,具体步骤如下: 使用vi编辑器打开apache配置文件,命令如下: vi /etc/httpd/conf/httpd.conf 按…

    Linux干货 2017-10-09
  • Linux中正则表达式和grep的使用

    正则表达式在Linux经常配合grep,sed和awk等用于搜寻关键字。正则表达式分为正则表达式和扩展正则表达式: 一、正则表达式 1.1 元字符: .:匹配任意字符    []:匹配[]中的任意一个字符 [^]:匹配[]以外的任意字符 [:alpha:]大小写英文字母 [:digit:]:十进制数字 [:xdigit…

    Linux干货 2017-04-08
  • DNS

    简介     DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号5…

    Linux干货 2016-11-15
  • Linux bash中的命令行展开介绍及应用示例

    Linux bash中的命令行展开介绍及应用示例 在Linux bash中可以使用命令行展开特性一步完成需要分开成多步完成的操作,达到事半功倍的效果。在Linux指令参数位置使用"{}" 将相应的参数括起来,括号中的参数以逗号分隔,然后bash在执行这一指令时会自动将括号中的内容进行展开。 相关示例如下: 同时创建多个目录,在/tmp目录…

    Linux干货 2016-11-07
  • 从Linux小白到大牛——与狼共舞的日子11

    马哥教育网络班21期+第10周课程练习 1、详细描述一次加密通讯的过程,结合图示最佳。 加密过程 1.使用单向加密算法,提取A的文件的特征码。 2.使用A的私钥对提取出来的特征码进行加密,把加密后的特征码附加在A的文件的后面。 3.使用对称加密对刚刚的A的文件和加密后的特征码进行加密,生成对称加密密钥 4.使用B的公钥对第3步骤的对称加密的密钥进行加密,加密…

    Linux干货 2016-12-05
  • 《 Git 权威指南 》学习笔记

    这个没办法直接发博客了,篇幅太长,无法直接在 Blog 上排版了,直接发上 pdf 文档了。 接 《LNAMP Shell 部署脚本》 博文的内容,线上测试系统的 Git 环境部署。 整个 Git 环境包括了:     Git / Gitweb     Gitolite / Gerrit &nbsp…

    Linux干货 2015-10-27