RPM 软件包形式管理软件虽然方便,可是须要手动解决软件包的依赖问题。不少时候安装一个软件首先须要安装 1 个或多个(有时多达上百个)其余软件,手动解决依赖问题很复杂。使用 YUM能够解决这个问题。Linux 底层也是经过 YUM 来进行软件包管理的(包括图形界面)。php
YUM(Yellowdog Updater, Modified)是一个基于 RPM 包管理的字符前端软件包管理器,设计目的主要是用来自动解决 RPM 的依赖问题。其特色以下:前端
YUM 引入了仓库(Repository)的概念,用来存放全部现有的 RPM包。当使用 YUM 安装一个 rpm 包的时候,若是存在依赖关系,YUM 会自动地在仓库中查找依赖并进行安装。仓库能够是本地的,也能够经过 http、ftp 或 nfs 形式使用集中、统一的网络仓库。YUM 经过仓库来很好地管理 RPM 包。linux
YUM 的配置文件有 2 种:centos
(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。配置参数格式以下:bash
[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 install package-name 安装指定软件包 yum remove package-name 卸载指定软件包 yum update package-name 升级指定软件包
yum search keyword 关键字搜索相关包 yum list [all|installed|recent|updates] 列出[所有|已安装的|最近的|更新]全部包 yum info package-name 查询包信息 yum whatprovides filename 查询哪一个包提供了目标文件
能够经过如下方式手动建立 YUM 仓库:ide
1. 将全部 rpm 文件拷贝到一个文件夹中url
2. 经过 rpm 命令手动安装 createrepo 软件spa
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 clear all
每次运行 YUM 安装或查询一类的命令时会生成缓存。
OK,Linux 入门记录系列暂时告一段落。
参考连接:YUM 的使用和YUM源的配置