网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样.
NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送
特点
(1)提供透明文件访问以及文件传输;
(2)容易扩充新的资源或软件,不需要改变现有的工作环境;
(3) 高性能,可灵活配置。
Yum 全称为 Yellow dog Updater Modified,它是一个在线的软件安装命令。
能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
例如我们需要安装一个软件A,而软件A–>B–>C–>D.通过yum我们只需要安装A,其他依赖包会自动安装。
如果把两者结合起来可以组成一个远程的软件yum 源,供客户端使用。
依赖于RPC(远程过程调用)
需安装nfs-utils,rpcbind软件包
系统服务:nfs,rpcbind
共享配置文件:/etc/exports
提供RPC支持的服务为rpcbind,提供NFS共享的服务为nfs,安装完成后建议调整为开机自启动状态
手动加载NFS共享服务时,应先启动rpcbind,然后在启动nfs
NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)
在exports文件中设置共享资源时,记录格式为“目录位置 客户机地址(权限选项)”
systemctl start rpcbind
systemctl start nfs
showmount -e
[root@ shanan ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x26bda3fd 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@ shanan ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@ shanan ~]# vi /etc/fstab
[root@ shanan ~]# mount -a
[root@ shanan ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 1.3G 49G 3% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 9.5M 901M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 146M 869M 15% /boot
/dev/mapper/centos-home xfs 47G 33M 47G 1% /home
tmpfs tmpfs 182M 0 182M 0% /run/user/0
/dev/sdb1 xfs 20G 33M 20G 1% /mnt
[root@ shanan ~]# setenforce 0
[root@ shanan ~]# systemctl stop firewalld.service \
>
[root@ shanan ~]# systemctl stop firewalld.service
[root@ shanan ~]# yum install -y nfs-utils rpcbind
[root@ shanan ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@ shanan ~]# systemctl enable rpcbind
[root@ shanan ~]#
[root@ shanan ~]# vi /etc/exports
[root@ shanan ~]# systemctl start nfs
[root@ shanan ~]# systemctl start rpcbind
[root@ shanan ~]# netstat -ntap | grep rpc 查看服务开启
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 7690/rpcbind
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 7725/rpc.mountd
tcp 0 0 0.0.0.0:60308 0.0.0.0:* LISTEN 7676/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 7690/rpcbind
tcp6 0 0 :::20048 :::* LISTEN 7725/rpc.mountd
tcp6 0 0 :::44868 :::* LISTEN 7676/rpc.statd
[root@ shanan ~]# showmount -e 查看服务有无提供出去
Export list for shanan:
/mnt 192.168.100.0/24
[root@sha /]# yum install -y nfs-util * rpcbind
[root@sha /]# yum install httpd
[
root@sha /]# mount -t nfs 192.168.100.55:/mnt /var/www/html //带格式挂载
[root@sha /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 1.3G 49G 3% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 1014M 146M 869M 15% /boot
/dev/mapper/centos-home 47G 33M 47G 1% /home
tmpfs 182M 0 182M 0% /run/user/0
192.168.100.55:/mnt 20G 32M 20G 1% /var/www/html
[root@sha /]#
[root@sha /]# vi /etc/fstab
[root@sha /]# mount -a
[root@sha /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 1.3G 49G 3% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 1014M 146M 869M 15% /boot
/dev/mapper/centos-home 47G 33M 47G 1% /home
tmpfs 182M 0 182M 0% /run/user/0
192.168.100.55:/mnt 20G 32M 20G 1% /var/www/html
root@sha /]# cd /var/www/html
[root@sha html]# ls
[root@sha html]# vi index.html
[root@sha html]#
[root@sha html]# cat index.html
<h1> hello,world </h1>
[root@sha html]# systemctl restart httpd
[root@sha html]#
root@ shanan ~]# cd /mnt
[root@ shanan mnt]# ls
index.html
[root@ shanan mnt]# cat index.html
<h1> hello,world </h1>
[root@ shanan mnt]#
[root@ shanan mnt]# systemctl stop nfs
客户端查看,可能会卡住
[root@sha html]# df -Th
^C
这时不要慌,ctrl+C终止 ,或者再开一个终端进行取消挂载即可
这时我们需要卸载挂载点
[root@sha html]# umount -lf /var/www/html
[root@sha html]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 1.3G 49G 3% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 1014M 146M 869M 15% /boot
/dev/mapper/centos-home 47G 33M 47G 1% /home
tmpfs 182M 0 182M 0% /run/user/0
[root@sha html]#
[root@ shanan var]# yum install vsftpd
[root@ shanan var]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 1.3G 49G 3% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 1014M 146M 869M 15% /boot
/dev/mapper/centos-home 47G 33M 47G 1% /home
tmpfs 182M 0 182M 0% /run/user/0
/dev/sdb1 20G 33M 20G 1% /mnt
/dev/sr0 4.3G 4.3G 0 100% /opt
[root@ shanan var]# cd ftp
[root@ shanan ftp]# ls
pub
[root@ shanan ftp]# mkdir centos7
[root@ shanan ftp]# cp -rf /opt/* centos7/ &
未找到createrepo 安装软件
[root@ shanan ftp]# createrepo -g /opt/repodata/repomd.xml other/
-bash: createrepo: 未找到命令
[root@ shanan ftp]# yum install -y create*
完毕!
[root@ shanan ftp]# createrepo -g /opt/repodata/repomd.xml other/ //生成索引文件
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@ shanan other]# cd repodata/
[root@ shanan repodata]# ls
01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2
12bbefc88e08f473cf860b4c150a9a8627f68eb256c9d54b80940e5dc224e85c-repomd.xml.gz
401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
cdcb85c0e4daf1675d1ab6c42b0cacc6f9460d938296f7bf52678514a86a0554-repomd.xml
dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
repomd.xml
[root@ shanan repodata]# netstat -ntap | grep 21
tcp6 0 0 :::21 :::* LISTEN 7984/vsftpd
[root@ shanan repodata]#
[root@sha ~]# yum install -y ftp
[root@sha ~]# ftp 192.168.100.55
Connected to 192.168.100.55 (192.168.100.55).
220 (vsFTPd 3.0.2)
Name (192.168.100.55:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls //查看FTP列表文件夹
227 Entering Passive Mode (192,168,100,55,119,5).
150 Here comes the directory listing.
drwxr-xr-x 8 0 0 220 Jul 12 10:58 centos7
drwxr-xr-x 3 0 0 22 Jul 12 11:01 other
drwxr-xr-x 2 0 0 6 Apr 01 04:55 pub
226 Directory send OK.
ftp> bye
221 Goodbye.
[root@sha ~]# cd /etc/yum.repos.d
[root@sha yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@sha yum.repos.d]# mkdir bak
[root@sha yum.repos.d]# ls
bak CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
[root@sha yum.repos.d]# mv C* bak
[root@sha yum.repos.d]# ls
bak
[root@sha yum.repos.d]# vi centos7.repo
[base]
name=centos7.Packages
baseurl=ftp://192.168.100.55/centos7
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.100.55/centos7/RPM-GPG-KEY-CentOS-7
[other]
name=other.packages
baseurl=ftp://192.168.100.55/other
enabled=1
gpgcheck=0
[root@sha yum.repos.d]# yum list
[root@sha yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base other
Cleaning up list of fastest mirrors
Other repos take up 19 M of disk space (use --verbose for details)
[root@sha yum.repos.d]# yum makecache
已加载插件:fastestmirror
Determining fastest mirrors
base | 3.6 kB 00:00:00
other | 3.6 kB 00:00:00
(1/8): base/group_gz | 166 kB 00:00:00
(2/8): base/filelists_db | 3.2 MB 00:00:00
(3/8): base/other_db | 1.3 MB 00:00:00
(4/8): base/primary_db | 3.1 MB 00:00:00
(5/8): other/group_gz | 1.1 kB 00:00:00
(6/8): other/filelists_db | 586 B 00:00:00
(7/8): other/primary_db | 1.1 kB 00:00:00
(8/8): other/other_db | 575 B 00:00:00
元数据缓存已建立
[root@sha yum.repos.d]# yum install mysql -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.60-1.el7_5 将被 安装
--> 解决依赖关系完成
[root@sha yum.repos.d]# yum update 更新软件包,更新软件和系统内核
[root@sha yum.repos.d]# yum udgrade 只更新软件包