Linux网络服务 四:yum仓库的搭建和管理

1.yum仓库概述

1.1yum仓库简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。

1.2yum的实现过程

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

1.yum仓库的安装原理

在这里插入图片描述

  • 客户端根据自己配置文件找到yum仓库服务器位置
  • 服务端向客户端发送元数据包(包含软件依赖关系、和软件位置) //相当于软件安装目录
  • 客户端下载后,在元数据包中查找目标,发送请求
  • 服务器响应并将相关软件包和依赖关系发送给客户端,客户端下载安装

2.yum配置文件及命令

2.1yum 配置文件

2.1.1主配置文件
/etc/yum.conf

在这里插入图片描述

[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0                                  //是否保存缓存  0代表不保存,1代表保存
debuglevel=2                                 //调试级别了解即可
logfile=/var/log/yum.log					 // 日志文件位置
exactarch=1								     //是否允许不同版本的rpm安装
obsoletes=1									//update 的一个参数是否可以允许旧版本的运行	
gpgcheck=1                                  //验证秘钥
plugins=1                                   //是否允许插件1代表可以
installonly_limit=5                         //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?
project_id=23&ref=http://bugs.centos.org/bug_report_page.php?
category=yum
distroverpkg=centos-release

yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
2.1.2仓库设置文件
/etc/yum.repos.d/*.repo/

在这里插入图片描述

2.1.3日志文件
/var/log/yum.log

在这里插入图片描述

2.2yum命令

2.2.1命令简述
命令不加关键字加入关键词、软件包、软件包组
yum list显示所有可用包单个的可安装包
yum info显示所有可用包的信息单个具体的信息
yum search\模糊查找所有的相关信息
yum provides\精确查找
yum grouplist显示所有可用包组显示具体的包组
yum groupinfo显示所有的包组具体信息显示具体的包组的具体信息
yum install\安装具体软件包
yum groupinstall\安装具体软件包组
yum update所有软件升级具体软件升级
命令不加关键字加入关键词、软件包、软件包组
yum group update所有包组升级具体包组升级
yum remove\卸载具体软件
yum groupremove\卸载具体包组软件
yum history查看当前yum操作历史\
yum history undo加入序号卸载序号里安装的软件\
yum history redo加入序号重新执行序号里的操作\
2.2.2命令示例
2.2.2.1查询命令
yum list [软件名]
显示该软件可以软件包

在这里插入图片描述

yum info [软件名]
显示该软件包的详细信息


##不加软件名显示所有包的详细信息

在这里插入图片描述

yum search <关键词>
根据关键词来查找软件包,相当于你只知道这个包里的某个关键字会全部给你匹配出来

在这里插入图片描述

yum provides <关键词>
知道命令但不知道具体的包可以用这个寻找

在这里插入图片描述

yum grouplist [包组名]
安装包组的查询 

###不加包组名 就是显示所有

在这里插入图片描述

yum groupinfo <包组名>
显示所有的包组具体信息

不加组名显示全部

在这里插入图片描述

2.2.2.2 升级和安装命令
yum install [软件名] -y
直接安装软件包

#-y 直接安装 不加则会多出一大堆的步骤

在这里插入图片描述

yum groupinstall <包组名> -y
包组安装同yum install
yum update
更新包组 

可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新
yum groupupdate
组包更新和单个安装包更新差不多

例子中没有更新的包组所以无法安装。

在这里插入图片描述

2.2.2.3软件卸载
yum remove <软件名>
卸载已安装软件 必须加软件名

在这里插入图片描述

yum groupremove <包组名>
同软件卸载

yum history
查看历史的使用记录

在这里插入图片描述

yum history redo 4 (重新安装一遍)

yum history undo 6 (反悔卸载等于重新安装一遍)

3.搭建yum仓库的方式

在外网环境

1.搭建阿里云仓库

1.切换到yum.repos.d目录将系统自带的仓库移走

cd /etc/yum.repos.d #切换到yum.repos.d目录
mkdir bak           #创建空目录
mv *.repo bak       #将系统自带的仓库移动到新建目录中

在这里插入图片描述
2.创建阿里云仓库(也可以再加一些其他的仓库)

vim aliyun.repo

[ali]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/                  //开启哪个都可以正常使用,这边主要解释变量的作用
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/    //变量参见主配置文件2.1小节
gpgcheck=0

[epel]                                                                //epel源仓库
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=0

[update]                                                             //更新包仓库
name=update
baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=0

在这里插入图片描述

yum clean all
#清除安装包缓存
yum makecache
#创建元数据

在这里插入图片描述

在内网连接不上外网的环境

1.自建yum仓库
mount /dev/sr0/ mnt
#将光驱挂载到/mnt目录下
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
#将系统自带的yum仓库移进自建目录

在这里插入图片描述

vim scj.repo

在这里插入图片描述

yum clean all
#清理缓存

yum makecache
#创建元数据

在这里插入图片描述

2.以http方式搭建yum仓库

服务端:192.168.67.100
客户端:192.168.67.101

1.服务端配置

yum  install   httpd -y          #下载软件
mount  /dev/sr0   /var/www/html  #挂载
systemctl start httpd            #开启软件服务

在这里插入图片描述
2.客户端配置

cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim httpd.repo

[httpd]
name=http
baseurl=http://192.168.91.100
gpgcheck=0

在这里插入图片描述
2.2测试是否成功

yum clean all
yum makecache

在这里插入图片描述
成功

3.以ftp的方式搭建yum仓库

服务端:192.168.67.100
客户端:192.168.67.101

1.服务端配置

yum install vsftpd.x86_64 -y
#安装vsftpd服务
systemctl start vsftpd
#启动服务
mkdir /var/ftp/centos7
#新建目录
mount /dev/sr0/ /var/ftp/centos7
#挂载

在这里插入图片描述
2.客户端配置

yum install vsftpd.x86_64 -y
#安装vsftpd服务
systemctl start vsftpd
#启动服务
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim ftp.repo

[ftp]
name=ftp
baseurl=ftp://192.168.91.100/centos7
gpgcheck=0

在这里插入图片描述
2.1验证是否成功
在这里插入图片描述
成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值