部署YUM仓库及NFS共享服务

结构

YUM仓库服务

  • 部署yum软件仓库
  • 使用yum工具管理软件包

NFS共享存储服务

  • 使用nfs发布共享资源
  • 在客户端访问nfs共享

YUM概述

YUM(yellow dog updater modified)

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

准备安装源

软件仓库的提供方式

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

RPM软件包的来源

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

构建CentOS7软件仓库

  • RPM包来自CentoS 7 DVD光盘
  • 通过FTP方式提供给客户机

[root@localhost ~]# mkdir -p /varlftp/centos7

[root@localhost ~]# cp -rf /media/cdrom/* /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

准备安装源

  • 在软件仓库中加入非官方RPM包组
  • 包括存在依赖关系的所有RPM包
  • 使用createrepo工具建立仓库数据文件

[root@localhost ~]# mkdir /varlftp/other

[root@localhost ~]# cd /varlftp/other

[root@localhost other]# createrepo -g /media/cdrom/repodata/repomd.xml ./

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

  • 包括存在依赖关系的所有RPM包
  • 使用createrepo工具建立仓库数据文件

[root@localhost ~]# mkdir /varlftplother

[root@localhost ~]# cd lvarlftplother

[root@localhost other]# createrepo -g /media/cdrom/repodata/repomd.xml ./

访问YUM仓库

为客户机指定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/centos7

enabled=1

gpgcheck=1

gpgkey=file:/lletc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[other]

name=Other RPM Packages

baseurl=ftp://192.168.4.254/other

enabled=1

gpgcheck=O

本地YUM仓库

直接以CentOs 7光盘作软件仓库

  • 将CentOS 7光盘放入光驱
  • 挂载镜像到仓库位置,URL地址为file:///media/cdrom

[root@localhost ~]# vi /etc/yum.repos.d/local.repo

[local]

name=CnetOS 7.3

baseurl=file:///media/cdrom

enabled=1

gpgcheck=O

YUM工具概述

关于YUM命令

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

YUM的配置文件

●基本设置:letc/yum.conf

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

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

YUM缓存目录

  • 存放下载的软件包、仓库信息等数据
  • 位于/var/cachelyum/$basearch/$releasever
  • [root@localhost ~]# yum clean all

查询软件包

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

查询软件包组

yum grouplist[包组名]

yum groupinfo<包组名>

示例

[root@localhost ~]# yum grouplist

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

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

软件安装、升级

安装软件

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

软件卸载

卸载软件

yym remove <软件名>

yum groupremove<包组名>

示例

[root@localhost~]# yum -y remove autofs

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

1、客户端配置

创建远程yum源的配置文件

yum安装软件验证结果

客户端配置

vim /etc/yum.repos.d/ftp.repo

[ root@kgc14 yum.repos.d]#cat centos7.repo

[ centos7]#仓库类别

name=centos7#仓库名称(说明)

baseurl=ftp:l/192.168.10.17/centos7#URL。访问路径

enabled=1#启用此软件仓库

gpgcheck=1#验证软件包的签名

#配置ftp源主要是思路

2、服务器配置:

1)安装vsftpd服务端软件

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

3)启动ftp服务

yum -y install vsftpd

mkdir /var/ ftp/ centos7 .#创建挂盘挂载目录

mount /dev/ sro / 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

yum history查看历史记录来找到它所依赖的包,然后删除,

如: yum history list.列出最近的历史

yum history in主o id 列出某次的详细信息,yum history undo id撤销某次更改

yum history help查看帮助

yum history redo加入序号重新执行序号里的操作

使用NFS共享存储服务2-1

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

  • 依赖于RPC(远端过程调用)
  • 需安装nfs-utils、rpcbind软件包
  • 系统服务: nfs、rpcbind
  • 共享配置文件:/etc/exports

使用NFS发布共享资源2-2

启动NFS服务程序

查看本机发布的NFS共享目录

[root@localhost ~]# systemctl start rpcbind

[root@localhost ~]# systemctl start nfs

[root@localhost ~]# netstat -anpt / grep rpc

tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN10508/rpc.mountd

tcp 0 o0.0.0.0:52732 0.0.0.0:* LISTEN10495/rpc.statd

tcp6o 0 :…20048 LISTEN10508/rpc.mountd

tcp6o 0 :…47669 LISTEN 10495/rpc.statd

[root@localhost ~]# showmount -e

lopt/wwwroot 192.168.7.0/24

/varlftp/pub 192.168.4.110,192.168.4.11

NFS (网络文件服务)

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

NFS 也是NAS 存储设备必然支持的一种协议

NAs存储:

NFS 服务的实现依赖于RPC ( Remote Process

Call,远端过程调用)机制,以完成远程到本地的映射过程。在centos 7系统中,需要安装nfs-utils、rpcbind软件包来提供NFS 共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。

手动加载NFS 共享服务时,应该先启动rpcbind,再启动nfs。

nfs端口号2049

RPC瑞口号111

特点:

采用TCP/IP传输网络文件

安全性低

简单易操作

适合局域网环境

实验步骤

安装nfs和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服务器也不检查其父目录的权限,这样可以提高效率

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

systemctl start nfs

systemctl enable rpcbind

systemctl enable nfs

[root@localhost web]# netstat -anpu | grep rpc

udp o o o.o.o.0 : 111 o.o.p.o:*

24525/rpcbind

[ root@localhost web] # rpcinfo -p localhost l/查看nfs向rpc注册的端口信息

program vers protoportservice

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

10000o3udp111portmapper

1000002udp111portmapper

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 localhoet//验证共享

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.171/客户端验证共享

Export list for 192.168.245.100:

/ web 192.168.245.0/24

[ root@localhost ~]#

[ rootelocalhost ~] #

[ root@localhost ~]# yum -y install httpd

[root@localhost ~]# mount -t nfs 192.168.10.17T/web /var/www/htm1//将共享目录挂载到网页目录

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

[root@localhost ~]# curl 127.0.0.11l成功访问主页内容hello world !

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

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

同理可得,服务端写入或修改内容,客户端也会同步

在客户机中访问NFS共享资源3-2

手动挂载NFS共享目录

[root@localhost ~]# mount 192.168.7.250:/opt/wwwroot /varlwww/html[root@localho192.168.7.250:/opt/wwwroot /var/www/html nfs4st ~]# tail -1 letc/mtab

rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.7.21,local_lock=none,

addr=192.168.7.250 0 0

[root@localhost ~]# vi lvarlwww/html/index.htmlReal Web Server Document

在客户机中访问NFS共享资源3-3

fstab自动挂载设置

[root@localhost ~]# viletc/fstab

192.168.7.250:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0

强制卸载NFS

[root@localhost ~]# umount /mnt

umount: /mnt: device is busy

[root@localhost ~]# umount /mntumount: /mnt: device is busy

[root@localhost ~]# umount -lf /mnt

[root@localhost ~]#

总结

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

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

构建NFS共享存储服务

上一篇:docker


下一篇:Java项目docker部署