RPM软件包管理
1.RPM包管理机制
01:常见的软件封包类型
封包类型 | 说明 |
---|---|
rpm软件包 | 扩展名为.rpm,适用于RedHat系列 |
deb软件包 | 扩展名为.ded,适用于Debian系列 |
源代码软件包 | 通常以.tar.gz、.tar.bz2格式的压缩包提供包含程序的原始代码文件 |
其他 | 提供install.sh、setup、*.bin、*.pl等安装文件 |
绿色免安装、提供已编译好的程序及相关文件 |
02:RPM的含义
RPM - Package Manager
-由红帽公司提出,RedHat、SUSE等系列采用
-建立集中数据库,记录软件包安装/卸载等变化信息,分析软件包依赖关系
RPM包文件名特征
-软件名-版本信息.操作系统.硬件架构.rpm
-firefox-52.7.0-1.el7.centos.x86_64.rpm
03:常见安装位置
RPM包的一般安装位置(分散)
文件类别 | 默认安装位置 |
---|---|
普通执行程序 | /usr/bin/、/bin/ |
服务器程序、管理工具 | /usr/sbin/、/sbin/ |
配置文件 | /etc/、/etc/软件名/ |
日志文件 | /var/log/、/var/log/软件名/ |
程序文档、man手册页 | /usr/share/doc/、/usr/share/man |
2.查询软件信息
查询已安装的RPM软件包的信息
-格式:rpm -q [子选项] [软件名称]
常用的子选项 | |
---|---|
-a | 列出已安装的所有软件包 |
-i | 查看指定软件的详细信息 |
-l | 查看指定软件的文件安装清单 |
-f | 查询某个目录/文件是哪个RPM包带来的 即使目标文件被删除,也可以查询(依赖数据库) |
02:查询待安装的软件包
-格式:rpm -q [子项目] [RPM包文件]
常用的子选项 | |
---|---|
-pi | 查看指定软件的详细信息 |
-pl | 查看指定软件的文件安装清单 |
3.安装/卸载软件包
安装PRM软件
-格式:rpm -i RPM包文件…
辅助选项 | |
---|---|
-v | 显示细节信息 |
-h | 以#号显示安装进度 |
--force | 强制安装、覆盖安装 |
--test | 测试安装,不做真实安装动作 |
卸载RPM软件
-格式:rpm -e 软件名…
解决依赖关系
-先安装/卸载要求的包
-如果RPM包齐全但比较多,可以用通配符*
忽略依赖关系(不推荐)
-可能会导致软件运行异常
-辅助选项 ——nodeps
Yum软件包管理
1.准备Yum软件仓库
01:Yum机制概述:
YUM,Yellowdog Updater Modified
-基于RPM包构建的软件更新机制
-自动解决软件包依赖关系
-所有软件包由集中的YUM软件仓库提供
错误的文件会影响正确的文件
建议工作中把有问题的yum源移动走,尽量不要删除
02:准备本地Yum仓库
软件仓库的提供方式
-本地目录:file://…
-FTP或HTTP服务:ftp://… 、http://…
RPM软件包的来源
-Red Hat发布的RPM包集合
-第三方、用户自定义的RPM包集合
使用光盘的RPM包作YUM仓库
-挂载到本地目录 /dev/cdrom
2.配置Yum客户端
01:yum配置解析
影响yum使用的主要文件
-基本设置:/etc/yum.conf
-仓库配置:/etc/yum.repos.d/*.repo
-日志文件:/var/log/yum.log
.repo基本配置项
-[源名称]:自定义名称,具有唯一性
-name:本软件源的描述字串
-baseurl:指定YUM服务端的URL地址
-enabled:是否启用此频道
-gpgcheck:是否验证待安装的RPM包
-gpgkey:用于RPM软件包验证的密钥文件(可不写)
02:.repo配置文件示例
创建CentOS7.repo配置,添加本地仓库
3.yum命令工具
01:查询软件信息
-格式:
-yum list [软件名]…
-yum search ftp #包含ftp就匹配
-yum provides /usr/bin/hostname #仓库中哪个软件包产生该文件
02:安装/卸载软件包
软件包基本操作
-格式:yum [-y] 指令 [软件名]…
常用指令
-install:安装指定软件包,类似于rpm -i
-remove:卸载指定软件包,类似于rpm -e
-reinstall:强制安装、覆盖安装
03:清空本地Yum缓存
适用于yum缓存存在错误时
-再次查询或更新时,会自动重建缓存
yum clean all