部署YUM仓库与NFS共享服务

一、YUM仓库服务

▶YUM (Yellow dog Updater Modified)

●基于RPM包构建的软件更新机制

●可以自动解决依赖关系

●所有软件包由集中的YUM软件仓库提供

1、准备安装源

▶软件仓库的提供方式

●FTP服务:ftp://…

●HTTP服务:http://…

●本地目录:file://…

▶RPM软件包的来源

●Centos发布的RPM包集合

●第三方组织发布的RPM包集合

●用户自定义的RPM包集合

2、构建Centos 7软件仓库

●RPM包来自Centos 7 DVD

●通过FTP方式提供给客户机

[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]#cp -rf /medialcdrom/* /var/ftp/centos7

[root@localhost ~]# rpm -ivh /medialcdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm

[root@localhost ~]#systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

3、在软件仓库中加入非官方RPM包组

●包括存在依赖关系的所有RPM包

●使用createreps工具建立仓库数据文件

[root@localhost ~]# mkdir /var/ftp/other
[root@localhost ~]# cd /var/ftp/other(非官方的RPM要先放入该目录下)
[root@localhost other]# createrepo -g /medialcdrom/repodata/repomd.xml ./

4、为客户机指定YUM仓库位置

●配置文件:/etc/yum.repos.d/centos7.repo

[root@localhost -]# vi /etc/yum.repos.d/centos7.repo
[base]
name=CentOS 7.3
baseurl=ftp://192.168.4.254/centos7enabled=1软件校验公钥
gpgcheck=1
gpgkey=file:llletc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[other]
rfame=Other RPM Packagesbaseurl=ftp://192.168.4.254/otherenabled=1
gpgcheck=0

5、直接以Centos7光盘做软件仓库

●将Centos 7 光盘放入光驱

●挂载镜像到仓库位置,URL地址为file:///media/cdrom

[root@localhost ~]# viletclyum.repos.d/local.repo


[local]
name=CnetOS 7.3
baseurl=file:/l/medialcdromenabled=1
gpgcheck=0

6、关于YUM命令

●由软件包yum-3.4.3-150.el7.centos.noarch提供
●用来访问YUM仓库,查询、下载及安装、卸载软件包

■YUM的配置文件

●基本设置:/etc/yum.conf

●仓库设置:/etc/yum.repos.d/*.repo

●日志文件:/var/log/yum.log

7、YUM缓存目录

●存放下载的软件包、仓库信息等数据

●位于/var/cache/yum/b a s e a r c h / basearch/basearch/releasever

硬件架构,如x86_64 OS版本

8、软件包查询

▶查询软件包

yum list[软件名]

yum info [软件名]

yum search<关键词>

yum whatprovides<关键词>

▶示例

[root@localhost ~]# yum list

[root@localhost ~]# yum list httpd

[root@localhost ~]# yum info vsftpd

[root@localhost ~]# yum search gcc

[root@localhost ~]# yum whatprovides vim

9、查询软件包组

yum grouplist[包组名]

yum groupinfo <包组名>

▶示例

[root@localhost ~]# yum grouplist

[root@localhost ~]# yum grouplist gnome-desktop

[root@localhost ~]# yum groupinfo gnome-desktop

10、软件安装升级

▶安装软件
yum install[软件名]
yum groupinstall<包组名>

■升级软件
yum update
yum groupupdate

■示例
[root@localhost ~]# yum -y install net-snmp

[root@localhost ~]# yum -y groupinstall gnome-desktop

[root@localhost ~]# yum -y update

11、软件卸载

■卸载软件
yum remove<软件名>
yum groupremove<包组名>

■示例
[root@localhost ~]# yum -y remove autofs
[root@localhost ~]# yum -y groupremove gnome-desktop

12、配置本地源仓库

cd letc/ yum.repos.d/
vim local.repo
[ local] #仓库类别
name=local 仓库名称
baseurl=file : ///mnt #指定URL访问路径为光盘挂载目录
enabled=1#开启此yum源,此为默认项,可省略
gpgcheck=0#不验证软件包的签名
mount /dev / sro /mnt#把光盘挂载到/mnt目录下(前提虚拟机是光盘挂载)

#清理yum缓存并更新
yum clean all & & yum makecache
#检查
yum repolist

13、配置ftp源

1、服务器配置
安装vsftpd服务端软件

创建并制作yum远程ftp站点的源

启动ftp服务

yum -y install vsftpd
mkdir /var/ ftp/ centos7#创建挂盘挂载目录

mount /dev / sr0 /mnt #镜像挂载
cp -i -rf /mnt/* /var/ ftp/centos7/&

mkdir /var/ ftp/other #创建目录repodata数据文件

cd /var/ftp/other/

createrepo -g / mnt/ repodata/ repomd . xml . / #工具建立仓库数据文件

systemctl start vsftpd

2、客户端配置
创建远程yum源的配置文件

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=l #启用此软件仓库
gpgcheck=l #验险证软件包的签名
gpgkey=ftp://192.168.10.17/centos/RPM-GPG-KEY-Centos-7 #GPG 公钥文件的位置

[other]
name=centos7
baseurl=ftp:/ [ 192.168.10.17l other

enabled=1 #启用此软件仓库
gpgcheck=0 #验证软件包的签名

14、网络源

15、yum命令总结

yum常用的操作命令:
yum -y install 软件名
#安装、升级软件包,"-y"选项表示自动确认

yum -y remove软件名
#卸载软件包,叮自动解决其依赖关系

yum -y update软件名
#升级软件包

yum list
#查i询软件包列表

yum list installed
#查询系统中己安装的软件包

yum list available
#查询仓库中尚未安装的软件包

yum list updates
#查询可以升级版本的软件包

案列搜索RPM包(两种方法〉
yum search vim
yum list | grep “vim”

yum info软件名 #查i询软件包的描述信息
yum info httpd

yum search [all]关键词 #根据某个关键词来查找相关的软件包
yum search all httpd

yum whatprovides 命令 #查询命令属于哪个软件包
yum whatprovides netstat

yum install包名-y --downloadonly #下载RPM包而不安装

yum reinstall -y bash --downloadonly #下载己安装过的rpm包

yum history查看历史记录来找到它所依赖的包,然后删除
如:
yum history list列出最近的历史
yum history info id 列出某次的详细信息
yum history undo id撤销某次更改
yum history help 查看帮助
yum history redo加入序号重新执行序号里的操作

二、NFS共享存储服务

1、概述

■NFS (网络文件服务)

NFS是一种基于TCP/IP传输的网络文件系统协议,最初由 sun公司开发。通过使用NES协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NFS 也是NAS 存储设备必然支持的一种协议

■NAS存储:
NFS 服务的实现依赖于RPC ( Remote Processcall,远端过程调用)机制,以完成远程到本地的映射过程。在centos 7系统中,需要安装nfs-utils、 rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。手动加载NFs共享服务时,应该先启动rpcbind,再启动nfs。

nfs端口号2049
RPC瑞口号111

2、特点

1、采用TCP/IP传输络文件

2、安全性低

3、简单易操作

4、适合局域网环境

3、nfs工作原理

4、 NFS共享存储服务配置的相关步骤

1、安装nfs和rpcbind软件
2、修改配置文件设置共享
3、创建共享目录
4、开启服务
5、客户端验证共享目录可访问

■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 所有访问用户都l映射为匿名用户或用户组
async 将数据先保存在内存缓冲区中,必要时才写入磁盘,速度快但会丢失数据subtree_check(默认) 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no subtree_check
即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率

systemctl start rpcbind 需要先启动rpc服务,[因为nfs要向rpc注册端口

systemctl start nfs
systemctl enable rpcbind

systemctl enable nfs

[ root@localhost web] #netstat -anpu l grep rpc
udp 0 0 0.0.0.0 : 111 0.0.0.0:*
24525/ rpcbind

[ root@localhost web] # rpcinfo -p localhost /查看nfs向rpc注册的端口信息
program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 l udp 55627 status

[ 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

(2)切换到客户端:
[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 ~] # yum -y install httpd

[root@localhost ~]# systemctl start httpd /启动web服务

统一配置[ root@localhost ~ ]mount -t nfs 192.168.86.10:/opt/web /var/www/html

[ root@localhost ~ ] # curl 127.0.0.1 /成功访问主页内容

[root@localhost ~]# echo "this is kgc " >>/var/www / html/ index…html
//客广端修改主页文件

[ root@localhost web] # cat index.html //服务器端会同步this is kgc

同理可得,服务端写入或修改内容,客户端也会同步
df -h #查看挂载情况

在其他虚拟机配置同样的客户端配置 也可或得同样结果

修改/etc/fstab实现自动挂载:

192.168.10.17 :/opt/web /var/ www/html nfs defaults,_netdev 0 0

defaults, _netdev说明这是一个网络设备
注意:NFS ‘客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端VFS服务突然间停掉了,那么在客户端就会出现执行df -h 命令卡死的现象。这个时候使用umount命令是无法直接卸载的,需要加上 -lf才能卸载
-l表示解除正在繁忙的文件系统,-f表示强制。
[ root@localhost ~]#umount /var / www / html /客户端卸载时会卡住
^c
[ root@localhost ~]# umount -lf /var/www/ html //加lf参数成功卸载

其他nfs文件:

/var/lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值
/ var/ lib/nfs/xtab 记录曾经登录过的客户端信息

总结

■部署YUM软件仓库(服务器端、客户端)

■YUM工具功能(查询、安装、升级、卸载)

■构建NFS共享存储服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值