部署YUM仓库及NFS共享服务
部署YUM仓库及NFS共享服务
1、YUM仓库服务
yum(全称:Yellowdog Updater, Modified)是一个在基于RPM的系统中管理软件包的命令行工具。它可以自动解决依赖关系,从而使得软件包的安装、升级和删除变得更加简单。
1)yum命令的运用
yum list 显示所有可用包(可以后跟包名,显示具体的软件包)
yum info 显示所有可用包的信息(后跟包名,显示单个包的相关信息)
yum search 模糊查找所有的相关信息
yum whatprovides 精确查找
yum install 安装具体软件包
yum update 具体软件升级
yum upgrade 具体软件更新
yum remove 卸载具体软件
yum history 查看当前yum操作历史
yum history info 加序号列出某次事务的详细信息
yum history undo 加序号卸载序号里安装的软件(比yum remove 软件名,清除的更加彻底)
yum history redo 加序号重新执行序号里的操作
yum grouplist 显示所有可用包组(后跟包组名,可以显示具体)
yum groupinfo 显示具体的包组的具体信息
yum groupinstall 安装具体软件包组
yum group update 具体包组升级
yum groupremove 卸载具体包组软件
2)yum 仓库源的搭建
①在线源
配置文件:
[test]
name=test
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1
②搭建本地,在线混合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
③搭建ftp yum仓库
准备两台虚拟机,一台用作服务端,提供下载库,一台作为客户端,建立yum仓库获取下载库的资源
第一步:服务端安装 vsftpd服务
yum install -y vsftpd
第二步:服务端在/var/ftp/ 下创建一个文件,并且挂载
该步骤涉及到ftp原理,用户远程访问时的,根目录就在 /var/ftp上,所以在此创建挂载目录
cd /var/ftp
mkdir centos7
mount /dev/sr0 /var/ftp/centos7/
systemctl start vsftpd #开启服务
第三步:客户端搭建ftp yum仓库
cd /etc/yum.repos.d
mkdir repo.bak
mv *.repo ./repo.bak/
vim local.repo
systemctl stop firewalld
setenforce 0
④下载的方式创建阿里云:
搭建阿里云仓库
第一步:将我们创建的local.repo文件移动到repo.bak目录下(也可以是别的备份目录)
第二步:将可以连外网的系统打开,下载镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
直接使用即可
2、NFS共享存储服务
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
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服务器也不检查其父目录的权限,这样可以提高效率。
NFS共享服务配置过程
1) 在文件服务器使用 NFS 发布共享资源
- 安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
- 设置共享目录
mkdir -p /opt/wwwroot
chmod 777 /opt/wwwroot
- 编辑NFS配置文件
vim /etc/exports/opt/wwwroot 192.168.233.0/24(rw,sync,no_root_squash) #共享的目录,允许访问的地址,选项
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw) #同上
/share *(rw,sync) #同上
- 启动 NFS 服务程序
#手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
ss -antp | grep rpcbind #查看rpcbind端口是否开启,rpcbind服务默认使用tcp端口111
- 查看本机发布的 NFS 共享目录
showmount -e
2)在客户机中访问 NFS 共享资源
- 安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
showmount -e 192.168.233.21 #查看 NFS 服务器端共享了哪些目录
- 手动挂载 NFS 共享目录
mkdir /myshare
mount 192.168.233.21:/opt/wwwroot /myshare
mount #确认挂载结果,也可以使用df -Th
- 设置自动挂载
vim /etc/fstab
192.168.233.21:/opt/wwwroot /myshare nfs defaults,_netdev 0 0 #_netdev :表示挂载设备需要网络
- 强制卸载 NFS
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。
umount -lf /myshare
