基础概念
yum是一个基于C/S架构的软件包的前端管理工具。它是基于rpm包管理的封装,解决了rpm包安装过程中的依赖关系的问题。
yum的server端:
其实质是一个文件服务器,主要功能:
1、利用yum的文件共享机制,将各个rpm包共享给客户端使用。
2、共享文件依赖关系、安装之后所生成的文件列表信息的元数据。
共享协议:
ftp, http, nfs, file(用于本地yum-repo)
yum的client端:
主要功能:
1、编辑配置文件,指定可用的repo。
2、缓存元数据,包括软件包的依赖关系、软件包安装之后生成的文件列表信息。
3、分析元数据,根据具体操作分析以上的元数据信息。
4、执行具体操作,如安装,卸载,查询等。
访问服务端repo的方式:
1、http://server-ip/path/to/repo
2、ftp://server-ip/path/to/repo
3、nfs://server-ip/path/to/nfs
4、file:///path/to/repo
yum配置文件
1、/etc/yum.conf :核心配置文件
2、/etc/yum.repos.d/*.repo:组成核心配置文件的各个repo配置文件,常编辑此文件来指定客户端所依赖的repository。
yum配置文件*.repo的配置操作
必须字段:
[repo-ID]
name=repo-string(可以有空格的存在)
baseusrl=服务端的repo的访问路径
Enabled={0|1} 是否启用该repo
Gpgcheck={0|1} 是否进行来源合法性和文件完整性检验
Gpgkey=服务端的repo中的公钥检测文件,若gpgcheck=0,则不必要配置该项。
如下是本人在本主机上使用本repo,编写的yum源:
[[email protected] ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-lv_root 6926264 1744892 4829528 27% / tmpfs 243140 0 243140 0% /dev/shm /dev/sda1 495844 33472 436772 8% /boot /dev/sr0 3762278 3762278 0 100% /media/rhel6.5 [[email protected] ~]# cat /etc/yum.repos.d/centos.repo [rhel-source] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=file:///media/rhel6.5 enabled=1 gpgcheck=0
yum配置文件中的宏的含义
使用宏的好处,方便该yum可以在不同平台之间使用。
$releaserver: 指发行版,如redhat6.5 , $releasever=6。
$arch: 系统架构。
$basharch: 系统基本架构,如i586、i686的基础架构是i386。
yum的具体使用
命令: yum [option] COMMAND Pkgname
COMMAND:
install: 安装软件包,可以是repo中,也可以是本地的软件包。
erase/remove:卸载软件包,同时会卸载存在依赖关系的软件包。
repolist [all|enabled|disabled]:列出【所有|可用|不可用】可用repo。
clean [all|pkgs|metdate...]:清除【所有|包|元数据...】的缓存。
list [all|installed|available]:列出【所有|安装|未安装】的软件包。
reinstall:重新安装软件包。
update:升级软件包,update Pkg-version:升级到指定版本。
updateinfo:查看repo的升级信息。
check-update:查看可升级的软件包。
downgrade pkg-version:降级软件包。
whatprovides/provide /path/to/somefile:查看某文件属于哪个软件包。
deplist:查看软件包的依赖关系。
grouplist:列出软件包组信息。
groupinstall:安装软件包组。
history:查看yum以前执行的操作。
[option]:
-y: 自动回答问题为yes。
自建yum仓库(以web服务器为例)
1、将软件包下载指/var/www/html。
2、createrepo /var/www/html/Pkg-dir
经过以上两步就创建好了repo,就可以本地或者通过web服务器共享使用该repo。