软件包管理之yum

Posted dugukeling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件包管理之yum相关的知识,希望对你有一定的参考价值。

YUM(YellowdogUpdate Modifier)是rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包

yum仓库(yum repository)

yum repository存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)

yum源可以来源于多种文件服务器

  • http://
  • https://
  • ftp://
  • file:// 

注意:yum 源的路径一定是 repodata目录的父目录

 

yum源配置

/etc/yum.conf:为所有仓库提供公共配置

[main]
cachedir=/var/cache/yum/$basearch/$releasever   # 缓存文件,baseserach是基础架构,如`x86_64`,releaserver是版本,如`7`
keepcache=0       # 缓存源文件和安装成功后的下载包是否保存
debuglevel=2 
logfile=/var/log/yum.log  # 日志文件位置
exactarch=1
obsoletes=1
gpgcheck=1      # 是否进行gpg校验,0为不校验,1校验
plugins=1       # 是否支持插件
installonly_limit=5   # 允许同时安装几个程序包
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

/etc/yum.repos.d/*.repo:为仓库的指向提供配置

仓库指向的定义

[repositoryID]  # 仓库ID
name=Some name for this repository  # 仓库名
baseurl=url://path/to/repository/   # 仓库地址
enabled={1|0}      # 是否启用
gpgcheck={1|0}     # 是否进行gpg校验,默认值为1,即为校验
gpgkey=URL         # 如果gpgcheck值为1,要给定gpgkey地址
enablegroups={1|0} # 是否支持组
failovermethod={roundrobin|priority}    # 仓库的选取方法,roundrobin意为随机挑选,默认;priority按顺序访问
cost=     # 花费值,默认为1000

 配置本地光盘 yum 源,阿里云 epel 源

[[email protected] ~]# mkdir /media/cdrom
[[email protected] ~]# mount -r /dev/cdrom /media/cdrom
[[email protected] ~]# mkdir /etc/yum.repos.d/backup
[[email protected] ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
[[email protected] ~]# vim /etc/yum.repos.d/centos7.repo
    [cdrom]
    name=cdrom for centos7
    baseurl=file:///media/cdrom
    gpgcheck=0
    enabled=1

    [epel]
    name=epel for centos7
    baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
    enabled=1

[[email protected] ~]# yum repolist

 

yum命令

yum命令语法

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

yum命令行选项(命令行选项的优先级高于配置文件)

--nogpgcheck:禁止进行gpgcheck
-y: 自动回答为“yes”
-q:静默模式
--disablerepo=repoidglob:临时禁用此处指定的repo
--enablerepo=repoidglob:临时启用此处指定的repo
--noplugins:禁用所有插件

yum源列表

yum repolist [all|enabled|disabled]                          显示仓库列表
yum grouplist [hidden] [groupwildcard] [...]                 显示包组
yum list {available|installed|updates} [glob_exp1] [...]     显示包列表

yum安装更新卸载

yum install package1 [package2] [...]           安装包
yum install rpmfile1 [rpmfile2] [...]           安装本地rpm包
yum groupinstall group1 [group2] [...]          安装包组
yum reinstall package1 [package2] [...]         重新安装包
yum check-update                                检查可用升级
yum update [package1] [package2] [...]          升级包
yum downgrade package1 [package2] [...]         降级包
yum update rpmfile1 [rpmfile2] [...]            升级本地rpm包
yum groupupdate group1 [group2] [...]           升级包组
yum remove | erase package1 [package2] [...]    卸载包
yum groupremove group1 [group2] [...]           卸载包组

yum查询搜索

yum info [...]                                           查看程序包信息
yum provides | whatprovides feature1 [feature2] [...]    查看指定的特性(可以是某文件)是由哪个程序包所提供
yum search string1 [string2] [...]                       以指定的关键字搜索程序包名及summary信息
yum deplistpackage1 [package2] [...]                     查看指定包所依赖的capabilities

yum缓存

yum makecache     构建缓存
yum clean all     清除缓存(不彻底的话 rm -rf /var/cache/yum

yum历史

yum history            显示yum操作历史,是按照/var/log/yum.log进行的查找
yum history info 6     查看第六条信息
yum history undo 6     撤销第六步,如果第六步是安装,则执行此命令,将删除第六步所安装的程序,。如果第六步是卸载,那么执行此命令,则进行安装卸载掉的程序
yum history redo 6     重做第六步

 







以上是关于软件包管理之yum的主要内容,如果未能解决你的问题,请参考以下文章

软件包管理之yum

Linux系统之YUM

Linux命令之软件包管理器yum

Linux系列教程——Linux软件包管理之yum在线管理

linux软件安装管理之yum

Linux系列教程——Linux软件包管理之yum在线管理