Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96701
  • 博文数量: 10
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 453
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-07 12:52
个人简介

热衷于系统架构、服务器、系统调优、linux运维

文章存档

2013年(10)

我的朋友

分类: 系统运维

2013-03-18 13:48:02



一、RPM的全名为“RedHat Package Manager”,是由RedHat公司开发的。Rpm是以一种数据库记录的方式将所需要的套件安装到linux主机的一套管理程序

RPM主要优点:

     ⑴、由于已经编译完成并且打包,所以安装方便

     ⑵、由于套件信息已经记录在linux主机的数据库中,方便查询、升级、卸载。

RPM数据库在/var/lib/rpm

RPM数据库的建立可以利用rpm --rebuilddb命令。

RPM包名格式:

     name-version-release.arch.rpm

 name-version-release-release.arch.rpm

 version:主版本号.此版本号.发行版本号.平台.rpm

 主版本号改变:重大改进

 次版本号改变:某个子功能发生重大变化

 发行号:修正了部分bug,调整了一点功能

二、Rpm命令的详细用法

⑴、RPM软件安装命令:

    rpm -i /PATH/TO/PACKAGE_FILE:安装软件包

rpm -h :以#显示安装进度,每个#表示2%

rpm -v :显示安装详细信息

rpm -vv :更详细的信息

rpm -ivh 一般都是组合使用

    

    rpm --nodeps:忽略依赖关系。

    rpm --replacepkgs|repackage:重新安装、替换原来安装。

    rpm -ivh --oldpackage:降级安装。

    rpm -ivh --force:强行安装,可以实现重装或降级

rpm --test:仅测试有没有依赖关系

⑵、 rpm软件查询命令:

     rpm -q PACKAGE_NAME:查询指定的包是否安装

             

 rpm -qa :查询以安装的所有包

 rpm -qi PACKAGE_NAME:查询指定包的说明信息

 

 rpm -ql PACKAGE_NAME:查询指定包安装后生成的文件列表

 

 rpm -qc PACKAGE_NAME:查询指定包安装的配置文件

 

 rpm -qd PACKAGE_NAME:查询指定包安装的帮助文件

             

 rpm -q --scripts PACKAGE_NAME:查询指定包中包含的脚本

 

 rpm -qf /path/to/somefile:查询指定的文件时由那个rpm包安装生成的

   如果某个rpm包尚未安装,我们需要查询其说明信息,安装后会生成的文件

     rpm -qpi /PATH/TO/PACKAGE_FILE

         i:软件说明信息

 rpm -qpl /PATH/TO/PACKAGE_FILE

         l:软件安装生成文件列表

 

 ⑶、rpm软件升级命令:

     rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,则安装

 rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,则退出

 rpm -Uvh --oldpackage 低版本的包:降级

 ⑷、rpm软件卸载命令:

     卸载的时候此包不能被其他软件包依赖

     rpm -e PACKAGE_NAME

 rpm --nodeps:忽略依赖,可能会造成其他依赖此包的软件无法正常运行。

 ⑸、rpm软件校验命令:

     rpm -V PACKAGE_NAME:无输出信息就是正常。

             Fh:在zsh安装以后修改一下配置文件

              

 ⑹、rpm重建数据库:

     数据库位置:/var/lib/rpm

 rpm --rebuilddb:重建数据库,一定会重新建立。

 rpm --initdb:初始化数据库,没有才建立,有就不用建立。

 ⑺、检验来源合法性及软件完整性:

 红帽公钥:ls /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

   rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入秘钥文件  

   rpm -K /PATH/TO/PACKAGE_FILE

   dsa,gpg:验证来源合法性,也即验证签名;可以使用--nosignature,略过此项

   sha1,md5:验证软件包完整性;可以使用--nodigest,略过此项

   rpm -K --nodigest /PACKAGE_NAME:只验证签名。

      Fg:检验zsh文件包的完整性

    

阅读(2810) | 评论(0) | 转发(5) |
给主人留下些什么吧!~~