yum的目的是为了解决RPM依赖关系的问题,方便使用者进行软件的安装、升级等工作。
RHEL5中默认提供了对YUM的支持。
yum的基本工作流程:
服务器端:在服务器上面存放了所有的RPM软件包,然后通过命令分析每个RPM文件的依赖性,将这些数据记录成文件存放在服务器上。(HTTP、FTP)
客户端:安装软件是,通过yum服务器上记录的依赖性关系文件,下载依赖关系需要所有相关的软件,自动全部下载并安装。
yum仓库简单来说,就是rpm包的存放位置和元数据文件
元数据文件的各种信息:
primary.xml.gz
所有rpm包的列表,有依赖关系
每个rpm包安装生成的文件列表
filelists.xml.gz
当期那仓库中所有rpm包的所有文件列表
other.xml.gz
额外信息,rpm包的修改日志
repomd.xml
记录的是上面三个软件的时间戳和校验和
comps-rhel5-server-core.xml:rpm包的分组信息
yum仓库配置需要有一个yum源,我们将元数据文件(repodata)指向的目录作为yum仓库。
光盘作为yum源:
将光盘作为yum源时,只需要将光盘挂载至一个本地目录即可
# mount -r /dev/cdrom /media/cdrom
创建本地yum仓库:
1、createrepo 仓库路径 (createrepo也需要用软件包安装)
# createrepo /yum/VT
(前提是将yum源中的VT目录里的软件包复制到/yum目录中)
例:# cp /media/cdrom/VT/*.rpm /yum/VT/
2、为yum定义repo文件,指定yum仓库的路径
3、查看repo列表及其简要信息
如何为yum定义repo文件
在/etc/yum.repos.d/目录下创建以.repo结尾的文件,在里面定义如下:
1. [Repo_ID]
2. name=Description
3. baseurl=
4. ftp://
5. http://
6. file:///
7. 1|0}
8. 1|0} # gpgkey=安全密钥的文件路径
(可定义两个yum源)
1. yum的相关命令:
2. list:列表
3. all(查看仓库中所有软件包)
4. # yum list all zsh*
5. available:可用的,仓库中有且尚未安装的
6. install:已经安装的
7. updates:可用的升级
8. repolist:显示repo列表及其简要信息
9. [all|enabled(默认)|disabled]
10. clean:清理缓存
11. [ packages | headers | metadata | dbcache | all ]
12. install:安装 (可自动解决依赖关系)
13. yum install PACKAGES_NAME
14. -y:自动回答yes
15. --nogpgcheck:不做gpg检查
16. # yum install -y httpd
17. update:升级到最新版本
18. uptade-to:升级为指定版本
19. remove | erase:卸载
20. -y:自动回答yes
21. "rpm -qi"
22. yum info PACKAGE_NAME
23. provides | whatprovides:查看指定的文件或特性是由那个包安装生成 相当于“rpm -qf"
24. groupinstall:创建组
25. groupupdate:升级组
26. grouplist:显示组列表及其简要信息
27. groupremove:删除组
28. groupinfo:显示一个组中安装的软件包
29. localinstall:本地安装
30. yum localinstall /path/to/PACKAGE_FILE
31. --nogpgcheck:不做gpg检查,即不检查其安全性和完整性
32. # yum localinstall -y httpd-devel-2.2.3-63.el5.i386.rpm
33. localupdate:本地升级
以上即为使用yum仓库安装、卸载软件的过程。
https://blog.51cto.com/dongld/1156752