部署YUM仓库及NFS共享服务

一、YUM概述

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

二、准备安装源

2.1软件仓库的提供方式

  • FFTP服务:ftp://……
  • HTTP服务:http://……
  • 本地目录:file://……

2.2 RPM软件包的来源

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

2.3 构建CentOS 7 软件仓库

  • RPM包来自CentOS7 DVD光盘
  • 通过FTP方式提供给客户机
[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7

[root@localhost ~]#rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~l#systemctl enable vsftpd

2.4 Linux系统各家厂商用的安装源

  • centos7和rhel7默认使用的时yum仓库源 ,软件包的结尾是".rpm"
  • centos8和rhel 8可以使用dhf (是yum的行生产品)
  • Ubuntu debian使用的是apt 软件包是以“.deb”结尾

三、yum下载方式

方式一: yum install --downloadonly mariadb          #下载下来的安装包都是放在 /var/cache/yum/x86_64/7/ 目录下

方式二: yumdownloader --destdir=/opt mariadb mariadb-server   #yumdownloader 仅下载指定软件包,参数 --destdir 是用来指定存放下载的安装包的目录

方式三:
yum的缓存功能:默认情况下,yum会在安装完软件之后,自动清理掉安装包。但是也可以通过设置,让yum不清楚安装后的安装包。

vim  /etc/yum.conf 将配置中的keepcache=o  修改为 keepcache=1

此时下载好的软件包默认安置在:/var/cache/yum

yum相关的日志文件
/var/log/yum.log

四、yum 仓库源的三种搭建

4.1 搭建yum本地源的方式

本地源的地址可以修改成在线源
[test]
name=test
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1

搭建本地,在线混合yum仓库  #两个yum源的名字要做区分
[test1] 
name=test1 
baseurl=file:///mnt
gpgcheck=0 
enabled=1 
priority=1 #优先级,数字越小,优先级越高

[test]
name=test
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1
priority=2

4.2 搭建ftp yum仓库

准备两台虚拟机,一台用作服务端,提供下载库,一台作为客户端,建立yum仓库获取下载库的资源

第一步:服务端安装 vsftpd服务
yum install -y vsftpd

第二步:服务端在/var/ftp/ 下创建一个文件,并且挂载
该步骤涉及到ftp原理,用户远程访问时的,根目录就在 /var/ftp上,所以在此创建挂载目录
[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/sr0  /var/ftp/centos7/
[root@localhost ftp]# systemctl start vsftpd #开启服务


第三步:客户端搭建ftp  yum仓库
[root@localhost ~]# cd  /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir repo.bak
[root@localhost yum.repos.d]# mv *.repo  ./repo.bak/
[root@localhost yum.repos.d]# vim local.repo
systemctl stop firewalld
setenforce 0

4.3 下载的方式创建阿里云

搭建阿里云仓库 
第一步:将我们创建的local.repo文件移动到repo.bak目录下(也可以是别的备份目录)
第二步:将可以连外网的系统打开,下载镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
直接使用即可

五、NFS共享存储服务

  • NFS(Network File System)网络文件系统

    • 依赖于RPC(远端过程调用)

    • 需安装nfs-utils、rpcbind软件包

    • 系统服务:nfs、rpcbind

    • 共享配置文件:/etc/exports

5.1 使用NFS发布共享资源

安装nfs-utils、rpcbind软件包

[root@localhost ~]# yum -y install nfs-utils rpcbiny
[root@localhost ~]# systemctl enable nfs
[root@localhost ~# systemctl enable rpcbind

设置共享目录

[root@localhost ~]# mkdir -p /opt/wwwroot
[rdot@localhost ~]# vi /etc/exports

5.2 实验操作

NFS 的配置文件为/etc/exports
格式为:
共享的目录位置 客户机地址(权限选项)

软件包 (包括服务器端和客户端):
nfs-utils (nfs端口号 2049/tcp):共享服务
rpcbind (RPC端口号 111/tcp):远程共享调用

NFS 的配置文件为/etc/exports

格式为: 共享的目录位置 客户机地址(权限选项)

客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
“rw”	                表示允许读写,“ro” 表示为只读。
sync	                表示同步写入到内存与硬盘中。
no_root_squash	        表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash	            表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
all_squash	            所有访问用户都映射为匿名用户或用户组
async	                将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认)	若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check	    即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
5.2.1 在文件服务器使用 NFS 发布共享资源
1. 安装 nfs-utils、rpcbind 软件包
   rpm -q rpcbind nfs-utils 
   yum -y install nfs-utils rpcbind

2. 设置共享目录
   mkdir -p /opt/wwwroot
   chmod 777 /opt/wwwroot

vim /etc/exports
/opt/wwwroot 192.168.111.0/24(rw,sync,no_root_squash)

/var/ftp/pub 192.111.10(ro) 192.168.4.110(rw)
/share *(rw,sync)

客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
“rw” 表示允许读写,“ro” 表示为只读。
sync :表示同步写入到内存与硬盘中。
no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。

其它常用选项
all_squash :所有访问用户都映射为匿名用户或用户组。
async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。


3. 启动 NFS 服务程序
   #手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
   systemctl start rpcbind
   systemctl start nfs
   systemctl enable rpcbind
   systemctl enable nfs

[root@localhost ftp]# ss -antp | grep rpcbind			#查看rpcbind端口是否开启,rpcbind服务默认使用tcp端口111

4.查看本机发布的 NFS 共享目录
showmount -e
5.2.2 在客户机中访问 NFS 共享资源
1. 安装 nfs-utils、rpcbind 软件包
   rpm -q rpcbind nfs-utils 
   yum -y install nfs-utils rpcbind
   systemctl start rpcbind
   systemctl enable rpcbind

#查看 NFS 服务器端共享了哪些目录
showmount -e 192.168.111.10

2.手动挂载 NFS 共享目录
mkdir /myshare
mount 192.168.111.10:/opt/wwwroot /myshare

mount			#确认挂载结果,也可以使用df -Th

3. 设置自动挂载
   vim /etc/fstab
   192.168.111.10:/opt/wwwroot		/myshare	nfs defaults,_netdev	0  0

_netdev :表示挂载设备需要网络

4. 强制卸载 NFS
   如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。
   umount -lf /myshare

六、小结

基于以前的YUM仓库,本章更加详细的讲解了三种YUM仓库的配置方法,有本地以及在线YUM源,来配置成型,再以nfs来进行共享资源存储,最后进行实验操作进行生产环境的操作。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值