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 ;