了解linux yum

目标

  • 了解什么是yum
  • 了解yum的命令格式
  • 了解如何配置yum

什么是YUM

YUM,全称Yellow dog Updater, Modifier,是一个自由、开源的命令行软件包管理工具,运行在基于RPM包管理的的Linux操作系统(例如RedHat、CentOS、Suse等)。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 主要是更方便的添加、删除、更新RPM包,自动解决软件包之间的依赖关系,方便系统更新及软件管理。yum 通过软件仓库(repository)进行软件的下载、安装等,软件仓库可以是一个 HTTP 或 FTP 站点,也可以是一个本软件池,资源仓库也可以是多个,在 /etc/yum.conf 文件中进行相关配置即可。在yum的资源库中,会包括 RPM 的头信息(header),头信息中包括了软件的功能描述、依赖关系等。通过分析这些信息,yum 计算出依赖关系并进行相关的升级、安装、删除等操作。


yum的命令

语法

命令格式:

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

options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package操作的对象。

常用选项(options):

-h, --help         #显示帮助信息
-t, --tolerant     #容错
-C, --cacheonly    #完全从系统缓存中运行,不更新缓存
-c [config file], --config=[config file]      #本地配置文件
-R [minutes], --randomwait=[minutes]          #命令最大等待时间
-d [debug level], --debuglevel=[debug level]  #设置调试级别
-e [error level], --errorlevel=[error level]  #设置错误等级
-q, --quiet        #退出运行
-v, --verbose      #详细模式
-y, --assumeyes    #对所有交互提问都回答 yes

命令列表(command):


check         check         #检测 rpmdb 是否有问题
check-update  #检查可更新的包
clean         #清除缓存的数据
deplist       #显示包的依赖关系
distribution-synchronization  #将已安装的包同步到最新的可用版本
downgrade     #降级一个包
erase         #删除包
groupinfo     #显示包组的详细信息
groupinstall  #安装指定的包组
grouplist     #显示可用包组信息
groupremove   #从系统删除已安装的包组
help          #删除帮助信息
history       #显示或使用交互历史
info          #显示包或包组的详细信息
install       #安装包
list          #显示可安装或可更新的包
makecache     #生成元数据缓存
provides      #搜索特定包文件名
reinstall     #重新安装包
repolist      #显示已配置的资源库
resolvedep    #指事实上依赖
search        #搜索包
shell         #进入yum的shell提示符
update        #更新系统中的包
upgrade       #升级系统中的包
version       #显示机器可用源的版本

查询功能:

yum [list | info | search | provides | whatprovides] 参数

$ yum [option] [查询工作项目] [相关参数]
选项与参数:
[option]:主要的选项,包括有:
  -y :当 yum 要等待使用者输入时,这个选项可以自动提供 yes 的回应;
  --installroot=/some/path :将该软件安装在 /some/path 而不使用默认路径
[查询工作项目] [相关参数]:这方面的参数有:
  search  :搜寻某个软件名称或者是描述 (description) 的重要关键字;
  list    :列出目前 yum 所管理的所有的软件名称与版本,有点类似 rpm -qa;
  info    :同上,不过有点类似 rpm -qai 的运行结果;
  provides:从文件去搜寻软件!类似 rpm -qf 的功能!

范例一:搜寻git相关的软件有哪些?
$ yum search git

范例二:找出 git 这个软件的功能为何
$ yum info git

范例三:列出 yum 服务器上面提供的所有软件名称
$ yum list

范例四:列出目前服务器上可供本机进行升级的软件有哪些?
$ yum list updates  <==一定要是 updates 喔!

范例五:列出提供 passwd 这个文件的软件有哪些
$ yum provides passwd

安装/升级功能

yum [install | update | groupinstall | groupupdate] 软件

$ yum [option] [查询工作项目] [相关参数]
选项与参数:
  install :后面接要安装的软件!
  groupinstall : 组包安装,后面接软件包组
  update  :后面接要升级的软件,若要整个系统都升级,就直接 update 即可
  groupupdate : 组包升级

范例一:安装git
$ yum install git

范例二:升级真个系统的软件
$ yum update

移除功能

yum [remove | groupremove] 软件

$ yum remove git

清除缓存

yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all 清除所有
yum [clean]

1.清除缓存目录(/var/cache/yum)下的软件包
yum clean packages

2.清除缓存目录(/var/cache/yum)下的 headers
yum clean headers

3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders

4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)

yum的配置

yum 的配置文件分为main 和repository :

  • main:定义了全局配置选项,该文件只有一个。通常位于 /etc/yum.conf
  • repository:定义了源服务器的具体配置,可能是一或多个。通常位于 /etc/yum.repo.d 目录

配置文件main

可以通过以下命令查看yum的配置:

cat /etc/yum.conf

主要配置项如下:

[main]
# yum 的缓存目录,用于存储下载的 RPM 包和数据库
cachedir=/var/cache/yum/$basearch/$releasever

# 安装完成后是否保留软件包,0为不保留(默认为0),1为保留
keepcache=0
   
# Debug 信息输出等级,范围为0-10,默认为2
debuglevel=2

# yum 日志文件位置,用户通过该文件查询做过的更新   
logfile=/var/log/yum.log
   
# 是否只安装和系统架构匹配的软件包。可选项为:1、0,默认为1
# 设置为 1 时不会将 i686 的软件包安装在适合i386的系统中
exactarch=1

# update 设置,是否允许更新陈旧的 RPM 包,相当于 upgrade
obsoletes=1
   
# 是否进行 GPG(GNU Private Guard) 校验,以确定 RPM 包的来源是有效和安全
# 当在这个选项设置在[main]部分,则对每个 repository 都有效
plugins=1

# 是否启用插件,默认1为允许,0表示不允许
gpgcheck=1
   
# 排除某些软件在升级名单之外,可以用通配符,各个项目用空格隔开
exclude=*.i?86 kernel kernel-xen kernel-debug

# 可同时安装多少程序包   
installonly_limit=5

# Bug 追踪路径   
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum

# 当前发行版版本号   
distroverpkg=centos-release

配置目录repository

查看对应目录下的文件内容

$ cat /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

...

说明:

  • [base]:代表容器的名字!中刮号一定要存在,里面的名称则可以随意取。但是不能有两个相同的容器名称, 否则 yum 会不晓得该到哪里去找容器相关软件清单文件。
  • name:只是说明一下这个容器的意义而已,重要性不高!
  • mirrorlist=:列出这个容器可以使用的映射站台,如果不想使用,可以注解到这行;
  • baseurl=:这个最重要,因为后面接的就是容器的实际网址! mirrorlist 是由 yum 程序自行去捉映射站台, baseurl 则是指定固定的一个容器网址!我们刚刚找到的网址放到这里来啦!
  • enable=1:就是让这个容器被启动。如果不想启动可以使用 enable=0 喔!
  • gpgcheck=1:还记得 RPM 的数码签章吗?这就是指定是否需要查阅 RPM 文件内的数码签章!
  • gpgkey=:就是数码签章的公钥档所在位置!使用默认值即可

注意:手工修改repo文件后,需要更新缓存,命令如下

yum clean all

2018.05.03

参考

1.yum(software);
2.鸟哥-yum
3.yum简单介绍
4.linux yum命令详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容