由于linux入门基础是基于CentOS解说的,讲的是CentOS上的软件包管理。ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理。
linux软件管理:RPM软件包管理
源码形式
绝大多数开源软件都是直接以源码形式公布源码通常会被打包成tar.gz的归档压缩文件
程序源码须要手动编译成二进制形式之后才可以执行使用
源码基本编译流程:
1 ./configure 检查编译环境、相关库文件以及配置參数并生成makefile
2 make 对源码进行编译,生成可运行文件
3 make install 将生成的可运行文件安装到当前计算机中
源码形式的软件使用起来较为麻烦,可是兼容性以及可控制性较好
开源软件一般都会大量使用其它开源软件的功能,所以开源软件会有大量的依赖关系(使用某软件须要先安装其它软件)
RPM
源码形式的缺点:操作复杂、编译时间较长、极easy出现错误源码形式的长处:适用全部系统、可定制
为了方便使用,Eric Troan开发了RPM(reahat Package Manager)
RPM通过将源码基于特定平台系统编译为可运行文件,并保存依赖关系、来简化开源软件的安装管理。
RPM设计目标例如以下:
使用简单
使用单一软件包格式文件公布(.rpm文件)
可升级
追踪软件依赖关系
基本信息查询
软件验证功能
支持多平台
RPM
RPM软件包经常使用命名规范softname-version Number-软件平台.rpm
RPM基础命令:
安装软件:rpm -i software.rpm
卸载软件:rpm -e software
升级形式安装:rpm -U software-new.rpm
RPM支持通过http、ftp协议安装软件:
rpm -ivh http://www.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-GPC-KEY-CentOS-6
验证rpm文件
rpm -K software.rpm
验证已安装的软件
rpm -V software.rpm