RPM
RPM通过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,来及那话开源软件的安装管理
RPM的设计目标如下:
- 使用简单
- 使用单一软件包格式文件发布(.rpm文件)
- 可升级
- 追踪软件依赖关系
- 基本信息查询
- 软件验证功能
- 支持多平台
RPM软件包常用命令规范
linuxcast-1.2.0-30.el6.i686.rpm 程序名.版本号.系统.平台
*RPM基础命令
* rpm -i software.rpm 安装软件
* rpm -e software 卸载软件
* rpm -U software-new.rpm 升级形式安装
* rpm -ivh http://www.linuxcast.net/software.rpm 通过http、ftp协议安装软件
* 可加入以下参数
* -v 显示相关信息
* -h 显示进度条
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.rpm
YUM软件管理
YUM
YUM是RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问题,特点如下:
- 自动解决依赖关系
- 可以对rpm进行分组,并基于组进行安装操作
- 引入仓库概念,支持多个仓库
- 配置简单
YUM引入了仓库的概念,仓库用来存放所有现有的rpm软件包,当使用yum安装一个yum软件的时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装
- 仓库可以是本地的,也可以通过http,ftp或nfs形式使用集中的、统一的网络仓库
YUM仓库
- yum使用仓库保存管理rpm软件包,仓库的配置文件保存在/etc/yum.repos.d/目录下,格式如下:
[epel]
name=Extra Packages for Enterprise Linux 5 - $basearch
baseurl=http://mirrors.aliyun.com/epel/5/$basearch
http://mirrors.aliyuncs.com/epel/5/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5
- 仓库可以使用file,http,ftp,nfs方式
- yum配置文件必须以.repo结尾
- 一个配置文件内可以保存多个仓库的配置信息
- /etc/yum.repos.d/目录下可存在多个配置文件
YUM基本命令
- yum install software-name 安装指定软件
- yum remove software-name 卸载指定软件
- yum update software-name 升级指定软件
YUM查询
- yum search keyword 搜索
- yum list (all|install|recent|updates) 列出全部的、安装的、最近的、软件更新
- yum info packagename 显示指定软件的信息
- yum whatprovides filename 查询哪个rpm软件包含目标文件
创建YUM仓库
- 将所有rpm文件拷贝到一个文件当中
- 通过rpm命令手工安装createrepo软件
运行命令 createrepo -v /rpm-directory
创建好之后可以通过file方式直接使用,如果需要作为对外的yum仓库服务器,可通过HTTP,FTP或NFS协议共享出去
YUM CACHE
- yum为提高速度会通过很多缓存信息,但有时候缓存会造成一些故障,可通过以下命令清除缓存
- yum clear all
- 每次运行安装或查询类命令会重建yum缓存