跳转至

CentOS下的软件包管理

包管理软件介绍

centos使用rpm及yum作为包管理软件

rpm简单介绍

RPM最初是由RedHat公司开发的一种软件包管理工具,最初它的全称是Redhat Package Manager,现在包括SUSE在内的很多linux发行版都使用这种软件管理工具,使得rpm成为linux的软件包管理标准,所以现在它的全称为Rpm Package Manager. rpm包的管理器包括软件的打包,查询,校验,安装,升级,卸载,数据库管理等功能。

rpm命令

常用命令:

rpm -q          #查询某个软件包,一般与别的选项组合使用
rpm -qa         #查询系统上已安装的所有的软件包
rpm -qf         #查询系统中的某个文件是由哪个软件包所生成
rpm -qd         #查询一个软件包安装后在系统生成的帮助文件
rpm -ql         #查询一个软件包安装后在系统生成文件的列表
rpm -qc         #查询一个软件包的配置文件
rpm -qpl        #查询一个未安装软件包安装后会在系统生成的文件列表
rpm -qi         #查询一个软件包的发行信息
rpm -v          #显示一个软件包安装,升级,卸载的过程            
rpm -K          #校验一个软件包的私钥是否正确
rpm -U          #升级软件包
rpm -f          #强制安装,升级或卸载某软件
rpm -e          #卸载软件包

其他用法

rpm --replacepkgs       #重新安装某个软件包
rpm --initdb            #初始化系统的rpm数据库
rpm --rebuilddb         #重建系统的rpm数据库
rpm --import            #向系统导入软件包的公钥
rpm --test              #测试一个软件包是否能够安装在系统上,不真正安装
rpm --nodeps            #安装软件包,不解决依赖关系
rpm --force             #强制安装,升级或卸载,等同于rpm -f
rpm --scripts           #查看一个软件包内的脚本
rpm --nodigest          #不检查软件包的完整性
rpm --nosignature       #不检查软件包来源的合法性

yum 简单介绍

Yum ,全称为:Yellow dog Updater, Modified,是一个基于RPM 包管理的字符前端软件包管理器,它基于C/S架构,能够从配置好的yum仓库自动下载 RPM 包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 yum的仓库由各共享的rpm包及由包之间的依赖关系的文件列表等元数据文件组成。 yum的客户端由yum配置文件,缓存元数据组成。

源配置文件

yum源配置文件位于/etc/yum.repo.d/目录下,所有源配置文件的文件扩展名均为.repo 可自由在此文件夹下添加源。常见配置文件内容:

[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
解析:
[base]是这个yum源的名字
name=....                相当于是这个yum源的注释信息
baseurl=.....            指定对应yum仓库的访问方式,可以使用以下四种方式:
    ftp                    ftp://server/path/to/repo
    http                http://server/path/to/repo
    nfs                    nfs://server/path/to/repo
    本地光盘yum源        file:///path/to/repo
gpgckeck=1              校验软件包
gpgkey=...              指定公钥的位置

常用命令

yum repolist {all|enabled|disabled}         #列出所有/已启用/已禁用的yum源
yum list {all|installed|avaliable}          #列出所有/已安装/可安装的软件包
yum info package                            #显示某一个软件包的信息
yum install package                         #安装软件包
yum reinstall package                       #重新安装软件包
yum remove|earse package                    #卸载软件包
yum whatprovides|provides files             #查询某个文件是哪个软件包生成的
yum grouplist {all|installed|avaliable}     #列出所有/已安装/可安装的软件包组
yum groupinfo                               #显示某个软件包组的信息
yum groupinstall                            #安装某个软件包组
yum groupremove                             #删除某个软件包组
yum history                                 #查看yum使用的历史
yum clean {all|packages|metadata}           #清除所有/软件包/元数据
yum makecache                               #生成yum元数据 
yum --nogpgcheck                            #不校验公钥文件
yum -y                                      #自动进行操作