linux软件安装管理之rpm
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包来更新