目录
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共享资源
- FTP服务: ftp://
- HTTP服务: http://
- 本地目录: file://
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集台
[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 ./
复制代码
配置文件: /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
复制代码
本地YUM仓库
- 将CentOS7光盘放入光驱
- 挂载镜像到仓库位置,URL地址为file:///mnt
[root@localhost ~]# vi /etc/yum.repos d/local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=1
复制代码
当既有本地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 是用来指定存放下载的安装包的目录
复制代码
yum list [软件名] // 显示已安装,未安装的包
yum info [软件名] //查看当前安装的软件的信息,如软件来源于哪个源,软件介绍
yum search <关键词> //查找相关功能的包
yum whatprovides<关键词>
yum whatprovides + 指令 //来查看是哪一个软件包提供了这样要给指令
yum whatprovides + 文件 //来查看是那儿一个软件包提供的这样的文件
复制代码
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
格式为:
共享的目录位置 客户机地址(权限选项)
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
- 首先服务器端启动RPC服务,并开启111端口
- 启动NFS服务,并向RPC注册端口信息
- 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
- 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
- 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用
[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
复制代码
[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
复制代码
[root@192 ~]# rpm -q rpcbind
[root@192 ~]# yum -y install rpcbind
复制代码
[root@192 ~]# mount 192.168.200.100:/data /opt
[root@192 ~]# df -hT
复制代码
客户端,在/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
复制代码