20、linux软件管理之rpm

rpm包管理

前言

rpm包命名原则 以httpd-2.2.15-15.el6.centos.1.i686.rpm

httpd软件包名
2.2.15软件版本
15软件发布次数
e16.centos适合的linux平台
i686适合的硬件平台,除了x64 基本上都是支持32位机器的
rpmrpm包扩展名


软件包名可以称作包名,全部加在一起是包全名,这两耳光名词在rpm的管理介绍中会用到。

安装
[root@bogon ~]# rpm -ivh [包全名(含路径)]
#demo
[root@localhost Packages]# rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm
选项说明
-iinstall 安装
-vverbose 显示安装详情
-hhash 显示安装进度
–nodeps不检测依赖性,不推荐使用,因为如果不检测依赖性,即使安装成功也是不完整的安装
升级和卸载
[root@bogon ~]# rpm -Uvh [包全名(含路径)]
#卸载,卸载无关所在路径
[root@bogon ~]# rpm -e [包命]
选项说明
-Uupgrade 升级
-e卸载
–nodeps不检测依赖性
查询
#查询某包是否安装
[root@bogon ~]# rpm -q [包名]
#查询所有已经安装的rpm包
[root@bogon ~]# rpm -qa
#查询软件包详细信息
[root@bogon ~]# rpm -qi [包名]
#查询未安装软件包信息
[root@bogon ~]# rpm -qip [包全名含路径]
#查询包中文件安装位置
[root@bogon ~]# rpm -ql [包名]
#查询未安装软件包会安装位置
[root@bogon ~]# rpm -ql [包全名含路径]
#根据包文件反查安装包
[root@bogon ~]# rpm -qf [文件名含路径]
#查询软件包的依赖性
[root@bogon ~]# rpm -qR [包名]
#查询未安装软件包的依赖性
[root@bogon ~]# rpm -qRp [包全名含路径]
选项详情
-p指定查询对象是未安装软件包
-q查询
-i查询软件包信息
-l查询文件列表
-R查询软件包的依赖性
-a查询所有已安装rpm包
文件校验和提取
文件校验
[root@bogon ~]# rpm -V [包名]
#演示输出
S.5....T. c /etc/httpd/conf/http.conf
校验结果中出现的字符代表含义
S文件大小是否改变
M文件的类型或者权限是否被改变
5文件的md5校验是否改变
D设备的中从代码是否改变
L文件的所有者是否改变
G文件的所属组是否改变
T文件的修改时间是否改变

c处代表的含义

文件类型代表含义
c配置文件
d普通文档
g鬼文件,很少见,就是该文件不应该被这个rpm包含
l授权文件 license file
r描述文件
从rpm文件中提取指定文件()

用途:如误删了文件需要恢复初始化,那么从rpm包中提出相应的文件覆盖到相应位置就好了


说明:rpm包中的文件是不能直接被提取的,需要先把rpm包转换成cpio格式之后,才能提取的,cpio可以是一个标准工具,作用是用于创建软件档案文件和从档案文件中提取文件。

[root@bogon tmp]# echo 查询ls命令所在的包
[root@bogon tmp]# rpm -qf /bin/ls
coreutils-8.4-37.el6.i686
[root@bogon tmp]# rm -rf /bin/ls 
[root@bogon tmp]# ls -l
-bash: /bin/ls: 没有那个文件或目录
[root@bogon tmp]# echo 挂载光盘后,去寻找到coreutils-8.4-37.el6.i686包,去提取 文件
[root@bogon tmp]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-37.el6.i686 | cpio -div ./bin/ls
rpm2cpio: /mnt/cdrom/Packages/coreutils-8.4-37.el6.i686: No such file or directory
cpio: 归档非正常终止
[root@bogon tmp]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-37.el6.i686.rpm |\cpio -div ./bin/ls 
./bin/ls
24823 块
[root@bogon tmp]# dir
bin  d.conf  dua  testbzip
[root@bogon tmp]# mv bin/ls /bin
[root@bogon tmp]# ls -l
总用量 16
drwxr-xr-x. 2 root root 4096 928 22:43 bin
-rw-r--r--. 1 root root    5 927 21:41 d.conf
drwxr-xr-x. 3 root root 4096 927 21:56 dua
drwxr-xr-x. 2 root root 4096 927 21:41 testbzip
[root@bogon tmp]# 

由上述可知提取出一个文件的语法格式如下
rpm2cpio {包路径} | cpio -div .{提取目录} .可指定,但是最好使用.当前目录,当作固定格式比较好记忆。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值