部署YUM仓库及NFS共享存储

引言:

学习YUM 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动 查找并解决 rpm 包之间的依赖关系,而无须管理员逐个、手工地去安装每个 rpm 包,使管理员在维护大量 Linux 服务器时更加轻松自如。特别是在拥有大量 Linux 主机的本地网络中, 构建一台“源”服务器可以大大缓解软件安装、升级等对Internet 的依赖。

一、部署YUM仓库服务

1、YUM概述

  • YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器)。最初由TSS公司(Terra Soft Solutions,INC)使用 python 语言开发而成,后来由杜克大学(Dunk University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater Modified)。
  • 借助于 YUM 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动查找并解决 rpm 包之间的依赖关系,而无需管理员逐个、手工地去安装每一个 rpm 包,使管理员在维护大量 Linux 服务器时更加轻松自如。
  • 特别是在拥有大量 Linux 主机的本地网络中,构建一台源服务器可以大大缓解软件安装、升级等对 Internet 的依赖。

2、YUM仓库服务

  • 部署YUM软件仓库
  • 使用YUM工具管理软件包

3、NFS共享存储服务

  • 使用NFS发布共享资源
  • 在客户端访问NFS共享

4、yum实现过程

要有安装包

安装包:

1.光驱里自带 挂载提供软件包

2.网络下载到本地

3.直接通过网络

        先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

服务器:

  • RPM包 (Packages文件夹中)

  • 元数据(repodata文件夹:目录(软件的目录),1.软件的依赖关系,2.软件的位置)

最终形成两个文件夹 :Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)

仓库类型:

  • 光盘的仓库基本仓库 比较常用的

  • epel扩展仓库 比较新

5、如何实现安装服务

二、YUM源的提供方式

1、配置本地源仓库

mount /dev/sr0 /mnt        #把光盘挂载到/mnt目录下(前提虚拟机是光盘挂载)
cd /etc/yum.repos.d/
vim local.repo
[local]							#仓库描述
name=local						#仓库名称
baseurl=file:///mnt				#指定url访问路径为光盘挂载目录
gpgcheck=0						#不验证包安全性yum clean all && yum makecache		##清理yum缓存并更新
yum repolist    ###检查

2、配置FTP源

服务端:

  1. 安装vsftp服务
  2. 创建并制作yum远程vsftpd站点的源
  3. 启动vsftp服务
setenforce 0                          ###关闭核心防护
systemctl stop firewalld              ###关闭防火墙
rpm -qa|grep vsftpd                   ###检查是否安装了vsftpd
yum  install vsftpd -y                ###安装ftp服务
cd /var/ftp/                          ###进入ftp根文件夹
ls
mkdir centos7                         ###创建挂盘挂载目录
mount /dev/sr0 centos7/               ###镜像挂载
systemctl start vsftpd                ###开启vsftpd服务

1.安装vsftp服务

2.去vsftp的根目录完成相关配置后重启服务

挂载:

客户端:

客户端
setenforce 0                           ###关闭核心防护
systemctl stop firewalld               ###关闭防火墙yum  install  ftp                      ###安装ftp服务ftp  20.0.0.100                        ###去测试cd  /etc/yum.repos.d                   ###mkdir bak                              ###mv *.repo  bak/                        ###vim ftp.repo                           ###[ftp]                                  ###仓库描述
name=ftp                               ###仓库名称
baseurl=ftp://20.0.0.100/centos7       ###指定url访问路径为光盘挂载目录
gpgcheck=0                             ###不验证包的安全性yum install tree                       ###验证,测试

搭建ftp仓库

3.验证

3、配置HTTP源

1.服务端:

  1. 安装httpd服务
  2. 创建并制作yum远程httpd站点的源
  3. 启动httpd服务
######服务端#####systemctl stop firewalld     ####先关闭防火墙 
setenforce 0                 ####核心防护
systemctl start httpd        ##启动服务
yum install httpd -y         ##装httpd  
cd /var/www/html/            ##切换到固定目录
mkdir  centos7               ##创建文件夹
mount  /dev/sr0  centos7     ##挂载
systemctl restart httpd      ##重启服务

2.安装httpd服务并开启服务

3.挂载光盘

4.客户端:

5.关闭防火墙和核心防护,

6.搭建http仓库

7.测试安装

3、网络源

1.Centos7 清华源

vim CentOS7-Base-tsinghua.repo[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

2.  163 yum源

下载链接:wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

vim  CentOS7-Base-163.repo   #编辑163 yum 网络源[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

3.阿里云

下载地址:wget http://mirrors.aliyun.com/repo/Centos-7.repo

vim CentOS7-Base-aliyun.repo   #编辑阿里云yum 网络源
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

4.其他网络源

http://ftp.sjtu.edu.cn/centos 
#上海交大,但服务器位于北京,中国教育网网络中心, 北方用户与教育网用户推荐,速度飞快。http://centos.ustc.edu.cn,
#中国科技大学,服务器位于合肥。 南方用户推荐。http://mirrors.sohu.com/
#sohu的开源镜像服务器,服务器位于山东省联通。 速度飞快,全国用户推荐,经常用FireFox下载CD镜像
5.Centos系统的yum源及其他源
CentOS系统的yum源
#阿里云
https://mirrors.aliyun.com/centos/$releasever/ 
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/ 
#华为云
https://repo.huaweicloud.com/centos/$releasever/ 
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/EPEL的yum源
#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64
#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64#更新源
http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/

三、YUM常用命令

1、yum常用命令

yum -y install 软件名				#安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名				#卸载软件包,可自动解决其依赖关系
yum -y update 软件名				#升级软件包yum list							#查询软件包列表
yum list installed					#查询系统中已安装的软件包
yum list available					#查询仓库中尚未安装的软件包
yum list updates					#查询可以升级版本的软件包yum info 软件名						#查询软件包的描述信息
yum info httpdyum search [all] 关键词				#根据某个关键词来查找相关的软件包
yum search all httpdyum whatprovides 命令				#查询命令属于哪个软件包
yum whatprovides netstat

2、下载RPM包而不安装

yum install 包名 -y --downloadonlyyum reinstall -y bash --downloadonly           ###下载已安装过的rpm包yum install 包名 -y --downloadonly --downloaddir=/tmp/     ###下载RPM包到指定目录

 3、案例搜索RPM包(两种方法)

yum search vim
yum list|grep "vim"
查询软件包
yum list [软件名]                   ###显示可用的安装包,如不加软件名是显示所有的可用包
yum list *httpd*                    #包含httpd 的软件包yum info 软件名						#查询软件包的描述信息
yum info httpdyum search [all] 关键词				#根据某个关键词来查找相关的软件包
yum search all httpdyum   provides  <关键词>             #知道某个命令却不知道具体的包yum grouplist  [包组名]              #安装包组的查询 不加包组名 就是显示所有yum groupinfo  <包组名>              #不加包组名显示全部yum whatprovides 命令				#查询命令属于哪个软件包
yum whatprovides netstat

4、yum history命令

yum history 查看历史记录来找到它所依赖的包,然后删除。

yum history list 列出最近的历史yum history info id 列出某次的详细信息,yum history undo id 撤销某次更改yum history help 查看帮助yum history redo加入序号重新执行序号里的操作

四、NFS共享存储服务

1、NFS概述

  • NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 sun 公司开发。通过使用 NFS协议,客户机可以像访问本地目录一样访问远程 NFS 服务器中的共享资源。
  • NFS 也是 NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输,安全性很差,所以一般只能在局域网中使用。

存储类型分为三种:

  • 直连式存储:Direct-Attached Storage,简称DAS。
  • 网络附加存储:Network-Attached Storage,简称NAS。
  • 存储区域网络:Storage Area Network,简称SAN。

2、设置共享目录

NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)

在exports 文件中设置共享资源时,记录格式为“目录位置 客户机地址(权限选项)。
例如,将文件夹 /opt/web 共享给 192.168.109.0/24网段使用,允许读写操作,配置如下

mkdir /opt/nfsvim /etc/exports/opt/nfs 20.0.0.100/24(rw,sync,no_root_squash)

常用选项:

  • rw 表示允许读写
  • ro 表示为只读
  • sync 表示同步写入到内存与硬盘中
  • no_root_squash表示当客户机以root身份访问时赋予本地root权限(默认是root_squash),如果不加那么客户端无法在里面编辑或写入文件,因为默认以nfsnobody的权限
  • root_squash 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户

其他常用选项:

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

举例:

其中客户机地址可以是主机名 ID 地址、网段地址,允许使用 “*” “?” 通配符;权限选项中的 rw 表示允许读写(ro为只读),sync表示同步写入,no_root_squash表示当客户机以 root 身份访问时赋予本地 root 权限(默认是root_squash,将为 nfsnobody 用户降权对待)。

当需要将同一个目录共享给不同的客户机,且分配不同的权限时,只要以空格隔指定多个“客户机(权限选项)”即可。

例如,以下操作将 /var/ftp/public 目录共享给两个客户机,并分别给予只读、读写权限。

[root@localhost ~]# vim /etc/exports/var/ftp/public 20.0.0.101(ro) 20.0.0.102(rw)

3、安装nfs-utils、rpcbind 软件包

NFS 服务的实现依赖于 RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。在Centos 7系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

rpm -q rpcbind nfs-utils     #查询是否安装
yum install -y nfs-utils rpcbind   #安装nfs和rpc的软件包systemctl start nfs      #开启nfs服务
systemctl start rpcbind   #开启rpcbind服务
systemctl enable nfs     #开机自启nfs服务
systemctl enable rpcbind   #开机自启rpcbind服务

4、NFS特点

  • 采用TCP/IP传输网络文件
  • 安全性低
  • 简单易操作
  • 适合局域网环境

NFS端口号不固定

RPC端口号111

1.写配置文件 

vim   /etc/exports

2.在客户端查看服务端是否共享、挂载

3.测试,在客户端创建文件

4.在服务端的配置文件需要修改,即便是修改了权限但客户端还是没有权限,无法创建。看第三步绿色框的内容。改为rw

5.这时给文件夹最大权限就可以

注意:NAS要注意:文件夹本身的权限和服务的权限

5、启动NFS服务并验证结果

systemctl start nfs      #开启nfs服务
systemctl start rpcbind   #开启rpcbind服务
systemctl enable nfs     #开机自启nfs服务
systemctl enable rpcbind   #开机自启rpcbind服务netstat -anpu | grep rpc  #过滤出rpc所有UDP连接信息rpcinfo -p localhost   #查看nfs向rpc注册的端口信息exports -v     #验证结果
exports -r     #刷新结果
umount -lf  /mnt/      #强制解挂
showmount -e localhost   #验证共享

总结:

本文内容主要讲了NFS的安装步骤,先安装nfs和rpcbind软件,然后修改配置文件设置共享,再创建共享目录,最后开启服务,客户端就可以访问共享目录了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/410240.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【IAP】核心开发流程

最近做了IAP U盘升级模块开发&#xff0c;总结下IAP基本开发流程&#xff0c;不深入讨论原理。 详细原理参考 首先需要知道我们需要把之前的APP区域拆一块出来做BOOT升级程序区域。 以STM32F103为例&#xff0c;0x08000000到0x0807FFFF为FLASH空间&#xff0c;即上图代码区域…

软件测试卷王的自述,我难道真的很卷吗?

前言 转眼就到了2024年了&#xff0c;工作这几年我的薪资也从12k涨到了18k&#xff0c;对于工作只有3年多的我来说&#xff0c;还是比较满意的&#xff0c;毕竟一些工作4、5年的可能还没我高。 我可能就是大家说的卷王&#xff0c;感觉自己年轻&#xff0c;所以从早干到晚&am…

龙蜥操作系统上安装MySQL:步骤详解与常见问题解决

目录 博客前言 一.下载MySQL 1.官网下载 2.上传文件到龙蜥操作系统中 ​编辑二.安装MySQL 1.检查操作系统中的默认数据库并移除 2.创建文件夹解压 3.开始安装 4.启动服务 ​编辑 5.登录修改密码&#xff0c;进行授权 三.第三方工具连接&#xff08;naviact&#xff…

计算机三级(网络技术)——应用题

第一题 61.输出端口S0 &#xff08;直接连接&#xff09; RG的输出端口S0与RE的S1接口直接相连构成一个互联网段 对172.0.147.194和172.0.147.193 进行聚合 前三段相同&#xff0c;将第四段分别转换成二进制 11000001 11000010 前6位相同&#xff0c;加上前面三段 共30…

网络安全中的“三高一弱”和“两高一弱”是什么?

大家在一些网络安全检查中&#xff0c;可能经常会遇到“三高一弱”这个说法。那么&#xff0c;三高一弱指的是什么呢&#xff1f; 三高&#xff1a;高危漏洞、高危端口、高风险外连 一弱&#xff1a;弱口令 一共是4个网络安全风险&#xff0c;其中的“高危漏洞、高危端口、弱…

Qt6入门教程 8:信号和槽机制(连接方式)

目录 一.一个信号与槽连接的例子 二.第五个参数 1.Qt::AutoConnection 2.Qt::DirectConnection 3.Qt::QueuedConnection 4.Qt::BlockingQueuedConnection 5.Qt::UniqueConnection 三.信号 四.connect函数原型 五.信号与槽的多种用法 六.槽的属性 一.一个信号与槽连接…

vscode(visual studio code) 免密登陆服务器

1.生成密钥 首先&#xff0c;在本地&#xff0c;打开命令输入框&#xff1a; WinR–>弹出输入框&#xff0c;输入cmd,打开命令框。 然后&#xff0c;在命令框&#xff0c;输入 ssh-keygen -t rsa -C "love"按两次回车键&#xff0c;问你是否重写&#xff0c;选择…

城建档案数字化怎么做?

城建档案数字化的关键是整理、扫描、标注、管理和安全性管理&#xff0c;通过建立适当的系统和流程&#xff0c;可以实现城建档案的数字化管理和应用。 城建档案数字化的具体步骤可以分为以下几个方面&#xff1a; 1. 档案整理与分类&#xff1a;首先需要将城建档案进行整理和分…

无需任何三方库,在 Next.js 项目在线预览 PDF 文件

前言&#xff1a; 之前在使用Vue和其它框架的时候&#xff0c;预览 PDF 都是使用的 PDFObject 这个库&#xff0c;步骤是&#xff1a;下载依赖&#xff0c;然后手动封装一个 PDF 预览组件&#xff0c;这个组件接收本地或在线的pdf地址&#xff0c;然后在页面中使用组件的车时候…

本地一键部署grafana+prometheus

本地k8s集群内一键部署grafanaprometheus 说明&#xff1a; 此一键部署grafanaPrometheus已包含&#xff1a; victoria-metrics 存储prometheus-servergrafanaprometheus-kube-state-metricsprometheus-node-exporterblackbox-exporter grafana内已导入基础的dashboard【7个…

贪心算法-活动安排-最详细注释解析

贪心算法-活动安排-最详细注释解析 题目&#xff1a; 学校在最近几天有n个活动&#xff0c;这些活动都需要使用学校的大礼堂&#xff0c;在同一时间&#xff0c;礼堂只能被一个活动使用。由于有些活动时间上有冲突&#xff0c;学校办公室人员只好让一些活动放弃使用礼堂而使用…

class_7: C++引用

//1、引用是给变量取别名&#xff0c;定义的时候必须初始化&#xff0c;且指向一个确定的内存空间&#xff1b; //2、引用实质是指针常量&#xff0c;值可以改变&#xff0c;地址不可改变&#xff0c;即不可重复赋值#include <iostream> using namespace std;//1、引用是…