yum仓库(局域yum仓库搭建、本地仓库搭建)、NFS(网络文件系统)

yum仓库(局域yum仓库搭建、本地仓库搭建)和nfs

文章目录

    • yum仓库(局域yum仓库搭建、本地仓库搭建)和nfs
      • 一、yum仓库的介绍
        • 【1】原理
        • 【2】分类
        • 【3】配置文件
      • 二、局域网yum源搭建(ftp)
        • 【1】服务端配置
          • (1)挂载光盘
          • (2)安装vsftp服务
          • (3)在ftp站点(/var/ftp/)中创建下载目录(centos7)
          • (4)将光盘的挂载点下所有复制到ftp下载目录中
          • (5)创建yum索引环境
          • (6)启动vsftp服务
        • 【2】客户端配置
          • (1)安装ftp服务源并查看连接
          • (2)创建ftp本地服务源
          • (3)清除本地yum缓存,重新加载缓存
      • 三、搭建本地yum仓库(file)
        • 【1】挂载光盘
        • 【2】移动线网yum源到文件夹中
        • 【3】创建本地yum源
        • 【4】在本地源中写入相关信息
        • 【5】清除本地缓存并加载
      • 四、NFS共享储存
        • 【1】原理
        • 【2】配置文件
        • 【3】搭建
          • (1)在服务端添加共享的硬盘,格式化并挂载使用
          • (2)安装nfs-utils和rpcbind软件包,并设置开机自启动
          • (3)修改配置文件
          • (4)关闭防火墙、防护,开启nfs服务、查看端口状态、查看是否共享
          • (5)在客户端安装http服务
          • (6)挂载共享目录到网页目录下
          • (6)验证是否共享
          • (7)模拟服务器宕机并处理

一、yum仓库的介绍

【1】原理

Yum软件仓库的作用是为了进一步简化RPM管理软件难度以及自动分析所需软件包及其依赖关系的技术。您可以把Yum想象成是一个硕大的软件仓库,里面保存有几乎所有常用的工具,而只需要说出所需的软件包名称,系统就会自动的为您搞定一切。

【2】分类

(1)线网yum源http://(要ping通外网才可以使用)
(2)局域网yum源ftp://(要ping通局域网才可以使用)
(3)本地yum源file://(是用光盘中的软件包)

【3】配置文件

yum仓库放置路径:/etc/yum.repos.d/
ftp站点:/var/ftp/

二、局域网yum源搭建(ftp)

【1】服务端配置

(1)挂载光盘
[root@localhost ~]# hostname server(为了实验方便临时修改主机名)
[root@localhost ~]# bash
[root@server ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@server ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        50G  4.5G   46G    9% /
/dev/mapper/centos-home xfs       245G   37M  245G    1% /home
/dev/sda1               xfs      1014M  238M  777M   24% /boot
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /mnt
(2)安装vsftp服务
[root@server ~]# yum install -y vsftpd
[root@server ~]# cd /var/
[root@server var]# ls(查看是否有ftp目录)
account  cache  db     ftp    gopher    lib    lock  mail  opt       run    target  yp
adm      crash  empty  games  kerberos  local  log   nis   preserve  spool  tmp
(3)在ftp站点(/var/ftp/)中创建下载目录(centos7)
[root@server var]# cd ftp
[root@server ftp]# ls
pub
[root@server ftp]# mkdir centos7
[root@server ftp]# ls
centos7  pub
(4)将光盘的挂载点下所有复制到ftp下载目录中
[root@server ftp]# cp -rf /mnt/* centos7/ &(放在后台运行,可以继续执行后面的步骤)
[root@server ftp]# ls centos7/
CentOS_BuildTag  EULA  images  LiveOS  repodata   RPM-GPG-KEY-CentOS-Testing-7
EFI  GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@server ftp]# jobs(查看后台运行)
(5)创建yum索引环境
[root@server ftp]# mkdir other
[root@server ftp]# ls
centos7  other  pub
[root@server ftp]# createrepo -g /mnt/repodata/repomd.xml other/(使用光盘的索引模板)
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
(6)启动vsftp服务
[root@server ~]# systemctl stop firewalld.service 
[root@server ~]# setenforce 0
[root@server ftp]# systemctl start vsftpd
[root@server ftp]# netstat -natp |grep 21
tcp6       0      0 :::21                   :::*                    LISTEN      2711/vsftpd         

【2】客户端配置

(1)安装ftp服务源并查看连接
[root@client ~]# yum install -y ftp*
[root@client ~]# ftp 192.168.60.60(使用ftp连接服务器)
Connected to 192.168.60.60 (192.168.60.60).
220 (vsFTPd 3.0.2)
Name (192.168.60.60:root): ftp(匿名登录)
331 Please specify the password.
Password:(服务器的密码)
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls(查看站点信息)
227 Entering Passive Mode (192,168,60,60,47,117).
150 Here comes the directory listing.
drwxr-xr-x    8 0        0             220 Jul 13 02:59 centos7
drwxr-xr-x    3 0        0              22 Jul 13 03:01 other
drwxr-xr-x    2 0        0               6 Apr 01 04:55 pub
226 Directory send OK.
(2)创建ftp本地服务源
[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# mkdir backup
[root@client yum.repos.d]# mv C* backup
[root@client yum.repos.d]# touch centos7.repo

查看gpgkey的路径

[root@server ~]# cd /var/ftp/centos7/
[root@server centos7]# ls
CentOS_BuildTag  EULA  images  LiveOS  repodata  RPM-GPG-KEY-CentOS-Testing-7
EFI    GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

其中RPM-GPG-KEY-CentOS-7就是密钥存放的文件,进入yum源写入相关信息。

[root@client yum.repos.d]# vim centos7.repo
[base]
name=base.centos7
baseurl=ftp://192.168.60.60/centos7(软件包路径)
enabled=1
gpgcheck=1(开启验证功能)
gpgkey=ftp://192.168.60.60/centos7/RPM-GPG-KEY-CentOS-7(密钥路径)
[other]
name=other.centos7
baseurl=ftp://192.168.60.60/other
enabled=1
gpgcheck=0
(3)清除本地yum缓存,重新加载缓存
[root@client yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base other
Cleaning up list of fastest mirrors
Other repos take up 21 M of disk space (use --verbose for details)
[root@client yum.repos.d]# yum list

三、搭建本地yum仓库(file)

【1】挂载光盘

[root@localhost ~]#mount /dev/cdrom /mnt(挂载光盘到/mnt目录下)

【2】移动线网yum源到文件夹中

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost 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@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup/
[root@localhost yum.repos.d]# ls
backup

【3】创建本地yum源

[root@localhost yum.repos.d]# touch local.repo
[root@localhost yum.repos.d]# ls
backup  local.repo

【4】在本地源中写入相关信息

[root@localhost yum.repos.d]# vim local.repo (编辑本地yum)
[local]
name=centos7
baseurl=file:///mnt(本地yum使用的路径光盘挂载的目录)
enabled=1
gpgcheck=0

【5】清除本地缓存并加载

[root@localhost yum.repos.d]# yum clean all(清空缓存)
[root@localhost yum.repos.d]# yum list(重新加载列表)

四、NFS共享储存

【1】原理

NFS 跟其他文件共享协议一样,也是采用了 C/S 架构。但是,NFS 只提供了基本的文件处理功能,而不提供任何 TCP/IP 数据传输功能。它需要借助 RPC 协议才能实现 TCP/IP 数据传输功能。NFS 文件系统对客户端来说是完全透明的,访问 NFS 文件系统上的文件或目录就跟在访问本地的文件或目录一样!

【2】配置文件

/etc/exports

【3】搭建

(1)在服务端添加共享的硬盘,格式化并挂载使用

1)添加新的磁盘并处理
yum仓库(局域yum仓库搭建、本地仓库搭建)、NFS(网络文件系统)_第1张图片

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x6f618b27 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-52428799,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-52428799,默认为 52428799):
将使用默认值 52428799
分区 1 已设置为 Linux 类型,大小设为 25 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:26.8 GB, 26843545600 字节,52428800 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6f618b27
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    52428799    26213376   83  Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

2)格式化磁盘

[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1638336 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=6553344, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=3199, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3)挂载

临时挂载
[root@server ~]# mount /dev/sdb1 /mnt
[root@server ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        50G  4.5G   46G    9% /
/dev/mapper/centos-home xfs       245G   37M  245G    1% /home
/dev/sda1               xfs      1014M  238M  777M   24% /boot
tmpfs                   tmpfs     378M   24K  378M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               xfs        25G   33M   25G    1% /mnt
永久挂载
[root@server ~]#vim /etc/fstab
/dev/sdb1   /mnt   xfs   defaults   0 0
[root@server ~]#mount -a
(2)安装nfs-utils和rpcbind软件包,并设置开机自启动

为了实验清晰临时修改主机名

[root@localhost ~]# hostname server
[root@localhost ~]# bash

安装nfs相关的软件包

[root@server ~]# yum install -y nfs-utils
[root@server ~]# yum install -y rpcbind
(3)修改配置文件
[root@server ~]# vim /etc/exports
/mnt    192.168.60.0/24(rw,sync,no_root_squash)
(4)关闭防火墙、防护,开启nfs服务、查看端口状态、查看是否共享
[root@server ~]# systemctl stop firewalld.service 
[root@server ~]# setenforce 0
[root@server ~]# systemctl start nfs
[root@server ~]# systemctl start rpcbind
[root@server ~]# netstat -natp |grep rpcbind
tcp        0      0 0.0.0.0:111       0.0.0.0:*        LISTEN      795/rpcbind         
tcp6       0      0 :::111            :::*             LISTEN      795/rpcbind      
[root@server ~]# showmount -e(查看是否共享)
Export list for server:
/mnt 192.168.60.0/24
(5)在客户端安装http服务
[root@localhost ~]# hostname client
[root@localhost ~]# bash
[root@client ~]# systemctl stop firewalld
[root@client ~]# setenforce 0
setenforce: SELinux is disabled
[root@client ~]# yum install -y httpd
(6)挂载共享目录到网页目录下
临时挂载
[root@client ~]# mount 192.168.60.60:/mnt /var/www/html/
[root@client ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  4.2G   46G    9% /
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.3M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M   17% /boot
/dev/mapper/centos-home xfs       247G   37M  247G    1% /home
tmpfs                   tmpfs      98M   12K   98M    1% /run/user/42
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0
192.168.60.60:/mnt      nfs4       25G   33M   25G    1% /var/www/html
永久挂载
[root@client ~]# vim /etc/fstab 
192.168.60.60:/mnt /var/www/html     nfs       defaults,_netdev      0 0
[root@client ~]# mount -a
(6)验证是否共享
[root@client ~]# vim /var/www/html/index.html

this is nfs web

[root@client ~]# systemctl start httpd

网页验证
yum仓库(局域yum仓库搭建、本地仓库搭建)、NFS(网络文件系统)_第2张图片
查看服务器磁盘是否有客户端写的网页文件

[root@server ~]# cd /mnt
[root@server mnt]# ls
index.html
[root@server mnt]# cat index.html 

this is nfs web

(7)模拟服务器宕机并处理

在服务端停止nfs共享模拟宕机

[root@server ~]# systemctl stop nfs

在客户端会出现查看挂载卡死
yum仓库(局域yum仓库搭建、本地仓库搭建)、NFS(网络文件系统)_第3张图片
处理方法,ctrl+c结束查看,强制解挂载(不要自动补全)

[root@client ~]# umount -lf /var/www/html/
[root@client ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  4.2G   46G    9% /
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.4M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  166M  849M   17% /boot
/dev/mapper/centos-home xfs       247G   37M  247G    1% /home
tmpfs                   tmpfs      98M   12K   98M    1% /run/user/42
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0

你可能感兴趣的:(Linux网络,Linux系统管理)