目录
前言
之前给大家带来过yum本地源是如何搭建的,这次给大家带来的是yum远程FTP仓库是如何搭建的,同时还会给大家展示目前常用的NFS网络文件系统是如何提供共享服务的。
一、部署YUM仓库
1、YUM概述
YUM(Yellow dog Updater Modified)
基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中的YUM软件仓库提供
2、配置本地源仓库
cd /etc/yum.repos.d/
vim local.repo
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定URL 访问路径为光盘挂载目录
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不验证软件包的签名
mount /dev/sr0 /mnt #把光盘挂载到/mnt目录下(前提虚拟机是光盘挂载)
清理yum缓存并更新
yum clean all && yum makecache
检查
yum repolist3、配置ftp源
服务器配置:
yum -y install vsftpd
mkdir /var/ftp/centos7 #创建挂盘挂载目录
mount /dev/sr0 /mnt #镜像挂载
cp -rf /mnt/* /var/ftp/centos7/ &
mkdir /var/ftp/other # 创建目录repodata 数据文件
cd /var/ftp/other/ 切换目录
createrepo -g /mnt/repodata/repomd.xml ./ #工具建立仓库数据文件
systemctl start vsftpd 启动ftp服务客户端配置 :
配置文件:/etc/yum.repos.d/centos7.repo
vi /etc/yum.repos.d/centos7.repo
[base]
name=CentOS 7.3 仓库名称(说明)
baseurl=ftp://192.168.88.88/centos7 URL 访问路径
enabled=1 启用此软件仓库
gpgcheck=0 验证软件包的签名
gpgkey=file:///rpm-gpg/RPM-GPG-KEY-CentOS-7 GPG 公钥文件的位置
[other]
name=Other RPM Packages
baseurl=ftp://192.168.88.88/other
enabled=1
gpgcheck=0二、使用YUM工具管理软件包
1、关于YUM命令
由软件包yum-3.4.3-150,el7.centos.noarch提供
用来访问YUM仓库,查询、下载及安装、卸载软件包
2、YUM的配置文件
基本设置:/etc/yum.conf
仓库设置:/et/yum.repos.d/*.repo
日志文件:/var/log/yum.log
3、YUM缓存目录
存放下载的软件包、仓库信息等数据
位于/var/cache/yum/x86_64/7
注:x86_64为本机硬件架构,7为OS版本,需根据实际情况修改目录
通常建立新的仓库需要使用“yum clean all”清除旧yum缓存,并使用“yum makecache”创建新yum缓存
4、软件包查询
查询软件包
yum list #查询软件包列表
yum list installed #查询系统中已安装的软件包
yum list available #查询仓库中尚未安装的软件包
yum list updates #查询可以升级版本的软件包软件安装、卸载、升级
yum -y install 软件名 #安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名 #卸载软件包,可自动解决其依赖关系
yum -y update 软件名 #升级软件包
yum history 查看历史记录来找到它所依赖的包,然后删除
实例:yum history list 列出最近的历史
yum history info id 列出某次的详细信息,
yum history undo id 撤销某次更改
yum history help 查看帮助三、 NFS共享存储服务
1、NFS概述
NFS(Network File System)网络文件系统是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议,但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
- 依赖于RPC (远端过程调用)
- 需安装nfs-utils、rpcbind软件包
- 系统服务:nfs、 rpcbind
- 共享配置文件:/etc/exports
2、服务端配置
2.1 安装软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind2.2 设置共享目录
mkdir -p /opt/share
chmod 777 /opt/share/
vim /etc/exports
/opt/share 192.168.31.0/24(rw,sync,no_root_squash)
客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
常用选项
“rw” 表示允许读写,“ro” 表示为只读;
sync :表示同步写入到内存与硬盘中。
async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
all_squash :所有访问用户都映射为匿名用户或用户组。
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
其他例子:
/var/ftp/pub 192.168.31.11(ro) 192.168.31.111(rw)
/share *(rw,sync)

2.3 启动服务
启动NFS共享服务时,先启动 rpcbind 服务,再启动 nfs 服务。
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
#查看rpcbind端口是否开启, rpcbind默认使用tcp 111 端口
netstat -anpt | grep 111
2.4 查看本机NFS共享目录
exportfs -rv #发布共享
showmount -e #查看共享
3、客户端配置
3.1 安装软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind #设置为开机自启
#使用 NFS 需要关闭防护墙
systemctl stop firewalld.service
setenforce 0
#查看 NFS 服务器端共享了哪些目录
showmount -e 192.168.31.101
3.2 客户端挂载NFS共享目录
方法一:手动挂载
cd /opt/
mkdir /myshare
mount 192.168.31.101:/opt/share /myshare
方法二:自动挂载
vim /etc/fstab
192.168.31.101:/opt/share /myshare nfs defaults,_netdev 0 0
#_netdev :表示挂载设备需要网络
mount -a #挂载 fstab 中的所有文件系统
df -Th #确认挂载结果
3.3 验证 NFS 共享目录
挂载后,因为我之前服务器给了客户端可读写的权限,并且同步写入内存和磁盘,此时客户端创建个文件,服务端能看到,双反修改文件后,双方都能看到修改后的结果。

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

总结
通过本文的总结,知道如何配置YUM的ftp源以及NFS文件共享,对服务有了更深的认识。