部署yum仓库及NFS共享服务

  • 一、yum仓库服务
  • yum概述
  • 源种类:
  • 二、安装源
  • 安装ftp源
  • 安装在线源
  • 本地源和在线源同时使用
  • 将软件包变成Yum源
  • 三、NFS共享存储服务
  • NFS架构
  • NFS原理
  • 四、NFS实操


一、yum仓库服务

yum概述

  • 基于RPM包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中的yum的软件仓库提供

源种类:

软件仓库的提供方式有:

  • FTP://挂载目录
  • HTTP服务:http://挂载目录
  • 本地目录:file://挂载目录

PRM软件包的来源:

  • centos发布的RPM包集合
  • 第三方组织发布的RPM包集合
  • 用户自定义的RPM包集合

二、安装源

安装ftp源

  • 安装xsftpd软件包(yum或者rpm -ivh都可以)
  • 开启服务
  • 进入ftp默认的匿名地址创建文件(cd /var/ftp)
  • 将光盘挂载到目录
  • 指定FTPyum源
  • 切换到Yum源配置文件目录(/etc/yum.repos.d)
  • 创建ftp配置文件(vim ftp.repo)
  • 剩下的步骤于yum本地源配置一样

安装在线源

可以使用官方默认的,不需要安装,联网即可使用,也可以使用其他的在线源

  • 以阿里云为例
    网址:https://mirrors.aliyun.com/repo/
    可以下载然后拖进虚拟机也可以直接复制连接

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_配置文件


不安装阿里云的话会使用默认官方的,安装了阿里云可以替换官方的,使用mv覆盖即可

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_配置文件_02


AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_运维_03

本地源和在线源同时使用

  • 安装一个插件,用来设置优先级
  • 安装在线源扩展包
  • 在配置文件里面设置,以ftp的配置文件为例
  • 将所有的配置文件移走,将ftp的配置文件移出来
  • 启用刚刚安装的插件

yum仓库类型:

本地仓库:baseurl=file://… 一对一的效果 安装快,但软件数量少,版本低

ftp仓库: f tp://… 一对多的效果 同上

在线源: http:// https:// 一对多的效果 软件数量多,版本新,但是安装前需要更新缓存,安装速度较慢

##yum缓存

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_运维_04


使用yum claen all清除的时候,也是清除的这里的缓存

一般下载完软件之后,软件包是直接删除的,并没有保存下来,如果需要保存,就需要修改yum的主配置文件(/etc.yum.conf)

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_运维_05


默认是不缓存,如果需要,可以将前两行注释掉,然后添加两行,第一行为缓存目录,第二行为是否缓存


上面是通过缓存的方式保留下载安装包,下面使用yum下载软件包方式

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_配置文件_06


还可以使用其他方法

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_centos_07

将软件包变成Yum源

使用createrepo命令

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_配置文件_08


AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_centos_09


后面再使用yum安装的时候,根据这个依赖关系表来自动解决软件之间的依赖关系。

三、NFS共享存储服务

NFS:网路文件系统

  • 依赖于RPC协议(远程调用协议,端口号111)
  • 需安装nfs-utils、rpcbind软件包
  • 系统服务:nfs(端口号2049)、rpcbind(端口号111)
  • 共享配置文件:/etc/ports

NFS架构

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_运维_10


都是在一起共享的,A也可以读取B等。可以设置不共享

NFS原理

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_centos_11


rpcbind先启动,nfs后启动

解释:

服务器通过NFS服务共享出本地磁盘的本地文件,客户端使用rpcbind服务通过TCP协议连接客户端的rpcbind服务,从而读取到服务端通过nfs服务共享出来的文件。

四、NFS实操

  • 先启动这两个服务
  • 设置配置文件(/etc/exports)

    客户机地址可以是主机名、IP地址、网段地址,允许使用"*”、"?"通配符。rw"表示允许读写,“ro”表示为只读。
    sync :表示同步写入到内存与硬盘中。
    no_root_squash :表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)
    no_root_squash :表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)
    其它常用选项:
    all_squash :所有访问用户都映射为匿名用户或用户组。
    async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
    subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
    no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
    annotallow=xxx :指定NFs服务器/etc/passwd文件中匿名用户的UID
    annotallow=xxx :指定NFs服务器/etc/group文件中匿名用户的GID
  • 重启NFS服务
  • 查看共享目录情况(showmount -e)
  • 使用另一台虚拟机可以查看
  • 挂载

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_centos_12

服务端若重启服务,那么已连接客户端会有一段时间用不了,会进入卡死状态。

mount只是临时挂载,想要永久挂载需要去配置文件(/etc/fstab)

AS repositories 仓库 软件仓库的作用 软件仓库的提供方式_linux_13