部署YUM仓库及NFS共享服务
部署YUM仓库及NFS共享服务
目录
YUM仓库服务
部署YUM软件仓库
使用YUM工具管理软件包
NFS共享存储服务
使用NFS发布共享资源
在客户端访问NFS共享
YUM概述
YUM (Yellow dog Updater Modified)
●基于RPM包构建的软件更新机制
●可以自动解决依赖关系
●所有软件包由集中的YUM软件仓库提供
准备安装源3-1
软件仓库的提供方式
FTP服务:ftp://......
HTTP服务:http://.....
本地目录: file://...
RPM软件包的来源
OCentOS发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合
YUM工具概述2-1关于YUM命令
●由软件包yum-3.4.3-150.el7.centos.noarch提供
●用来访问YUM仓库,查询、下载及安装、卸载软件包
YUM的配置文件
●基本设置:letc/yum.conf
●仓库设置:/etclyum.repos.d/*.repo
●日志文件:/varllog/yum.log
###检查
yum repolist
2.#配置ftp源
主要是思路
服务器配置:
1)安装vsftpd服务端软件
2)创建并制作yum远程ftp站点的源
3)启动ftp服务
rpm -qa | grep vsftpd
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
lsof -i:21
systemctl start vsftpd
cd /etc/yum.repos.d/
mkdir bak.repo
mv CentOS-* bak.repo/
vim centos7.repo
客户端配置:
1)创建远程yum源的配置文件
2)yum安装软件验证结果
客户端配置:
vi /etc/ yum. repos.d/ ftp.repo
[root@kgc14 yum.repos.d]# cat centos7.repo
[ centos7] #仓库类别
name=centos7 #仓库名称(说明)
baseurl=ftp://192.168.10.17/centos7 #URL访问路径
enabled=1 #启用此软件仓库
gpgcheck=1 #验证软件包的签名
gpgkey=ftp://192.168.10.17/centos7/RPM-GPG-KEY-Centos-7 #GPG公钥文件的位置
ls /var/ftp/centos7/
[other]
name=centos7
baseurl=ftp://192.168.10.17/ other
enabled=1 #启用此软件仓库
gpgcheck=0 #验证软件包的签名
yum history查看历史记录来找到它所依赖的包,然后删除,
如: yuml history list 列出最近的历史
yum history info id 列出某次的详细信息,
yum history undo id 撤销某次更改
yum history help 查看帮助
yum history redo 加入序号重新执行序号里的操作
NFS共享存储服务
NFS (Network File System)网络文件系统
●依赖于RPC(远端过程调用)
●需安装nfs-utils、rpcbind软件包
●系统服务:nfs、rpcbind
●共享配置文件:letc/exports
NFS (网络文件服务)(共享存储)
NFS是一种基于TCP/IP传输的网络文件系统协议,最初由 sun 公司开发。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NFS 也是NAS存储设备必然支持的一种协议
NAS存储:
NFS 服务的实现依赖于RPC ( Remote Process
Call,远端过程调用)机制,以完成远程到本地的映射过程。在Centos 7系统中,
需要安装
nfs-utils、rpcbind 软件包来提供NES共享服务,前者用于NFS
共享发布和访问,后者用于RPC支持。
手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs。
nfs端口号2049
RPC端口号111
特点:
来用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
实验步骤:
安装nfs和rpcbind软件
修改配置文件设置共享
创建共享目录
开启服务
客户瑞验证共享目录可访问
rpm -q rpcbind nfs-utils
yum install-y nfs-utils rpcbind
vim /etc/exports #NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)
/opt/web 192.168.10.0/24 (rw,sync,no_root_squash)
常用选项:
rw 表示允许读写
ro 表示为只读
sync 表示同步写入到内存与硬盘中
no_root_squash
表示当客户机以root身份访问时赋予本地root权限(默认是root_squash),如果不加那么客户端无法在里面编辑或写入文件,因为默认以nfsnobody的权限
root_squash
表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
其它常用选项:
all_squash 所有访问用户都映射为匿名用户或用户组
async
将数据先保存在内存缓冲区中,必要时才写入磁盘,速度快但会丢失数据
subtree_check (默认) 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check
即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
mkdir -p /opt/web
systemctl start rpcbind //需要先启动rpc服务,因为nfs要向rpc注册端口
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
[root@localhost web]# netstat -anpu l grep rpc
0 0.0.0.0.0:111 0.0.0.0:*
showmount -e 192.168.100.80
24525/rpcbind
[root@localhost web]# exportfs -v //验证结果
/ web
192.168.245.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
exportfs -r //刷新结果
[root@localhost web]# showmount -e localhost //验证共亭
Export list for localhost :
/ web 192.168.245.0/24
切换到客户端:
[root@localhost ~]# yum install -y nfs-utils rpcbind
[root@localhost ~]# showmount -e 192.168.10.17 //客户端验证共享
Export list for 192.168.245.100:
/ web 192.168.245.0/24
[ root@localhost ~]#
[root@localhost ~] #
[ root@localhost ~] # yum -y install httpd
ls /var/www/
[root@localhost ~]# mount -t nfs 192.168.100.80:/opt/web /var/www/html/
//将共享目录挂载到网页目录
systemctl status firewalld
[root@localhost ~]# systemctl start httpd //启动web服务
[ root@localhost ~]# curl 127.0.0.1 //成功访问主页内容hello world!
[root@localhost ~]# echo "this is kgc " >>/var/www / html/index.html
//客户端修改主页文件
[ root@localhost web]# cat index.html//服务器端会同步
this is kgc
nihao
同理可得,服务端写入或修改内容,客户端也会同步
umount /var/www/html/
df -h #查看挂载情况
修改letc/fstab实现自动挂载:
192.168.10.17 : /opt/web /var/ www/ html nfs defaults,_netdev o 0
defaults, _netdev说明这是一个网络设备
注意:NES 客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端NFS服务突然间停掉了,那么在客户端就会出现执行 df -h命令卡死的现象。这个时候使用umount命令是无法直接卸载的,需要加上 -lf才能卸载
-1表示解除正在繁忙的文件系统,-f表示强制。
[root@localhost web]# systemctl stop nfsI //服务器端模拟nfs挂掉
[root@localhost ~]# umount /var/www/html //客户端卸载时会卡住
[root@localhost ~]# umount -lf /var/www/html //加lf参数成功卸载
其他nfs文件:
/var/ lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值
/ var/ lib/ nfs/ xtab 记录曾经登录过的客户端信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律