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 08:44
下一篇 2016-08-29 08:44

相关推荐

  • 关于压测的宏观个人总结

    工作角色定位 首先先从宏观角度来评估下本次的压测工作. 从工作职责上说本次压测理应由组内其它同学来完成,个人从旁协助或指导即可。团队成员的成长对我个人来说才是更大的成长。所以即使这次压测工作完成的再出色,都会因为是由我来完成的,所以都不能称之为优秀的。对我个人的成长最多是项目经验的增长和问题的积累,但对组员来说如何让他们做到现有成果的80%是我需要帮助他们来…

    Linux干货 2015-04-21
  • CentOS7 实现网卡绑定

    Bonding ;理念 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用 或者负载均衡。直接给两块网卡设置同一IP地址是不可以的 。通过bonding,虚拟一块网卡对外提供连接,物理网卡的 被修改为相同的MAC地址 banding工作模式 Mode 0 (balance-rr) 轮转(Round-robin)策略: 从头到尾顺序的在每一个slave 接…

    2017-12-19
  • Linux 终端类型

      1、 什么是终端     终端就是用户与主机进行交互的一种介质(方式),可以是虚拟的,也可以是实体的。   2、 终端种类       (1)控制台终端(/dev/console):在Linux系统中,计算机显示器通常被称为控制台终端。Console与虚拟终端相关联…

    Linux干货 2016-10-19
  • Python之入门篇

    一、环境准备 环境准备 –> pyenv (安装python解释器,管理Python版本,管理python虚拟环境) https://github.com/pyenv/pyenv https://github.com/yyuu/pyenv-installer # yum -y install git # curl -L https://ra…

    Linux干货 2017-02-05
  • linux系统自动化安装和selinux

    系统自动化安装: Anaconda 安装系统分成三个阶段:  安装前配置阶段安装过程使用的语言键盘类型安装目标存储设备Basic Storage :本地磁盘特殊设备:iSCSI设定主机名配置网络接口时区管理员密码x设定分区方式及MBR 的安装位置创建一个普通用户选定要安装的程序包 创建引导光盘:#cp /media/cdrom/isoli…

    Linux干货 2017-04-06
  • 正则表达式—正则表达式详解

    grep使用正则表达式进行匹配时,将大大提高效率和精准性,正则表达式概括分为基本正则表达式和扩展正则表达式。 一、基本正则表达式   字符匹配元字符         .        &nb…

    Linux干货 2016-07-04