1. RPM包命令原则
  • httpd-2.2.15-15.e16.centos.1.i686.rpm
    • httpd      软件包名

    • 2.2.15      软件版本

    • 15      软件发布次数

    • e16.centos      适合的liunx平台

    • i686      适合的硬件平台

    • rpm      rpm包的扩展名

    • 缺点:
      ① 安装步骤过多,较大软件安装时容易出现拼写错误
      ② 编译时间过长
      ③ 一旦报错,新手难以解决


  1. RPM包依赖性
    ① 树形依赖:a>b>c
    ② 环形依赖:a>b>c>d>a
    ③ 模块依赖:模块依赖查询网址:www.rpmfind.net

  2. RPM包安装过程:
    ① 挂载光盘:mout -t iso9660 /dev/sr0 /mnt/cdrom/ (因为所有的安装包都在光盘中)
    ② 进入安装包目录:cd /mnt/cdrom/packages
    ③ 安装命令:rpm -ivh mysql-connector-odbc-5.1.5r1144-7.e16.i686.rpm (安装mysql)


  1. RPM安装命令:
  • [root@localhost~]# rpm -选项[ ivh ] 包全名
    • 选项:
      -i (install) 安装

      -v (verbosel) 显示详细信息

      -h (hash) 安装

      –nodeps 不检测依赖性


  1. RPM升级命令:
  • [root@localhost~]# rpm -Uvh 包全名
    • 选项:
      -U (upgrade) 升级

  1. RPM卸载命令:
  • [root@localhost~]# rpm -e 包名
    • 选项:
      -e (erase) 卸载

      --nodeps 不检查依赖性 (a>b>c,安装先安c,卸载先卸载a)


  1. RPM查询是否安装:
  • [root@localhost~]# rpm -q 包名

    • 选项:
      -q (query) 查询
  • [root@localhost~]# rpm -qa 包名 (查询所有已经安装的rpm包)

    • 选项:
      -a (all) 所有

  1. RPM查询软件包详细信息:
  • [root@localhost~]# rpm -qi 包名
    • 选项:
      -i (information) 查询软件信息

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


  1. RPM查询包中文件安装位置:
  • [root@localhost~]# rpm -ql 包名
    • 选项:
      -l (list) 列表

      -p (package) 查询未安装包(默认安装位置)信息


  1. RPM查询系统文件属于哪个rpm包:
  • [root@localhost~]# rpm -qf 包名
    • 选项:
      -f (file) 查询系统文件属于哪个软件包

  1. RPM查询软件的依赖性:
  • [root@localhost~]# rpm -qR 包名
    • 选项:
      -R (requires) 查询软件包的依赖性

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


  1. RPM包检验:
  • [root@localhost~]# rpm -V 已安装的包名
                                            查询是否安装
    • 选项:
      -V (verify) 校验指定的rpm包中的文件


- 8个信息标识内容: | S | 文件大小是否改变 | |---|-------------------------------------------------| | M | 文件类型或权限(rwx)是否改变 | | 5 | 文件MD5校验是否改变(可以查看文件内容是否改变) | | D | 设备中的从代码是否改变 | | L | 文件路径是否改变 | | U | 文件的所有者是否改变 | | G | 文件的所有组是否改变 | | T | 文件的修改时间是否改变 |
  • 校验文件类型:
    c 配置文件 config file
    d 普通文档 documentation
    g “鬼”文件 ghost file
    l 授权文件 license file
    r 描述文件 read me

  1. RPM包中文件提取:
  • [root@localhost~]# rpm2cpio 包全名 | cpio -idv .文件绝对路径

  • [root@localhost~]# cpio 选项 [ * ] [文件或设备] (*为选项内容)

    • 选项:
      • -i copy-in模式 ,列表
      • -d 还原时自动新建目录
      • -v 显示还原过程
  • 案例:

    • [root@localhost~]# rpm -qf /bin/ls 查询ls命令属于哪个软件包

    • [root@localhost~]# mv /bin/ls /tmp 造成ls被误删的假象

    • [root@localhost~]# rpm2cpio /mnt/cdrom/packages/coreutils-8.4-19.e16.i686.rpm | cpio -idv ./bin/
      #提取 rpm 包中的 ls 命令到当前目录的 bin/ls 下

    • [root@localhost~]# cp /root/bin/ls /bin/

    #把 ls 命令复制到 /bin/ 目录,修复丢失文件