管理方式
1) 源代码
2) RPM
3) YUM
源代码形式
绝大多数开源软件都是直接以 源代码形式发布
源代码一般会被打包成 "tar.gz" 的归档压缩文件
程序源代码 需要编译成二进制形式后才能够运行使用
编译流程
1) ./configure 检查编译环境、相关库文件、配置参数, 生成makefile
2) make 对源代码进行编译, 生成可执行文件
3) make install 将生成的可执行文件安装到 当前计算机中
特点
源代码形式的软件安装过程麻烦, 但兼容性及可控性较好
开源软件一般都会使用大量其他开源软件的功能, 因此存在大量依赖关系
优点
使用所系统、可定制
缺点
操作复杂、编译时间较长、极容易出现错误
RPM
Redhat Package Manager, 由Erik Troan和Marc Ewing开发而来.
RPM通过将源代码 基于 特定平台系统 编译成 可执行文件, 并保存依赖关系,
来简化开源软件的安装过程
RPM设计目标
使用简单
使用单一软件包格式文件发布(.rpm文件)
可升级
追踪软件依赖关系
基本信息查询
软件验证功能
支持多平台
命名规范
softname-version.os.platform.rpm
如: easy2login-1.2.0-30.el6.i686.rpm
软件名 : easy2login
版本号 : 1.2.0-30
系统 : Enterprise Linux 6
平台 : i686
基本命令
安装软件 : rpm -i softname.rpm
卸载软件 : rpm -e softname
注: 没有后缀名
升级形式安装 : rpm -U software-new.rpm
支持通过 HTTP 和 FTP协议安装
rpm -ivh http://www.foo.org/software.rpm
rpm -ivh
options
-v : verbose, 显示相关信息
-h : 显示进度条
查询
RMP会保存软件相关的很多信息
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文件包含的文件
验证
软件在传播的过程中可能会被恶意的修改,
现在的OS都加入了对软件的验证功能
验证一般使用非对称加密算法, 需要密钥
导入密钥
rpm --import RPM-GPG-KEY-CentOS-6
验证RPM文件
rpm -K software.rpm
验证已安装的软件
rpm -V software