源代码形式
·绝大多数开源软件都是直接以源代码形式发布的
·源代码一般会被打包成tar.gz的归档压缩文件
·程序源代码需要编译成为二进制形式之后才能够运行使用
·源代码基本编译流程:
- ./configure 检查编译环境,相关库文件以及配置参数并产生成makefile
- make 对源代码进行编译,生成可执行文件
- make install 将生成的可执行文件安装到当前计算机中
·源代码形式的软件使用起来较为麻烦,但是兼容性及可控性较好
·开源软件一般都会大量使用其他开源软件的功能,所以开源软件会有大量的依赖关系(使用某软件需要先安装其他软件)
RPM
·源代码形式的缺点:操作复杂,编译时间较长,极容易出现错误
·源代码形式的优点:适用所有系统,可定制
·为了方便实用,Erik Troan和Marc Ewing开发了RPM(redhat Package Manager)
·RPM通过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理
·RPM设计目标如下:
- 使用简单
- 使用单一软件包格式文件发布(.rpm)
- 可升级
- 追踪软件依赖关系
- 基本信息查询
- 软件验证功能
- 支持多平台
软件包常用命令规范:
- linuxcast-1.2.0-30.ei6.i686.rpm
RPM基础命令:
- 安装软件:rpm -i software.rpm
- 卸载软件:rpm -e software
- 升级形式安装:rpm -U software-new.rpm
- rpm支持通过http,ftp协议安装软件:
rpm -ivh http://linuxcast.net/software.rpm
可以加入以下参数: - -v 显示相信信息
- -h 显示进度条
RPM查询
RPM会保存软件相关的很多信息,可通过以下命令查询:
- rpm -qa 列出所有安装的rpm软件
- rpm -qf filename 查询目标文件属于哪个rpm包
- rpm -qi packagename 查询指定已安装rpm软件的信息
- rpm -ql packagename 查询指定已安装rpm软件包含的文件
- rpm -qip software.rpm 查询rpm文件的信息
- rpm -qlp software.rpm 查询rpm文件包含的文件
RPM验证
- 软件在传播的过程中可能会被恶意的修改,所以为了安全起见现代系统都加入了对软件的验证功能
- 验证一般使用非对称加密算法,所以需要一个密钥
- 导入密钥
rpm --import RPM-GPG-KEY-CENTOS-6
- 验证rpm文件:
rpm -K software.rpm
- 验证已安装的软件:
rpm -V software