RPM(Redhat Package Manager)
在红帽软件包管理器(RPM)公布之前想要在Linux系统中安装软件只能采取“源码包”的方式安装,早起在Linux系统中安装程序是一件非常困难,耗费耐心的事情,因为大多数的服务程序仅仅提供编译源码,需要运维人员自行编译代码并解决许多的依赖关系,源码安装需要运维人员有很多的知识、高超的技能、甚至很好的耐心才能安装好一个程序,而且在安装、升级、卸载时还要考虑到其他程序、库的依赖关系,所以管理员在校验、安装、卸载、查询、升级等管理软件操作时难度非常大。
而RPM机制则为解决这些问题而设计的,因其卓越的优势很快被公众认可,目前使用范围也已不局限在红帽系统中了。RPM会建立统一的数据库文件,详细的记录软件信息并能够自动分析依赖关系,颇有一些 “ 软件控制面板 ” 的感觉。
- 安装软件:rpm -ivh filename.rpm
- 升级软件:rpm -Uvh filename.rpm
- 卸载软件:rpm -e filename.rpm
- 查询软件的描述信息:rpm -qpi filename.rpm
-列出软件的文件信息: rpm -qpl filename.rpm - 查询文件属于哪个RPM:rpm -qf filename
虽然RPM能够帮助用户查询软件相关的依赖关系,但问题还是要自己解决,有些大型软件需要数十个依赖包也是不小的负担。
Yum
yum仓库则是为进一步简化RPM管理软件难度而设计的,yum能够根据用户的要求分析出所需软件包及其相关依赖关系,自动从服务器下载软件包并安装到系统。
yum软件仓库的使用拓扑图
用户能够根据需求来指定yum仓库是否校验软件包,而这些只需几条关键词即可完成。
所有yum仓库的配置文件均需以 .repo 结尾并存放在 /etc/yum.repos.d/ 目录中的。
配置方法:
vim /etc/yum.repos.d/rhel-media.repo
[rhel-media] #yum源的名称,可自定义
name=rhel-media #名称
baseurl=file:///mnt/ #提供方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..),当前使用的为本地yum源
enabled=1 #设置此源是否可用,1为可用,0为禁用
gpgcheck=0 #设置此源是否校验文件,1位校验,0为不校验
- yum repolist all 列出所有仓库
- yum list all 列出仓库中所有软件包
- yum info 软件包名称 查看软件包信息
- yum install 软件包名称 安装软件包
- yum reinstall 软件包名称 重新安装软件包
- yum update 软件包名称 升级软件包
- yum remove 软件包名称 移除软件包
- yum clean all 清除所有仓库缓存
- yum check-update 查看可更新的软件包
- yum grouplist 查看系统中已经安装的软件包组
- yum groupinstall 软件包组 安装指定的软件包组
- yum groupremove 软件包组 移除指定的软件包组
- yum groupinfo 软件包组 查询指定的软件包组信息