05、部署 YUM 仓库及NFS 共享服务

news2024/10/6 4:02:03

目录

5.1 部署YUM软件仓库

5.1.1 准备网络安装源(服务器端)

1、准备软件仓库目录

2、安装并启用vsftpd服务

5.1.2 配置软件仓库位置(客户端)

5.2 使用yum工具管理软件包

5.2.1 查询软件包

1、yum list——查询软件包列表

2、yum info——查询软件包的描述信息

3、yum search——查询指定的软件包

4、yum whatprovides——查询命令属于哪个软件包

5.2.2 安装、升级、卸载软件包

5.3 NFS共享存储服务

5.3.1 使用NFS发布资源共享

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

2、设置共享目录

3、启动NFS服务程序

4、查看本机发布的NFS共享目录

​编辑

5.3.2在客户机中访问NFS共享资源

1、安装并启动rpcbind

2、手动挂载NFS共享目录

3、fstab自动挂载设置

4、强制卸载NFS


5.1 部署YUM软件仓库

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

        要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种rpm 安装包文件及其依赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

5.1.1 准备网络安装源(服务器端)

        YUM 软件仓库通常借助于 HTTP 或 FTP 协议来进行发布,这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据(repodata),其中收集了目录下所有 rpm 包的头部信息。

1、准备软件仓库目录

        在 CentOS7系统的安装光盘中,已针对软件目录 Packages 建立好 repodata 数据因此只要简单地将整个光盘中的内容通过 HTTP 或FTP 进行发布,就可以作为软件仓库了。例如,可以创建/var/ftp/centos7 目录,并确保有足够的可用空间(本例中建议大于 5GB),然后将 CentOS7光盘中的所有数据复制到该目录下。

        对于用户搜集的非 CentOS7光盘自带的更多其他软件包(必须包括存在依赖关系的所有安装文件),除了准备相应的目录之外,还需要手动创建 repodata 数据文件,这就要用到createrepo 工具(需要从 CentOS7光盘中安装)。例如,若已将作为源发布的其他rpm 安装包文件存放到/var/ftp/other 目录下,则可执行以下操作为其创建 repodata 数据。

2、安装并启用vsftpd服务

        访问 ftp://192.168.4.254/centos71,确保可以查看到已复制到软件仓库目录ivar/ftp/centos7 下的光盘数据;访问 ftp:/1192.168.4.254/other/,可以查看非 CentOS7光盘自带的其他软件包。

5.1.2 配置软件仓库位置(客户端)

        在客户机上需要指定至少一个可用的软件仓库,然后才能使用下一节将要介绍的yum工具来下载、安装软件包。yum 工具使用的软件仓库信息存放在/etclyum.repos.d 目录下扩展名为“.repo”的文件中。以上一小节的网络安装源为例,典型的仓库配置如下所示。

        上述操作中,文件 centos7.repo 需要手动创建,/etc/yum.repos.d 目录下若有其他未用的“*.repo”文件建议将其删除。“enabled=1”为默认项,可以省略;“gpgcheck"和“gpgkey”两行配置用来检查软件包的完整性,若无此要求则可以省略。
        作为临时解决办法之一,实际上也可以使用本地文件夹作为软件仓库。例如,将CentOs7 光盘挂载到/media/cdrom 目录下以后,可以参考以下操作来进行配置。当然,这种方式仅限于在本机使用。

        到这里 YUM 软件仓库的配置工作就算完成了,下一节将介绍 yum 命令的使用,通过集中提供的软件仓库来管理客户机中的软件安装。

5.2 使用yum工具管理软件包

        在 CentOS7 服务器中,yum 工具是最常用的 YUM 客户端工具,由默认安装的yum-3.2.29-40.el6.noarch 软件包提供。下面分别介绍如何使用 yum 工具来查询、安装、
升级及卸载软件包。

5.2.1 查询软件包

        yum 工具的常见查询操作包括査询软件包列表、查询软件包的描述信息、查询指定的软件包,分别可结合子命令 list、info、search 来实现。

1、yum list——查询软件包列表

        直接执行“yum list”命令可以获得系统中的软件安装情况,也可以查询软件仓库中可用的软件包列表,其中子命令list表示列表查看。

        若执行“yum listinstalled”命令,则表示只列出系统中已安装的软件包;若执行“yum listavailable”命令,则表示只列出软件仓库中可用(尚未安装)的软件包;若执行“yum listupdates”命令,则表示只列出可以升级版本的软件包。

2、yum info——查询软件包的描述信息

        当需要查看某个软件包的描述信息时,可以执行“yum info 软件包名”,其中子命令info表示获取信息。例如,执行以下操作可以查看软件包 httpd 的信息。

3、yum search——查询指定的软件包

        当需要根据某个关键词来查找相关的软件包时,可以执行“yum search 关键词”,默认仅根据软件包名称和描述信息进行搜索;若执行“yum search al 关键词”,可以扩大搜索范围。例如,执行以下操作将搜索软件仓库并列出与“httpd”相关的软件包。

4、yum whatprovides——查询命令属于哪个软件包

        在使用 Linux 操作系统过程中,经常遇到找不到某命令的现象。那这个命令需要安装什么软件包之后才会出现呢?yum whatprovides 就可以解决这个问题的,它可以查找某个命令属于哪个软件包。

        注意:通过执行查询操作“yum grouplist""yum groupinfo 分组名称”可以获得 YUM仓库中的软件分组信息。例如,执行“yum groupinfo gnome-desktop”命令后将列出软件分组 gnome-desktop 所包括的软件包等信息。

5.2.2 安装、升级、卸载软件包

        使用 yum 工具安装、升级软件包,分别通过子命令instal、update 来完成,操作对象为指定的软件包名(可以有多个)。执行操作时会自动检查并解决软件包之间的依赖关系,期间会提示用户按Y键确认安装或升级操作,若希望自动确认,可以在 vum 命令后添加“-V选项。例如,执行以下操作将从软件仓库下载并安装net-snmp 软件包,并自动解决其依赖关系。

        使用 yum 工具卸载软件包时,通过子命令remove 来完成,卸载操作通过软件仓库也可以完成。例如,执行以下操作将卸载 autofs 软件包,并自动解决其依赖关系

        注意:使用yum 工具管理软件包时,结合子命令groupinstall、groupupdate、groupremove可以针对软件分组进行安装、升级、卸载操作。例如,若执行“yum -y groupremovegnome-desktop”命令,则会删除整个 Desktop 分组所包含的软件包。

5.3 NFS共享存储服务

        NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS 也是 NAS 存储设备必然支持的一种协议。

        下面将学习 NFS共享服务的基本配置和访问方法。

5.3.1 使用NFS发布资源共享

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

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

        提供 RPC 支持的服务为rpcbind,提供 NFS 共享的服务为 nfs,完成安装以后建议调整这两个服务的自启动状态,以便每次开机后自动启用。手动加载NFS共享服务时,应该先启动rpcbind,再启动 nfs。

2、设置共享目录

        NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在 exports 文件中设置共享资源时,记录格式为“目录位置 客户机地址(权限选项)"。例如,若要将文件夹1opt/wwwroot 共享给 172.16.16.0124 网段使用,允许读写操作,具体配置如下所示。

        其中客户机地址可以是主机名、IP 地址、网段地址,允许使用*、?通配符;权限选项中的 rw 表示允许读写(ro 为只读),sync 表示同步写入,no_root squash 表示当客户机以root 身份访问时赋予本地 root权限(默认是 root squash,将作为 nfsnobody 用户降权对待)。
        当需要将同一个目录共享给不同的客户机,且分配不同的权限时,只要以空格分隔指定多个“客户机(权限选项)"即可。例如,以下操作将ar/ftp/public 目录共享给两个客户机,并分别给予只读、读写权限。

3、启动NFS服务程序

4、查看本机发布的NFS共享目录

5.3.2在客户机中访问NFS共享资源

        NFS协议的目标是提供一种网络文件系统,因此对 NFS 共享的访问也使用 mount 命令来进行挂载,对应的文件系统类型为nfs。既可以手动挂载,也可以加入fstab 配置文件来实现开机自动挂载。

1、安装并启动rpcbind

        若要正常访问 NFS 共享资源,客户机中也需要安装rpcbind 软件包,并启动rpcbind系统服务。另外,为了使用showmount 查询工具,建议将 nfs-utils 软件包也一并装上。

        如果已经安装了 nfs-utils 软件包,则客户机也可以使用 showmount 查看 NFS 服务器端共享了哪些目录,查询格式为“showmount-e 服务器地址”。

2、手动挂载NFS共享目录

        以 root 用户身份执行 mount 操作,将 NFS 服务器共享的/optwwwroot 目录挂载到本地目录/var/www/html。与挂载本地文件系统不同的是,设备位置处应指出服务器地址。

        完成挂载以后,访问客户机的/varwww/htm 文件夹,实际上就相当于访问 NFS 服务器中的/optwwwroot 文件夹,其中的网络映射过程对于用户程序来说是透明的。例如,上述操作中创建的index.html测试文件,会立刻出现在服务器的/opt/wwwroot/目录下。

3、fstab自动挂载设置

        修改/etc/fstab 配置文件,加入 NFS 共享目录的挂载设置。注意将文件系统类型设为nfs,挂载参数建议添加 netdev(设备需要网络):若添加 soft、intr 参数可以实现软挂载允许在网络中断时放弃挂载。这样客户机就可以在每次开机后自动挂载 NFS共享资源了。

4、强制卸载NFS

        NFS客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端 NFS服务突然间停掉了,那么在客户端就会出现执行 df-h命令卡死的现象。这个时候使用umount 命令是无法直接卸载的,需要加上-f 才能卸载。
        当出现卡死现象时,要重新开一个终端,执行 cat /etc/rc.local 命令,查看挂载点。
        然后使用 umount 命令卸载,其中-|表示解除正在繁忙的文件系统,-f表示强制。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript日期对象、DOM节点操作(查找、增加、克隆、删除)

目录 1. 日期对象2. DOM节点操作2.1 查找节点2.2 增加节点2.3 克隆节点2.4 删除节点 1. 日期对象 实例化日期对象: 获取当前时间: new Date()获取指定时间: new Date(2023-12-1 17:12:08) 日期对象方法: 方法作用说明getFullYear()获得年份获取四位年份getMonth…

建筑学跑路:揭秘热门转行新选择!

话说建筑学真的是我见过最关心同行的专业,每个建筑学跑路的帖子下面都有人问:你跑哪里去了? 很多人表示,我也想跑 当然不仅建筑学,园林的、城规的、土木的也会来凑热闹: 很多小伙伴分享了自己的转行经历&a…

【免费分享】全国shp数据汇总(中国湖泊、县界、公路、河流、铁路、国界线、经纬线、省会城市、省级行政区、县城驻地、线状省界)

ESRI Shapefile(shp),或简称shapefile,该文件格式已经成为了地理信息软件界的开放标准,也是重要的交换格式,能够在ESRI与其他公司的产品之间进行数据互操作。 Shapefile属于一种矢量图形格式,它…

电脑硬盘文件隐藏了怎么恢复数据?轻松上手不求人

在数字化时代,电脑硬盘中存储的数据对于个人和企业而言都至关重要。然而,有时我们可能会遇到一些意想不到的情况,比如硬盘中的文件突然消失了或者变成了隐藏状态。这种情况不仅让人感到困惑,还可能对日常工作和生活造成不小的影响…

cesium按照参数绘制不同形状的船舶

俺们公司之前有个自创的所谓前端GIS框架,是用Cesium搞的。我对该框架不熟悉,用它在地图上作画,画船舶符号,看以前的代码,感觉十分艰深晦涩,什么材质、纹理,令人头大如斗。我4年前用过一阵Cesium…

Multi-Head RAG:多头注意力的激活层作为嵌入进行文档检索

现有的RAG解决方案可能因为最相关的文档的嵌入可能在嵌入空间中相距很远,这样会导致检索过程变得复杂并且无效。为了解决这个问题,论文引入了多头RAG (MRAG),这是一种利用Transformer的多头注意层的激活而不是解码器层作为获取多方面文档的新…

mysql分析常用锁

这里写自定义目录标题 1.未提交事物,阻塞DDL,继而阻塞所有同表的后续操作,查看未提交事务的进程2.存着正在进行的线程数据。3.根据processlist表中的id杀掉未释放的线程4.查看正在使用的表5.mysql为什么state会有waiting for handler commit6.什么情况导…

处理耗时任务

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 处理耗时任务 {public partial class Form1 : Form{public Form1(){InitializeComponent();}bool IsRun false;private string path Directory.GetCurrentDirectory() "\\古诗词.txt";private…

虚拟机怎么额外搭建两个Redis节点,配置多个 Redis 实例

前提条件 在开始之前,请确保你已经具备以下条件: 一台已安装 Redis 的虚拟机。虚拟机上已安装基本的 Linux 工具(例如 FinalShell)。 步骤二:配置额外的 Redis 实例 接下来,我们将配置两个新的 Redis 实…

鸿蒙原生应用元服务开发-位置服务申请权限

申请位置权限开发指导 场景概述 应用在使用位置服务系统能力前,需要检查是否已经获取用户授权访问设备位置信息。如未获得授权,可以向用户申请需要的位置权限。 系统提供的定位权限有: ohos.permission.LOCATION:用于获取精准位置…

机器学习python实践——由特征选择引发的关于卡方检验的一些个人思考

最近在用python进行机器学习实践,在做到特征选择这一部分时,对于SelectPercentile和SelectKBest方法有些不理解,所以去了查看了帮助文档,但是在帮助文档的例子中出现了"chi2",没接触过,看过去就更…

垃圾佬的狂欢!3元/月开Minecraft国际服务器全流程教程

大家好!我是ErikTse,一名生活在捡垃圾区的UP主,相信不少点进本文的朋友们跟我一样,在小时候都有一个当腐竹(MC服主)的梦,可惜那时还小,不懂网络更不懂技术,只有一颗爱玩的…

c++里 lamda 表达式,其实被编译器处理为匿名类,并实例化为匿名对象

该匿名对象定义了括号 () 运算符函数,所以可以像函数一样被调用。 lamda 表达式必须在函数作用域中定义。通过按值捕获或按引用捕获,可以使用所在函数中定义的变量。在类的成员函数中定义的 lamda 表达式,若捕获了 this ,则可以修…

配置OSPF认证(华为)

#交换设备 配置OSPF认证-基于华为路由器 OSPF(开放最短路径优先)是一种内部网关协议(IGP),用于在单一自治系统(AS)内决策路由。OSPF认证功能是路由器中的一项安全措施,它的主要用途…

B-splines曲线的绘制(Matlab)

虽然在这个链接三次 Bspline(B样条曲线) NURBS曲线的绘制 matlab_三次b样条曲线的绘制-CSDN博客中我们介绍了NURBS曲线,然而有时候我们通过B-spline曲线也能够解决问题。B-spline曲线作为NURBS曲线的一种特例,这里给出均匀B-spline曲线的表达式&#xff…

基于PHP的草莓种植信息管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的草莓种植管理系统 一 介绍 此草莓种植管理系统基于原生PHP开发,数据库mysql,前端采用jquery.js和kindeditor在线HTML编辑器。系统角色分为用户和管理员。 技术栈:phpmysqljquery.jsphpstudyvsco…

【Windows系统】文件操作出现“文件访问被拒绝”弹窗问题

环境 系统:win10x64 版本:1709 问题 重命名系统文件夹文件,有时会出现【文件访问被拒绝】的弹窗,导致操作失败。 如何才能避免弹窗,成功操作? 解决方法 前提:实施以下解决,首先…

Vue自定义长按指令

新建文件longpress.ts文件 // longpress.ts import { DirectiveBinding } from vue const longpress {beforeMount(el: any, binding: DirectiveBinding) {const cb binding.valueconst duration binding.arg || 800 // 长按等待时间let timer: number | null nulllet is…

这些数据可被Modbus采集,你还不知道???

为什么要用Modbus采集模块 Modbus采集模块之所以被广泛使用,是因为它提供了标准化的通信协议,确保了不同设备间的兼容性。它支持多种通信方式,易于实现,并且能够适应不同的网络环境。Modbus模块能够收集和传输各种工业数据&#x…

从荒漠到绿洲:可视化技术助力可持续农业

运用图扑可视化技术优化荒漠农业管理,通过实时监控与数据分析提高土地资源利用和生产效率,实现生态可持续发展。