目录
1 YUM仓库服务
1.1安装源
1.2访问YUM仓库
1.3 YUM工具概述
1.4 本地yum源和在线源同时配置
1.5 软件包查询
2. NFS共享服务介绍
2.1 NFS概述
2.2 特点
2.3 NFS原理
3 NFS共享服务部署
3.1 实验环境
3.2 实验步骤
3.2.1 服务端配置
3.2.2在客户机中访问NES共享资源
1 YUM仓库服务
1.1安装源
- FTP服务: ftp://
- HTTP服务: http://
- 本地目录: file://
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集台
- 构建CentOS 7软件仓库
- RPM包来自CentOS 7 DVD光盘
- 通过FTP方式提供给客户机
[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7
[root@localhost ~]# rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd
复制代码
包括存在依赖关系的所有RPM包
使用reatrepo工具建立仓库数据文件
[root@localhost ~]# mkdir /var/ftp/other
[root@localhost ~]# cd /var/ftp/other
[root@localhost ~]# createrepo -g /media/cdrom/repodata/repomd.xml ./
复制代码
1.2访问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://etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #软件校验公钥
[other]
name=Other RPM Packages
baseurl=ftp://192.168。4.254/other
enabled=1
gpgcheck=0
复制代码
1.3 YUM工具概述
- 关于YUM命令
- 由软件包yum-3.4.3-150.el7.centos.noarch提供
- 用来访问YUM仓库,查询、下载及安装、卸载软件包
- YUM的配置文件
- 基本设置: /etc/yum.conf
- 仓库设置: /etc/yum.repos/*repo
- 日志文件: /var/log/yum.log
- YUM缓存目录
1.4 本地yum源和在线源同时配置
当既有本地yum源又有aliyun源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,本地找不到可用的包时再使用aliyun源去安装软件,这里就涉及到了优先级的问题,yum提供的插件[yum-plugin-priorities.noarch]可以解决这个问题
[root@localhost ~]#rpm -qa |grep yum-plugin-
复制代码
[root@localhost ~]#yum -y install yum-plugin-priorities.noarch
复制代码
[root@localhost ~]#cat /etc/yum/pluginconf.d/priorities.conf
[main]:
enabled = 1 # 1为启动,0 为禁止
复制代码
[root@localhost ~]#vim local.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=1
priority=1 #数字越小优先级越高
[epel]
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
enabled=1
gpgcheck=0
priority=2
复制代码
执行yum repolist all 可显示所有仓库包
//yum 命令仅下载安装包
方式一:
yum install --downloadonly mariadb
#下载下来的安装包都是放在 /var/cache/yum/x86_64/7/ 目录下
方式二:
yumdownloader --destdir=/opt mariadb mariadb-server
#yumdownloader 仅下载指定软件包,参数 --destdir 是用来指定存放下载的安装包的目录
复制代码
1.5 软件包查询
yum list [软件名] // 显示已安装,未安装的包
yum info [软件名] //查看当前安装的软件的信息,如软件来源于哪个源,软件介绍
yum search <关键词> //查找相关功能的包
yum whatprovides<关键词>
yum whatprovides + 指令 //来查看是哪一个软件包提供了这样要给指令
yum whatprovides + 文件 //来查看是那儿一个软件包提供的这样的文件
复制代码
2. NFS共享服务介绍
2.1 NFS概述
NFS(Network File System )网络文件系统服务。是基于TCP/IP协议的应用,其实现主要是采用远程过程调用(自己没有这种功能,调用别人的功能 )RPC机制. NFS 也是 NA 存储设备必然支持的一种协议,以完成远程到本地的映射过程。
可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
在Centos 7系统中,需要安装nfs-utils、 rpcbind ?软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用RPC支持。
手动加载NFS共享服务时,应该先启动rpcbind, 再启动nfs。
- nfs端口:2049/tcp
- RPC端口:111/tcp
NFS的配置文件为/etc/exports
格式为:
共享的目录位置 客户机地址(权限选项)
2.2 特点
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
2.3 NFS原理
?
- 首先服务器端启动RPC服务,并开启111端口
- 启动NFS服务,并向RPC注册端口信息
- 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
- 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
- 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用
- NFS服务主要进程:
- rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
- rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
- rpc.lockd 非必要,管理文件锁,避免同时写出错
- rpc.statd 非必要,检查文件一致性,可修复文件
3 NFS共享服务部署
3.1 实验环境
- 服务端
- IP:192.168.200.100
- 主机名:localhost
- 客户端
- IP:192.168.200.102
- 主机名:192
3.2 实验步骤
3.2.1 服务端配置
[root@localhost ~]# rpm -q rpcbind nfs-utils
[root@localhost ~]# yum -y install nfs-utils rpcbind
复制代码
[root@localhost ~]# mkdir -p /data
[root@localhost ~]# chmod 777 /data ##让普通用户也可读可写
[root@localhost ~]# vim /etc/exports
/data 192.168.200.0/24 (rw,sync,no_root_squash)
`客户机地址可以是主机名、IP地址、网段地址,允许使用“*” 、 “?” 通配符。
“rw”表示允许读写,“ro”表示为只读。
syne:表示同步写入到内存与硬盘中。
no_root_squash :表示当客户机以root身份访问时赋予本地root权限(默认是root_squash) 。
root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。`
其它常用选项
all_squash:所有访问用户都映射为匿名用户或用户组。
async:将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check (默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check:即使输出目录是--个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
anonuid=xxx :指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx :指定NFS服务器/etc/group文件中匿名用户的GID
复制代码
- 启动NES服务程序
- 手动加载NFS共享服务时,应该先启动 rpcbind,再启动 nfs
[root@localhost ~]#systemctl start rpcbind
[root@localhost ~]#systemctl start nfs
[root@localhost ~]#systemctl enable rpcbind
[root@localhost ~]#systemctl enable nfs
[root@localhost ~]#netstat -anptu| grep 111 #查看rpcbind端口是否开启,rpcbind默认 使用端口111
[root@localhost ~]#netstat -anptu| grep 2049 #rpcbind默认使用端口2049
复制代码
[root@localhost ~]#exportfs -rv
复制代码
[root@localhost ~]#showmount -e
复制代码
3.2.2在客户机中访问NES共享资源
[root@192 ~]# rpm -q rpcbind
[root@192 ~]# yum -y install rpcbind
复制代码
- 将服务端的共享目录/data,挂载到本地的/opt目录下。
[root@192 ~]# mount 192.168.200.100:/data /opt
[root@192 ~]# df -hT
复制代码
- 测试在服务端的共享目录中新建文件1.txt,观察客户端能否查看到
客户端,在/opt目录中新建文件1.txt
[root@192 opt]# cd /opt
[root@192 opt]# echo 'this is test file' > 1.txt
[root@192 opt]# ls
1.txt
复制代码
服务端,查看共享目录挂载点内的文件
?[root@localhost data ]# ls
1.txt
复制代码
|