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

2024-06-18 18:44

本文主要是介绍05 部署YUM仓库及NFS共享服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

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语言开发而成,后来由杜克大学(Duck University)的Linux开发队伍进行改造,命名为YUM(Yellow dog Updater,Modified)

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

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

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

                1. 准备软件仓库目录

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

[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7/
[root@localhost ~]

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

                2. 安装并启用vsftpd服务

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

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

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

        上述操作中,文件 centos7.repo需要手动创建,letclyum.repos.d目录下若有其他未用的"".repo"文件建议将其删除。"enabled=1"为默认项,可以省略:“gpgcheck"和""gpgkey"两行配置用来检查软件包的完整性,若无此要求则可以省略。

        作为临时解决办法之一,实际上也可以使用本地文件夹作为软件仓库。例如,将Centos7光盘挂载到/medialcdrom目录下以后,可以参考以下操作来进行配置。当然,这种方式仅限于在本机使用。

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

5.2 使用yum工具管理软件包

        在CentOS 7服务器中,yum 工具是最常用的YUM客户端工具,由默认安装的yum-3.2.29- 40.el6.noarch软件包提供

        5.2.1 查询软件包

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

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

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

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

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

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

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

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

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

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

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

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

        使用yum 工具安装、升级软件包,分别通过子命令install、update来完成,操作对象为指定的软件包名(可以有多个)。执行操作时会自动检查并解决软件包之间的依赖关系,期间会提示用户按丫键确认安装或升级操作,若希望自动确认,可以在yum命令后添加"-y"选项。例如,执行以下操作将从软件仓库下载并安装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存储设备必然支持的一种协议。

        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的配置文件为letclexports,文件内容默认为空(无任何共享)。在 exports 文件中设置共享资源时,记录格式为“目录位置﹑客户机地址(权限选项)"。例如,若要将文件夹lopt/wwwroot共享给172.16.16.0/24网段使用,允许读写操作,具体配置如下所示。

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

        当需要将同一个目录共享给不同的客户机,且分配不同的权限时,只要以空格分隔指定多个“客户机(权限选项)"即可。例如,以下操作将/var/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目录挂载到本地目录lvar/www/html。与挂载本地文件系统不同的是,设备位置处应指出服务器地址。

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

                3. fstab自动挂载设置

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

                4. 强制卸载NFS

        NFS客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端NFS服务突然间停掉了,那么在客户端就会出现执行df -h命令卡死的现象。这个时候使用umount命令是无法直接卸载的,需要加上 -lf 才能卸载。

        当出现卡死现象时,要重新开一个终端,执行cat letclrc.local命令,查看挂载点。

        然后使用umount命令卸载,其中-l表示解除正在繁忙的文件系统,-f表示强制。

这篇关于05 部署YUM仓库及NFS共享服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072809

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测