20、linux软件管理之rpm

来源:互联网 发布:阿里云 apk 编辑:程序博客网 时间:2024/06/05 07:07

rpm包管理

前言

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

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


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

安装

[root@bogon ~]# rpm -ivh [包全名(含路径)]#demo[root@localhost Packages]# rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm
选项 说明 -i install 安装 -v verbose 显示安装详情 -h hash 显示安装进度 –nodeps 不检测依赖性,不推荐使用,因为如果不检测依赖性,即使安装成功也是不完整的安装

升级和卸载

[root@bogon ~]# rpm -Uvh [包全名(含路径)]#卸载,卸载无关所在路径[root@bogon ~]# rpm -e [包命]
选项 说明 -U upgrade 升级 -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/lscoreutils-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/lsrpm2cpio: /mnt/cdrom/Packages/coreutils-8.4-37.el6.i686: No such file or directorycpio: 归档非正常终止[root@bogon tmp]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-37.el6.i686.rpm |\cpio -div ./bin/ls ./bin/ls24823 块[root@bogon tmp]# dirbin  d.conf  dua  testbzip[root@bogon tmp]# mv bin/ls /bin[root@bogon tmp]# ls -l总用量 16drwxr-xr-x. 2 root root 4096 928 22:43 bin-rw-r--r--. 1 root root    5 927 21:41 d.confdrwxr-xr-x. 3 root root 4096 927 21:56 duadrwxr-xr-x. 2 root root 4096 927 21:41 testbzip[root@bogon tmp]# 

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

0 0
原创粉丝点击