一、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:显示还原过程

最新文章

  1. python 入门笔记
  2. http status 301/302 &amp; java重定向/转发
  3. 知识联结梳理 : I/O多路复用、EPOLL(SELECT/POLL)、NIO、Event-driven、Reactor模式
  4. Mac 系统下类似于 apt-get 的软件包管理器 -- Homebrew
  5. 1.2G内存试玩RAMOS_XP
  6. C#中的static、readonly与const的比较
  7. 06文件与IO
  8. OperateParticleWithCodes
  9. Redis的快照功能
  10. poj 1157 LITTLE SHOP_简单dp
  11. Cppcheck软件使用
  12. canvas图表详解系列(5):雷达(面积)图
  13. Eralng的常用数据结构
  14. 线程ava.lang.OutOfMemoryError: unable to create new native thread
  15. max (Largest elements in array)
  16. 牛客网测试题--小a和黄金街道
  17. 四、Sql Server 基础培训《进度4-插入数据(实际操作)》
  18. 三、TortoiseGit之配置密钥
  19. 在linux虚拟机上安装Docker
  20. UVa 10561 Treblecross (SG函数)

热门文章

  1. Guarding the Chessboard(UVa 11214)
  2. 斐波那契 - pythoon实现
  3. c++——最大子列和
  4. NodeServices
  5. lucene随笔 IKAnalyzer StandardAnalyzer
  6. 计算x
  7. mysql对后空格不敏感 mysql数据库对空格的查询处理
  8. 下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。
  9. xencenter如何安装Centos7虚拟机系统
  10. 原生js实现ajax用于简单的签到或登录