Centos 下安装软件的方法--rpm简介

centos的软件安装大致可以分为两种类型:

  rpm文件安装,使用rpm指令  类似[ubuntu]deb文件安装,使用dpkg指令

  yum安装   类似[ubuntu]apt-get安装

rpm安装命令的介绍:

  (一)查询系统已经安装的软件信息

  对于一个rpm包来说,都是有"-"和"."构成的,基本上有以下几部分组成: * 包名 * 版本信息 * 发布版本号 * 运行平台,当出现noarch,代表的是软件可以平台兼容

  1)查询系统中已经安装的软件

  rpm -qa

   2)查询一个已经安装的文件属于哪个软件包;

  rpm -qf  filename

  3)查询已安装软件包都安装到何处;

  rpm -ql 软件名

  4)查询一个已安装软件包的信息

  rpm -qi 软件名

  5)查看一下已安装软件的配置文件;

  rpm -qc 

  6)查看一个已经安装软件的文档安装位置:

  rpm -qd 

  7)查看一下已安装软件所依赖的软件包及文件;

  rpm -qR 

(二)软件包的安装、升级、删除等

  1)安装或者升级一个rpm包  

     rpm -ivh rpm文件【安装】

       rpm -Uvh rpm文件【更新】

  2)删除一个rpm 包

  rpm -e               (不管依赖问题,强制删除软件,在命令其后加上 --nodeps)

  

(三)对于未安装的软件包信息查询

  1)查看一个软件包的用途、版本等信息;

    rpm -qpi 

  2)查看一件软件包所包含的文件;

  rpm -qpl 

  3)查看软件包的文档所在的位置;

  rpm -qpd 

  4)查看一个软件包的配置文件;

  rpm -qpc

  5)查看一个软件包的依赖关系

  rpm -qpR 

(四)签名导入

   rpm --import 签名文件 rpm --import RPM-GPG-KEY

rpm软件包管理的介绍:

  RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用; RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所 需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件; 一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有 的,Windows操作系统中也是同样存在的;Linux和Windows原理是差不多的。

  不是所有的软件包都能通过rpm 命令来安装,文件以.rpm 后缀结尾的才行。

  初始化rpm 数据库;

  通过rpm 命令查询一个rpm 包是否安装了,也是通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库;

   rpm --initdb 

   rpm --rebuilddb  

     注:这个要花好长时间;这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题;

  如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装;

  语法结构:rpm -ivh file.rpm --nodeps --force

   --replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要; 测试安装参数 --test ,用来检查依赖关系;并不是真正的安装;

  由新版本降级为旧版本,要加 --oldpackage 参数;

  rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm

  为软件包指定安装目录:要加 -relocate 参数;

  rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm

  我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用 ln -s ;
原文地址:https://www.cnblogs.com/rency/p/5849089.html