当前位置:   article > 正文

Linux-部署YUM仓库及NFS共享服务

Linux-部署YUM仓库及NFS共享服务

系列文章目录

` 提示:仅用于个人学习,进行查漏补缺使用。
1.Linux-网络设置
2.Linux-DHCP服务、vsftp
3.Linux-DNS域名解析服务
4.Linux-远程访问及控制


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本章大概内容有:
       YUM仓库服务、NFS共享存储服务等

提示:以下是本篇文章正文内容,下面案例可供参考

一、YUM仓库服务

  • 1.1 YUM概述

    • YUM(Yellowdog Updater, Modified)是一个在Linux系统中广泛使用的软件包管理工具。
    • 它主要用于自动解决RPM包之间的依赖关系,并从软件仓库中下载和安装软件包。
    • YUM是一个命令行工具,它可以运行在所有的Red Hat Enterprise Linux(RHEL)变种以及基于Debian的系统中,如Ubuntu。
    • _PS:_epel源–》扩展源
      • epel一个第三方软件仓库。它由Fedora社区维护,提供了许多在官方仓库中没有的软件包。
  • 1.2 软件仓库的提供方式-》【清华大学镜像站-https://mirrors.tuna.tsinghua.edu.cn/

    • FTP服务:ftp://…
    • HTTP服务: http://…
    • 本地目录:file://…
  • 1.3 RPM软件包的来源

    • CentOS发布的RPM包集合
    • 第三方组织发布的RPM包集合
    • 用户自定义的RPM包集合
  • 1.4 Linux系统各家厂商用的安装源

    • centos7和rhel7默认使用的是yum仓库源,软件包的结尾是“.rpm”
    • centos8和rhel8可以使用dhf(是yum的衍生产品)
    • Ubuntu debian使用的是apt软件包是以“.deb”结尾
  • 1.5 yum命令的运用
    | 命令 | 功能描述 |
    | — | — |
    | yum install | 安装一个新的或已有的包。 |
    | yum update | 升级一个已安装的包。 |
    | yum upgrade | 具体软件更新 |
    | yum remove | 卸载一个包。 |
    | yum groupinfo | 显示关于一个组的详细信息 |
    | yum search | 在仓库中搜索一个包。 |
    | yum info | 显示一个包的信息。 |
    | yum list | 列出所有可安装的包,或所有已安装的包。 |
    | yum list installed | 显示所有已经安装的包。 |
    | yum list updates | 列出所有可以更新的包。 |
    | yum check-update | 检查是否有可用的更新包。 |
    | yum clean | 清理YUM缓存。 |
    | yum clean packages | 清除缓存目录下的软件包。 |
    | yum clean headers | 清除缓存目录下的 headers。 |
    | yum clean, yum clean all ( yum clean packages; yum clean oldheaders) | 清除缓存目录下的包及旧的headers。 |

**PS:**使用-y参数自动确认所有提示,使用-q参数安静地执行命令,不显示进度和信息。

  • 1.6 yum下载方式
    • 方式一、
yum install --downloadonly mariadb          ###仅下载
#下载下来的安装包都是放在 /var/cache/yum/x86_64/7/ 目录下
  • 方式二、
yumdownloader --destdir=/opt mariadb mariadb-server   
#yumdownloader 仅下载指定软件 包,参数 --destdir 是用来指定存放下载的安装包的目录
  • 方法三、
    • yum的缓存功能:默认情况下,yum会在安装完软件之后,自动清理掉安装包。但是也可以通过设置,让yum不清楚安装后的安装包。
vim  /etc/yum.conf 将配置中的keepcache=o  修改为 keepcache=1
###此时下载好的软件包默认安置在:/var/cache/yum
  • _**PS: **_yum相关的日志文件
/var/log/yum.log 
  • 1.7 yum 仓库源的三种搭建
[test]
name=test
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1
  • 搭建本地,在线混合yum仓库 #两个yum源的名字要做区分
[test1]      
name=test1   
baseurl=file:///mnt
gpgcheck=0  
enabled=1  
priority=1 #优先级,数字越小,优先级越高

[test]
name=test
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1
priority=2
  • _1.8 搭建ftp yum仓库 _
    • 准备两台虚拟机,一台用作服务端,提供下载库,一台作为客户端,建立yum仓库获取下载库的资源,并关闭两台虚拟机的防火墙
    • 第一步:服务端安装 vsftpd服务
yum install -y vsftpd
  • 第二步:服务端在/var/ftp/ 下创建一个文件,并且挂载

该步骤涉及到ftp原理,用户远程访问时的,根目录就在 /var/ftp上,所以在此创建挂载目录

[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/cdrom  /var/ftp/centos7/
[root@localhost ftp]# systemctl start vsftpd 					#开启服务

image.png
image.png

  • 第三步:客户端搭建ftp yum仓库
[root@localhost ~]# cd  /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir repo.bak
[root@localhost yum.repos.d]# mv *.repo  ./repo.bak/
[root@localhost yum.repos.d]# vim local.repo
systemctl stop firewalld
setenforce 0

image.png
image.png


  • 1.9 下载的方式创建阿里云:
yum install wget	
搭建阿里云仓库 
第一步:将我们创建的local.repo文件移动到repo.bak目录下(也可以是别的备份目录)
第二步:将可以连外网的系统打开,下载镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
直接使用即可

二、NFS共享存储服务

  • 概述:
    • NFS(Network FIle System)网络文件系统
      • 依赖于RPC(远程过程调用)
      • 需安装nfs-utils、rpcbind软件包
      • 系统服务:nfs、rpcbind
      • 共享配置文件: /etc/exports
    • NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
    • 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
    • NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
    • 所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
  • NFS 的配置文件
    • NFS 的配置文件为/etc/exports

格式为:
共享的目录位置 客户机地址(权限选项)

  • 在文件服务器使用NFS发布共享资源
    - 以下在服务器server上操作:
    • 1.安装 nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
  • 2.设置共享目录
mkdir -p /opt/wwwroot
chmod 777 /opt/wwwroot

vim /etc/exports
/opt/wwwroot 192.168.233.0/24(rw,sync,no_root_squash)
#这里的192.168.223.0是网址,也可以改成设备名,不过需要加入到/dev/hosts目录中

/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw)
/share *(rw,sync)										###将挂载点共享给客户端,后面的baseurl就可以用file


###以下将对上面出现的单词加以解释说明
客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
“rw” 表示允许读写,“ro” 表示为只读。
sync :表示同步写入到内存与硬盘中。
no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。

其它常用选项
all_squash :所有访问用户都映射为匿名用户或用户组。
async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

image.png
image.png
image.png

  • 3.启动NFS服务程序
#手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind --now
systemctl enable nfs	--now
grep rpcbind			#查看rpcbind端口是否开启,rpcbind服务默认使用tcp端口111
  • 4.查看本机发布的NFS共享目录
showmount -e

image.png

  • 在客户机中访问NFS共享资源
    - 以下是客户端操作
    • 5.安装nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind				###下载

systemctl start rpcbind
systemctl enable rpcbind --now
systemctl start nfs-utils
systemctl enable nfs-utils --now				###安装

showmount -e 10.0.0.10				###查看 NFS 服务器端共享了哪些目录
  • 6.手动挂载NFS共享目录
mkdir /myshare
mount 10.0.0.10:/opt/wwwroot /myshare

mount			#确认挂载结果,也可以使用df -Th

image.png
image.png

  • 7.设置自动挂载
vim /etc/fstab
192.168.233.21:/opt/wwwroot		/myshare	nfs defaults,_netdev	0  0

###_netdev :表示挂载设备需要网络

image.png

  • 8.强制卸载 NFS
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。
umount -lf /myshare
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/1022443
推荐阅读
相关标签
  

闽ICP备14008679号