linux 软件包的类型
rpm 二进制包 -> 已经使用 gcc 编译后的
Tar 源码包 -> 需要编译
使用 rpm 使用时, 什么情况下使用软件包全名, 什么时候使用软件包名
包全名: zsh-5.0.2-28.el7.x86_64.rpm
包名: zsh
全名: 在安装和更新的时候使用
包名: 在对已经安装过的软件包进行操作时, 比如查找已经安装的某一个包, 卸载包等, 使用包名, 默认在 / var/lib/rpm / 目录下, 当一个 rpm 软件包安装到系统上之后, 安装信息通常会保存在本地的 / var/lib/rpm / 目录下
安装 rpm 软件
rpm [参数] 软件包
-I 是 install 的意思, 安装软件包
-v 显示附加信息, 提供更多详细信息
-V 校验, 对已经安装的软件进行校验
-h -hash 安装时输出 #### 标记
rpm 查询功能
rpm -q 常与下面参数组合使用
-a(all) 查询所有已经安装的软件包
-f(file) 系统文件名, 查询系统文件属于哪个软件包, 反向查询
-i 显示已经安装的 rpm 软件包信息, 后面直接跟包名
-I (list) 查询软件包中文件安装的位置
-P 查询未安装软件包的相关信息, 后面跟软件的命名
-R 查询软件包的依赖性
实例
查询指定的包是否安装
rpm -q zsh
查询所有已安装包
rpm -qa
查询所有已安装包中是否带有 vi 关键字
rpm -qa | grep vi
查询文件或命令属于哪个安装包
查询 cd 命令的路径
which cd
根据路径查询安装包
rpm -qf /usr/bin/cd
查询包的详细信息
rpm -qpi rpm 包名
查看软件包内容是否被修改, 用于校验命令是否被修改
rpm -V 包名
rpm -Vf 文件路径
查看系统中所有 rpm 包以及安装的文件有没有被修改
rpm -Va
如果不出现或者出现的全是点, 表示测试通过
出现下面的字符代表测试的失败
5 - MD5 校验值失败, 内容该变
S - 文件长度, 大小是否改变
L - 符号链接, 文件路径是否改变
T - 文件修改日期是否改变
D - 设备
U - 用户, 文件的属主
G - 用户组
M - 模式 (包含许可和文件类型)
? - 不可读文件
后面的 c 文件名, 表示的是文件类型
c 配置文件
d 普通文件
g 不该出现的文件, 意思是这个文件不该这个包所包含
l 授权文件 (license file)
r 描述文件
rpm 包卸载
rpm -e 包名 卸载 rpm 包
rpm -e -nodeps 包名 忽略依赖关系
rpm 包升级
rpm -Uvh 包全名
由于更新会有一些依赖包要解决, 所以我们一般使用 yum updata 包来更新
来源: http://www.bubuko.com/infodetail-2760052.html