吹静静

欢迎QQ交流:592590682

一、RPM包命名规则

1、RPM包在哪

RPM包在光盘中

2、RPM包命名原则

httpd-2.2.15-15.e16.centos.1.i686.rpm

  httpd 软件包名

  2.2.15 软件版本

  15 软件发布次数

  e16.centos 适合的Linux平台

  i686 适合的硬件平台

  rpm  rpm包扩展名

3、RPM包依赖性

树形依赖:a >>> b >>> c

环形依赖:a >>> b >>> c >>> a

模块依赖:查询网站:www.rpmfind.net

二、安装命令

1、包全名与包名

包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径。

包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库。

2、RPM安装

安装和升级时一定要在安装包目录或者打绝对路径。

rpm  -ivh  包全名

选项:

  -i (install)  安装

  -v (verbose) 显示详细信息

  -h (hash) 显示进度

  --nodeps 不检测依赖性(绝不允许使用)

注:安装时要看到第二个100%才说明安装成功

三、升级与卸载

1、升级

rpm  -Uvh  包全名

选项:

  -U  (upgrade) 升级

2、卸载

rpm  -e  包名

选项:

  -e  (erase)卸载

  --nodeps 不检测依赖性(实际工作中也不允许使用)

四、RPM包查询

1、查询是否安装

rpm  -q  包名

# 查询包是否安装

选项:

  -q  查询(query)

rpm  -qa 

# 查询所有已经安装的RPM包

选项:

  -a  所有(all)

2、查询软件包详细信息

rpm  -qi  包名

选项:

  -i  查询软件信息(information)

  -p   查询未安装包信息(package)

查询已安装包信息

 查询未安装包信息

注:基本没啥屌用

3、查询包中文件安装位置

rpm  -ql  包名

选项:

  -l  列表(list)

  -p   查询未安装包信息(package)

查询已安装包文件安装位置信息

 查询未安装包文件安装位置信息

 

常规安装位置

4、查询系统文件属于哪个RPM包

rpm  -qf  系统文件名

选项:

  -f   查询系统文件属于哪个软件包(file)

 

5、查询软件包的依赖性

rpm  -qR  包名

选项:

  -R  查询软件包的依赖性(requires)

  -p  查询未安装包信息(package)

注:查询依赖性可用性不高

五、RPM包校验

1、RPM包校验

rpm  -V  已安装包的包名

选项:

  -V   校验指定rpm包中的文件(verify)

验证内容中的8个信息的具体内容如下:

  s   文件大小是否改变

  M    文件的类型或文件的权限(rwx)是否被改变

  5  文件MD5校验和是否改变(可以看成文件内容是否改变)

  D  设备的主从代码是否改变

  L  文件路径是否改变

  U  文件属性(所有者)是否改变

  G  文件属组是否改变

  T  文件的修改时间是否改变

我往 httpd 配置文件 /etc/httpd/conf/httpd.conf 加了一行注释,发现校验错误。

文件类型:

  c  配置文件(config file)

  d  普通文档(documentation)

  g  “鬼” 文件(ghost file),很少见,就是该文件不应该被这个RPM包包含

  L  授权文件(license file)

  r  描述文件(read me)

2、RPM包中文件提取

rpm2cpio  包全名  |  cpio  -idv  .文件绝对路径

  -rpm2cpio

  # 将rpm包转换为cpio格式的命令

  -cpio

  # 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

[root@bogon ~]# cpio  选项  <  [文件|设备]

选项:

  -i :copy-in 模式,还原

  -d:还原时自动新建目录

  -v:显示还原过程

 

posted on 2018-11-13 11:24  吹静静  阅读(33937)  评论(0编辑  收藏  举报