> 文章列表 > 部署YUM仓库

部署YUM仓库

部署YUM仓库

文章目录

  • 1. YUM仓库服务
    • 1.1 YUM概述
    • 1.1 准备安装源
  • 2.制作YUM源
    • 2.1制作ftp源
    • 2.2 国内在线yum源
    • 2.3 本地源与在线源同时使用
  • 3.yum软件包的下载方式
  • 4.yum的常用操作命令

1. YUM仓库服务

1.1 YUM概述

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系=,解决了日常工作中的大量查找安装依赖包的时间。

在这里插入图片描述
先在yum服务器上创建yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件=(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包以及依赖关系,自动从仓库中找到相关包下载并安装。yum需要依赖环境,依赖于服务端和客户端,允许跨网路。
在这里插入图片描述

在这里插入图片描述

1.1 准备安装源

(1)软件仓库的提供方式

在这里插入图片描述

YUM软件仓库类型

仓库类型 安装路径
本地源 baseurl=file://…
ftp源 baseurl=ftp://…
在线源 baseurl=http://… baseurl=https://…

(2)RPM软件包的来源

CentOS发布的RPM包集合

第三方组织发布的RPM包集合

用户自定义的RPM包集合

(3)构建CentOS 7软件仓库

在这里插入图片描述
(4)在软件仓库中加入非官方RPM包组

在这里插入图片描述

创建软件包依赖关系索引表

createrepo -g 软件包目录 依赖关系索引表文件的所在目录
-g:指定依赖关系索引表文件的所在目录

索引表或者叫YUM仓库的依赖关系表repodata,是根据createrepo命令由系统自动生成的,里面存有各种软件包之间的相互依赖关系;

(5)本地YUM仓库

在这里插入图片描述

(6) 访问YUM仓库
在这里插入图片描述
在这里插入图片描述

2.制作YUM源

2.1制作ftp源

(1)开启vsftp服务,关闭防火墙;

systemctl start vsftpd
systemctl enable vsftpd
systemctl stop firewalld
setenforce 0

(2)将光盘镜像文件挂载到FTP共享目录中

在这里插入图片描述

(3)配置ftp的yum源

在这里插入图片描述

vim /etc/yum.repo.d/ftp.repo #创建FTP源文件
[ftp]
name=ftp  
baseurl=ftp://192.168.243.99/ftpyum  #光盘挂载目录
enable=1  #开启仓库,默认为开启
gpgcheck=1  #开启数字签名,0为不开启
gpgkey=ftp://192.168.243.99/ftpyum/RPM-GPG-KEY-CentOS-7 #数字签名的路径
yum clean all && yum makecache #清除原有缓存,建立元数据缓存

在这里插入图片描述

(4)把FTP源发给其它主机即可通过FTP源下载软件包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 国内在线yum源

这里选择用阿里云的在线源[阿里在线源](https://mirrors.aliyun.com/repo/)

wget -O /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#从阿里云的镜像地址中下载安装阿里云的在线源

在这里插入图片描述
在这里插入图片描述
使用国内yum源替换掉国外的yum源;
在这里插入图片描述
查看将yum源修改为国内阿里云的镜像源;
在这里插入图片描述

2.3 本地源与在线源同时使用

(1)下载插件yum-plugin,用于标注yum源的优先级;

yum-plugin-priorities #是通过优级确认使用本地源还是在线源

(2)通过设置优先级来实现本地源于在线源同时使用,本地源由优先使用本地源下载,其次才是在线源;

yum -y install yum-plugin-priorities
下载yum服务的扩展包,下载完成后自动生效
配置文件:/etc/yum/pluginconf.d/priorities.conf
{ [main]enabled=1  #数字越小,优先级越大
}
enabled=1则为开启状态(默认),=0则为关闭状态

在这里插入图片描述
使用在线源的扩展包,下载在线源以及ftp源无法安装的软件包;
在这里插入图片描述

配置在线源和本地源共同使用的优先级;

在这里插入图片描述
配置使用yum源的优先级;
在这里插入图片描述

3.yum软件包的下载方式

(1)开启缓存下载

yum下载软件包虽然会自动下载依赖包以保证正常安装所需软件包,但是依赖包会在安装完后自动删除,可以修改配置文件:/etc/yum.conf让依赖包不会被自动删除,即可得到所有下载的软件包

在这里插入图片描述

vim /etc/yum.conf    #Linux下载完软件包会自动把软件包删除清除缓存,要建立索引表,我们就要留下缓存
{###可以指定下载的缓存目录cachedir=缓存目录###=1为开启缓存(即不删除缓存),=0为关闭缓存(下载完即删除)keepcache=1

在这里插入图片描述

查看指定路径中保存的安装包缓存文件;

在这里插入图片描述

查询符合指定条件的文件,并复制到指定目录中;

在这里插入图片描述
(2)通过yum命令选项进行下载

yum -y install 软件 --downloadonly --downloaddir=下载目录
--downloadonly:下载该软件时,仅下载软件包,不进行安装(默认自动安装)
--downloaddir=:指定软件包的下载目录

在这里插入图片描述
(3)通过yumdownloader命令进行下载

yumdownloader 软件 --destdir=下载目录 --resolve
--destdir=:指定软件包的下载目录
--resolve:自动解决依赖关系,连同依赖包一起下载

在这里插入图片描述

4.yum的常用操作命令

在这里插入图片描述
在这里插入图片描述

yum常用的操作命令:
###安装、升级软件包,"-y" 选项表示自动确认
yum -y install 软件名
###卸载软件包,可自动解决其依赖关系(只删除软件包,不删除其配置文件)
yum -y remove 软件名
###卸载软件包,可自动解决其依赖关系(删除软件包的同时删除其配置文件)
yum -y erase 软件名
###升级软件包
yum -y update 软件名
###查询软件包列表
yum list
###查询系统中已安装的软件包
yum list installed
###查询仓库中尚未安装的软件包
yum list available
###查询可以升级版本的软件包
yum list updates
###查询软件包的描述信息
yum info 软件名
###根据某个关键词来查找相关的软件包
yum search [all] 关键词
###查询命令属于哪个软件包
yum whatprovides 命令
###使用yum方式进行安装
yum install -y gcc gCC-C++ make