rpm 及 yum 的优缺点
**RPM 是由红帽公司开发的软件包管理方式, 使用 rpm 我们可以方便的进行软件的安装查询卸载升级等工作但是 rpm 软件包之间的依赖性问题往往会很繁琐, 尤其是软件由多个 rpm 包组成时
YUM(全称为 Yellow dog Updater, Modified) 是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器基於 RPM 包管理, 能够从指定的服务器自动下载 RPM 包并且安装, 可以自动处理依赖性关系, 并且一次安装所有依赖的软体包, 无须繁琐地一次次下载安装
一丶 rpm 命令详解
-i 安装
-v 显示安装过程
-vv 显示安装详细过程
-h 显示安装进度
-ivh 常用的安装选项
--nodeps 忽略安装包依赖性关系检测
--replacepkgs 重复安装已安装过的安装包, 文件覆盖
--replacefiles 即将安装的安装包的部分文件与其他已安装的安装包文件冲突, 可继续安装, 文件不覆盖
--nosignature: 不检查来源合法性
--nodigest: 不检查安装包的完整性
--noscripts: 不执行程序包脚本
-U 指定的安装包比已安装的安装包新或者未安装
-F 指定的包比已安装的包新
--oldpackage 指定的包比已安装过的包旧
-q 查询包是否安装
-qa 查询已安装的所有包
-qf 文件路径 查询指定的文件来源于哪一个 rpm 包
-ql 包名 查询该包提供了哪些文件
-qp rpm 包 对未安装的包, 指定 rpm 文件再配合其他查询子选项来进行各项查询操作
-q --changelog 包名 查看更新日志
-qc 包名 查看该软件包所提供的配置文件
-qd 包名 查看该软件包所提供的文档文件
-qi 包名 查看该软件包的详细信息
-q** --scripts 查看安装前及安装后的脚本 **
-q --provides 包名 查看一个软件包提供了哪些能力
-qR 包名 查看一个软件包的运行所依赖的能力
-q --whatprovides 能力名 查看一个能力由哪个包提供
-q --whatrequires 能力名 查看一个能力依赖于哪些包
-e 卸载
-e 包名
rpm -e `rpm -q vsftpd`
或
rpm -e vsftpd --allmatches 安装了多个版本的某个 rpm 可以一次性全部删除
--nodeps 删除时不检查依赖性关系
-K rpm 包 验证包的合法性
--import 公钥 导入公钥
rpm -qa "gpg-pubkey" 查询公钥
rpm -e `rpm -qa "gpg-pubkey"` 删除公钥
--initdb 初始化 / var/lib/rpm 数据库
--rebuilddb 重建包头索引目录
rpm2cpio 将 rpm 包转换为 cpio 归档文件
例子: 模拟删除 / etc/init/rcS.conf 文件并恢复
- 1.rm -f /etc/init/rcS.conf #删除文件
- 2.rpm -qf /etc/init/rcS.conf #查询删除的文件来自哪个包
- initscripts-9.03.58-1.el6.centos.x86_64 #查出拥有该文件的安装包
- 3.cp /media/Packages/initscripts-9.03.58-1.el6.centos.x86_64 /app #将安装包拷贝出来
- 4.cd /app #进入安装包所在目录
- 5.rpm2cpio initscripts-9.03.58-1.el6.centos.x86_64 |cpio -id #将安装包转换为归档文件
- 6.cp etc/init/rcS.conf /etc/init #找到该文件拷贝至所欲要的目录
二丶 yum
yum repolist
all 显示所有的仓库
enabled 显示已启用的仓库
disabled 显示已禁用的仓库
yum list [all]
available 显示所有可用的, 且未安装的
installed 显示所有已安装的包
updates 显示可更新的包
yum info pkg1 显示包的详细信息
yum provides | whatprovides 文件路径 (支持文件名通配符) 查询一个文件来自哪一个 rpm 包无论是否已安装
yum clean all 清空缓存
yum makecache 建立新缓存
yum deplist pkg1 查询指定包所依赖的能力
yum localinstall |install rpm 路径 安装本地的 rpm 包, 并用 yum 解决依赖性关系
yum localupdate |update rpm 路径 更新本地的 rpm 包, 并用 yum 解决依赖性关系
yum groupinstall grppkg1
grouplist 列出所有的包组
groupinfo grppkg1 显示该包组包含的 rpm 包
groupremove grppkg1 卸载包组
来源: http://www.bubuko.com/infodetail-2506719.html