软件包管理之yum
yum命令是基于rpm的软件包管理,他可以交互和自动化的管理rpm包,还可以从指定的服务器上自动下载rpm包然后安装包,和rpm命令相比他可自动化的处理依耐性关系,并且一次性的安装所有依赖的软件包,不需要一次次的安装依赖包。
yum同样提供了 查找 安装 删除一个或一组软件包的命令。
一:yum的仓库
**首先需要知道yum的配置文件
1./etc/yum.conf:为所有仓库提供公共配置
2./etc/yum.repos.d/*.repo:为仓库的指向提供配置(一般我们需要在这个来创建和删除仓库)
仓库属性为
[name] 仓库id
name 仓库名字
baseurl: 为仓库的地址
gpgkey:公钥地址,若是需要检查完整性的话可以添加密钥地址
enable:是否开启当前仓库
gpgcheck:是否使用密钥验证
以上五个属性就可以建造一个yum仓库。仓库的创建一 .repo结尾。
** 在repo的配置文件中可用的变量
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386, x86_64
$YUM0-$YUM9:自定义变量
** yum仓库为yum提供的软件包的来源称为yum源,yum源可以来自多种文件服务器
- http://地址
- https://地址
- ftp://地址
- file:// 地址(本地文件)
- 注:这些yum源的是路径为repodata所在的目录,在各个repdata目录下收集这这个yum源的所有rpm包的头部信息。
** 例如 清华大学 https://mirror.tuna.tsinghua.edu.cn/centos/7.3.1611/os/x86_64/
yum源的即仓库的配置,仓库的地址baseurl为yum源的地址。
以下为一个在线的yum源例子
以上是yum的仓库,yum的仓库提供了yum的软件包,下面介绍yum的命令
二 yum命令
1. 安装功能
yum install package1 安装指定的包
yum groupinsall group1 安装程序组
2.更新和升级
yum upgrade package1 升级指定程序包
如果不存在旧版程序包,则“安装”
yum freshen package1 升级指定程序包
如果不存在旧版程序包,则不执行升级操作
yum check-update 检查可用的更新
3.查找和显示
yum info package 显示安装包package 的信息
yum list 显示所有已安装和可以安装的包
yum list package 显示安装包的消息
yum info 包名 查看指定包的详细信息
yum provides "*/rz" 搜索一个文件来自于哪个rpm包,可以是未安装的包
yum search 关键字 模糊搜索 软件包和描述
yum deplist php 列出指定包所依赖的所有包
4.卸载程序
yum remove package 卸载程序包
yum remove group1 卸载程序组group1
5.清除缓存
yum clean package 清除缓存目录下的软件包
yum clean all 清除所有的缓存包
yum makecache 重建缓存(如果没缓存,执行任意rpm命令是都会自动创建缓存)
附:通过网络下载包 ,不安装 方法:
yum reinstall bind --downloadonly --downloaddir=/app
首先需要
yum -downloadonly 软件 (可安装),
Downloaddir 为需要下载的目录
/app 为下载到的指定目录
之后 就可以通过本地目录使用yum安装软件。
扩展
yum安装的都是都是编译后的rpm包,如果想要安装一个源码包,过程如下
1:下载源码包 ,可以在各方官网下载
2:安装Development Tools (需要Development Tools软件组来完成安装)
3 ./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24
默认语法,安装目录/app/apache24 配置文件目录/etc/apache24
安装中会发现 需要附属软件 我们需要手动安装
利用echo $? 的返回值判断安装是否成功 (0表示成功)
4.make 进行编译
5. Make install 进行安装 。