说RPM软件包管理前,先说一下源代码形式的管理
源代码形式的管理有以下几个特点:
1.绝大多数开源软件都是以源代码的形式公布
2.源代码一般会打包成tar.gz的归档压缩文件
3.源代码被编译成二进制后才可以运行
源代码的编译流程
1- ./configure 检查相关配置环境和相关库文件以及配置参数形成makefile
2- make 对源代码进行编译,形成二进制文件
3- make install 将生成的二进制文件装入计算机中去
源代码形式管理比较麻烦,但是可控性比较好
由于开源软件的不重复开发轮子的特点,所以软件之间的依赖关系使得安装软件时候比较麻烦
缺点:操作复杂,对于较麻烦的软件编译时间长, 极容易出现错误
优点:很容易控制, 适应性强
所以为了简化安装软件时候的操作, 出现了RPM (redhat Packet Manager...出现了红帽的身影)
RPM通过将源代码基于特定的平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理
每一个平台都有一个特定的rpm文件, RPM不能解决一个rpm文件跨平台的问题,所以如果要下载rpm包时候,一定要看清它适用于什么平台
RPM的命名规范
软件名-版本号.适用的系统.rpm
RPM的基础命令
rpm -i software.rpm 安装软件
rpm -e software 卸载软件
rpm -U software-new.rpm 升级软件(这是在网上又下载的rpm更新软件包, 不想卸载原来的, 直接升级,就是这个命令)
RPM同时也支持http、ftp形式的下载安装
rpm -i http://hehe.com/hehe.rpm
rpm 命令可以加入以下参数
-v 显示相应的信息
-h 显示进度条
RPM查询
rpm -qa 列出本机所有的安装的rpm软件(q应该就是查询的意思)
rpm -qi softwarename 可以查看软件的信息(i information)
rpm -qf directory 可以查看一个路径是由哪个软件安装的(file)
rpm -qip softwarename.rpm 查询一个未安装软件的信息(package)
rpm -ql softwarename 查询一个已安装软件所包含的文件(list)
RPM同时也有它的不方便之处, 不重复开发轮子的开源开发的理念使得安装某个开源软件时候,总是需要手动的解决软件之间的依赖关系, 很多软件安装之前必须提前安装一个或者几个其他软件, 手工解决非常麻烦, 可以使用YUM来解决这个困难(相关博文请看关于YUM软件管理)。
that's all !