linux网络服务-部署yum仓库

463 阅读5分钟

yum概述

yum(Yellow dog Updater, Modified)是一个基于RPM包(Red-Hat Package Manager)构建的软件更新机制,它的有点就是可以自动解决软件包之间的依赖关系

注意yum安装一定要有安装包和元数据(repodata)

1.yum 的实现过程

软件仓库的提供方式(三种)

  • 1.本地yum源(file:///mnt)
  • 2.http yum源(http:///192.168.140.111/centos7)
  • 3.ftp yum源(ftp:///192.168.140.111/centos7)

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

yum实现安装,依赖于环境,依赖于服务端和客户端,允许跨网络(当本身既是服务端也是客户端时,建立本地yum仓库)

1.1 yum仓库类型:

  • 光盘的仓库基本仓库
  • epel扩展仓库

1.2 yum(工作原理)如何实现安装图文

1.png

  1. 客户端根据配置文件找到yum仓库服务器的位置
  2. 服务端向客户端发送元数据包(包含 软件依赖关系 软件的位置,即软件安装目录 )
  3. 客户端下载后,在元数据包中的查找到目标,发送请求
  4. 服务器响应并将相关软件包和依赖关系发送给客户端,客户端下载安装

2. yum的配置文件

仓库服务器 (服务端):

提供RPM安装包和元数据给客户端

  • RPM安装包(存放于Packages文件夹内)
  • 元数据 (repodata目录)

元数据内存有(repodata文件夹,即软件的目录),软件的依赖关系和软件的位置

客户端 :

根据得到的配置文件信息去仓库找对应的包并下载到本地

客户端的配置文件中,baseurl= 后面的地址 一定要写到到 这两个文件夹 repodata packages上级目录

(且一定要有配置文件 *.repo,配置文件必须以.repo 结尾

客户端默认配置一般存放在文件目录 /etc/yum.repo.d/下)

最终形成的两个文件夹:

  • Packages (包文件夹一般取名packages)
  • repodata(元数据文件夹)

主配置文件一般格式:

[xxxx]                       #仓库的描述  自定义
name = xxxx                  #仓库的名字  自定义
baseurl= file:///目录         #目录就是软件包所在的位置,最后一个/是根目录,例如配置信息存放在/mnt下,就是file:///mnt   
#baseurl 指明服务端的位置
#http://+网页路径
#ftp://+本地文件路径
gpgcheck=0                  #关闭完整性 安全性校验    
#gpgcheck=1 就是进行安全效验

2.1日志文件

存放于/var/log/yum.log中

2.png

4.常用的yum命令及作用

命令不加关键字加入关键词、软件包、软件包组
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加入序号重新执行序号里的操作\

安装

4.1 yum install 安装下载

格式:yum install 软件名

选项:

-y:全部同意(不加-y选项,安装好软件的时候会一直有询问是否同意)

3.png

查询

4.2 yum list 显示可用的安装包

4.png

4.3 yum info 显示指定安装包详细信息

格式:yum info 软件名

不论是不是已经安装,都可以查询显示

5.png

4.4 yum search 根据关键词查找软件安装包

格式:yum search 关键词

7.png

4.5 yum provides 根据命令名查找对应的软件包

格式:yum provides 命令

8.png

4.6 yum grouplist 查询安装包组

格式:yum grouplist 包组名

9.png

4.7 yum groupinfo 查询安装包组的详细信息

格式:yum groupinfo 包组名

以最小化安装包组Minimal Install示例:

10.png

4.8 yum history 查看历史的使用记录

格式:yum history

11.png

卸载

4.9 yum remove 卸载软件

格式:yum remove 软件名

12.png

4.10 yum history undo 通过历史记录命令卸载

对比yum remove卸载,使用yum history undo进行卸载可以将所有的依赖关系都删除

格式:yum history undo id号

id号可以通过yum history查看

13.png

14.png

15.png

16.png

如果卸载完发现卸载错了或者后悔了,可以通过

yum history redo id号重新安装

17.png

特殊

4.11 只下载不安装

当内网的一台主机安装某个软件包却缺少依赖包时,可以先由一台可连接外网的服务器下载依赖包,之后共享给这台主机

yum install --downloadonly +软件名称 
# --downloaddir 是只下载不安装时指定rpm包存放路径

5.搭建本地yum仓库

之前博客中有简单介绍yum本地仓库的搭建

以下是全程图文示例

yum1.png

yum2.png

yum3.png

yum4.png

6.使用HTTP方式搭建yum仓库

服务端IP地址:192.168.1.10

客户端IP地址:192.168.1.100

服务端:

本1.png

http1.png

http2.png

客户端:

本1.png

http3.png

http4.png

http5.png

http6.png

7. 使用FTP方式搭建yum仓库

服务器ip地址:192.168.1.10

客户端ip地址:192.168.1.100

服务端:

本1.png

ftp1.png

ftp2.png

客户端:

ftp3.png

ftp4.png

ftp5.png

ftp6.png

ftp7.png

ftp8.png