分享交流
合作共赢!

Linux深入学习【十五】——程序包yum管理

一、YUM简介

YUM, 国外有称yellow dog,也叫Yellowdog Update Modifier,CentOS系统除了YUM可以自动化安装程序外,还有dnf,新的程序包管理工具,不过这里主要总结YUM的使用方法和经验。

yum仓库称为yum repository,简称yum repo, yum仓库存储了众多的rpm包,以及报的相关元数据文件(放置于特定目录下: 一般repodata文件所在的目录就是仓库应该指向的路径)。yum仓库可以称之为文件服务器,可以由ftp://、http://、nfs://、file://、等方式来使用。

配置文件

/etc/yum.conf 为所有仓库提供公共配置,查看系统详细介绍:man yum,/etc/yum.repos.d/*.repo 为每个单独的仓库提供配置,

仓库定义:

[repositoryID]
name=Some name for this repository
baseurl=url://path/to/repository/
enabled={1|0} : 是否启用此仓库
gpgcheck={1|0} : 是否检查程序包完整性和来源合法性
gpgkey=URL : 指明校验的密钥文件
failovermethod={roundrobin|priority} : 故障转移方法,从多个baseurl的url选择使用方式
,轮询和优先级,默认为roundrobin称为轮询或随机

二、YUM命令用法:

yum [options] [command] [package …]

command:

1. 显示仓库列表:repolist [all|enabled|disabled]

2. 显示程序包:list (如下命令支持globe格式通配符)

  • yum list [all | glob_exp1] [glob_exp2] […]  列出所有程序包
  • yum list available [glob_exp1] […]  列出所有可用包
  • yum list updates [glob_exp1] […]  列出可更新程序包
  • yum list installed [glob_exp1] […]  列出已安装包
  • yum list extras [glob_exp1] […]  列出extras仓库包

3. 安装程序包:install package1 package2 […]

4. 升级程序包:update  package1 package2 […]

5. 降级程序包:downgrade  package1 package2 […]

6. 检查可用升级包:check-update

7. 卸载指定程序包(依赖包也会被卸载):remove | erase  package1 package2 […]

8. 查看指定的特性(可以是某文件)是由哪个程序包所提供:provides | whatprovides feature1 feature2 […]

9. 清理本地缓存:clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

10. 构建缓存:makecache

11. 根据关键字搜索程序包或summary信息:search string1 [string2] […]

12. 重新(覆盖)安装:reinstall package1 [package2] […]

13. 显示依赖关系,指定包所依赖的capabilities:deplist package1 [package2] […]

14. 查看yum历史事务:history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

15.查看依赖包的位置

如报错:Delta RPMs disabled because /usr/bin/applydeltarpm not installed

]# yum provides '*/applydeltarpm'
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
deltarpm-3.6-3.el7.x86_64 : Create deltas between rpms
Repo        : base
Matched from:
Filename    : /usr/bin/applydeltarpm

解决此报错需要安装deltarpm

]# yum install deltarpm -y

16. 安装及升级本地程序包(CentOS7以下使用):

localinstall rpmfile1 [rpmfile2] […]
(maintained for legacy reasons only – use install)
* localupdate rpmfile1 [rpmfile2] […]
(maintained for legacy reasons only – use update)

包组管理相关命令:groupinstall “Development Tools”

{groupinstall | groupupdate | grouplist | groupremove | groupinfo } group1 [group2] […]

search string1 [string2] […]

yum命令行选项:

–nogpgcheck : 禁止进行gpg check;

-q : 静默模式安装

–disablerepo=repoidglob : 临时禁用此处指定的repo;

–enablerepo=repoidglob : 临时启用此处指定的repo;

–noplugins : 禁用所有插件;

yum的repo配置文件中的常用变量

$releasever : 当前OS发行版的主版本号;

$arch : 平台类型;

$basearch : 基础平台;

$YUM0-$YUM9 : 自定义变量

三. 创建YUM仓库

1. 安装createrepo文件可以帮助创建组织和管理rpm包的repo文件

yum install createrepo;

2. 到rpm包文件目录执行createrepo命令, 格式 : createrepo [options] <directory>, directory为rpm包文件目录路径

3. 编写yum配置文件

baseurl=file:///yum/repo (rpm包的路径)

补充:挂载光驱作为yum仓库,

1. 挂载:mount -r /dev/cdrom /media/cdrom

2. 编写yum仓库配置文件

常用命令总结:

1.使用YUM查找软件包
命令:yum search
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在 Yum Repository 内的软件包
命令:yum list extras
6.列出所指定的软件包
命令:yum list
7.使用YUM获取软件包信息
命令:yum info
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安装的软件包信息
命令:yum info installed
11.列出所有已安装但不在 Yum Repository 内的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides

参考琼杰笔记文档:

Linux深入学习之程序包管理【一】

Linux深入学习之二进制程序包编辑安装【三】

赞(0) 打赏
未经允许不得转载:琼杰笔记 » Linux深入学习【十五】——程序包yum管理

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册