linux 记录包工具,Linux 入门记录:二十、Linux 包管理工具 YUM

一、YUM(Yellowdog Updater, Modified)

1. YUM 简介

RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题。很多时候安装一个软件首先需要安装 1 个或多个(有时多达上百个)其他软件,手动解决依赖问题很复杂。使用 YUM可以解决这个问题。Linux 底层也是通过 YUM 来进行软件包管理的(包括图形界面)。

2. 设计目标

YUM(Yellowdog Updater, Modified)是一个基于 RPM 包管理的字符前端软件包管理器,设计目的主要是用来自动解决 RPM 的依赖问题。其特点如下:

自动解决依赖关系

可以对 RPM 进行分组,并基于组进行安装操作

引入仓库概念,支持多个仓库

配置简单(/etc/yum.conf 和 /etc/yum.repos.d/*.repo)

二、YUM仓库(Repository)

1. 仓库简介

YUM 引入了仓库(Repository)的概念,用来存放所有现有的 RPM包。当使用 YUM 安装一个 rpm 包的时候,如果存在依赖关系,YUM 会自动地在仓库中查找依赖并进行安装。仓库可以是本地的,也可以通过 http、ftp 或 nfs 形式使用集中、统一的网络仓库。YUM 通过仓库来很好地管理 RPM 包。

2. 配置文件

YUM 的配置文件有 2 种:

(1)YUM 的主配置文件 /etc/yum.conf,为所有仓库提供公共配置。配置参数格式如下:

[main]

cachedir=/var/cache/yum/$basearch/$releasever 包的缓存目录

keepcache=0 安装后是否保留缓存

debuglevel=2 调试级别,默认为2(0~10)

logfile=/var/log/yum.log 日志文件

exactarch=1 是否需要平台完全匹配

obsoletes=1 是否需要检查已过期仓库

gpgcheck=1 是否检查包的完整性和合法性

plugins=1 是否允许支持YUM插件功能

installonly_limit=5 允许保留内核包的数量

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release 指定一个软件包,YUM会根据这个包判断你的发行版本,CentOS里默认centos-release

(2)各个仓库的配置文件 /etc/yum.repos.d/ *.repo。配置参数格式如下:

[base] 仓库名,必须唯一

name=CentOS-$releasever - Base 描述信息

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra 镜像列表,根据该地址动态获取baseurl

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ 真正的仓库地址,可以多个

enabled=1 是否启用该仓库

gpgcheck=1 是否进行包的合法性检测

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 软件包的公钥所在的文件路径

enablegroups=1 是否基于组来批量管理程序包

failovermethod={roundrobin|priority} 有多个url可供选择时,YUM的选择次序,默认roundrobin(随机选择)

cost=1000 仓库优先级,默认1000

备注部分:

base库:通常为系统发行版所提供的程序包(光盘)

updates库:存放更新包

extra库:存放额外包

epel库:epel库文件

三、YUM基本命令

YUM 管理软件包的常用命令有:

yum install package-name 安装指定软件包

yum remove package-name 卸载指定软件包

yum update package-name 升级指定软件包

四、YUM查询

yum search keyword 关键字搜索相关包

yum list [all|installed|recent|updates] 列出[全部|已安装的|最近的|更新]所有包

yum info package-name 查询包信息

yum whatprovides filename 查询哪个包提供了目标文件

五、创建YUM仓库

可以通过以下方式手动创建 YUM 仓库:

1. 将所有 rpm 文件拷贝到一个文件夹中

2. 通过 rpm 命令手动安装 createrepo 软件

3. 运行 createrepo -v /rpm-directory

4. 如果有分组信息,则再运行命令的时候使用 -g 参数指定分组文件

createrepo -g /tmp/*comps.xml/rpm-directory

(CentOS/RHEL 的分组信息保存在光盘目录下 repodata/,文件名以 comps.xml 结尾)

创建好之后,本机可以通过 file 方式直接使用,或者可以通过 http、ftp 或 nfs 协议共享出去。

六、YUM缓存

YUM 为了提高速度会有很多缓存,但有时候缓存会造成一些故障,可以通过以下命令来清理缓存:

yum clear all

每次运行 YUM 安装或查询一类的命令时会生成缓存。

OK,Linux 入门记录系列暂时告一段落。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值