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

相关推荐

  • 关于 进程和性能监控

            Linux系统状态的查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glance,pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup pstree命…

    系统运维 2016-09-11
  • 内核与内核模块

    内核与内核模块 先来看一下,内核与内核模块放在哪?这里以centos6为例 内核: /boot/vmlinuz或/boot/vmlinuz-version 内核解压所需要RAMDisk: /boot/initrc(/boot/initrc-version) 内核模块:/lib/modules/version/kernel或/lib/modules/uname…

    2017-09-04
  • Linux三剑客之sed命令

    一.sed命令概述 Stream EDitor ,行编辑器 sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变除非你使用重定向存储输出.sed主…

    Linux干货 2016-08-15
  • N25_第十三周作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)  1)共享名为shared,工作组为magedu;  2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;  3)添加samb…

    Linux干货 2017-03-06
  • 第一周-N28

    1、描述计算机的组成及功能 我们现在常用的计算机,包括手机及智能设备,通常由五大部件组成(冯若依曼提出),如下图所示: 五大部件: 运算器:做算数运算(加减乘除取余)和逻辑运算(移位) 控制器:控制各部分协调的功能。 CPU包括以下四个部分:运算器、控制器、寄存器、缓存 I/O设备:即输入输出设备,用于跟外部交互。通常为磁盘、键盘、鼠标、显示器、打印机等。I…

    2017-12-04
  • Liunx学习小结2

    1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。文件管理类命令有:cp、mv、rmcp [选项] [参数]选项:-a:此参数的效果和同时指定”-dpR”参数相同;-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;-f:强行复制文件或目录,不论目标文件或目录…

    Linux干货 2017-07-31