Linux--部署YUM仓库与NFS服务(部署Yum源仓库、使用Yum工具管理软件包、NFS共享存储服务、实现目录共享)


一、部署 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机制来更新软件和软件,需要有一个包含各种 rpm 安装包文件的软件仓库,提供软件仓库的服务器也称为“源”服务器
  • 在客户机当中,只要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件了
  • 这里只是简单介绍一下理论知识,关于实践操作可以去看看我的上一篇博客,里面写的很详细,关于部署本地YUM源仓库和在线YUM源仓库都应有尽有

3.使用 yum 工具管理软件包

  • 下面来介绍一下如何使用 yum 工具来查询、安装、升级及卸载软件包

3.1 查询软件包

  • 查询软件包列表-yum list
    • 获取系统中软件的安装情况,也可以直接查询软件仓库中可用的软件包列表
    • yum list installd 表示只列出系统中已安装的软件包
    • yum list available 表示只列出软件仓库在可用(尚未安装)的软件包
    • yum list updates 则可以列出可以升级版本的软件包
[root@localhost ~]# yum list http
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
错误:没有匹配的软件包可以列出
[root@localhost ~]# yum list httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
已安装的软件包
httpd.x86_64             2.4.6-67.el7.centos              @local
[root@localhost ~]# 
  • 查询软件包的描述信息-yum info 软件包名
[root@localhost ~]# yum info httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
已安装的软件包
名称    :httpd
架构    :x86_64
版本    :2.4.6
发布    :67.el7.centos
大小    :9.4 M
源    :installed
来自源:local
简介    : Apache HTTP Server
网址    :http://httpd.apache.org/
协议    : ASL 2.0
描述    : The Apache HTTP Server is a powerful, efficient, and
         : extensible web server.

[root@localhost ~]# 

  • 查询指定的软件包-yum search
  • 当需要根据某个关键词来查找相关的软件包时,可以执行“yum search 关键词”,默认仅根据软件包名称和描述信息来进行搜索
  • 若执行“yum search all 关键词”,可以扩大搜索范围

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

  • 使用 yum 工具安装、升级软件包,分别通过子命令 install、update 来完成,操作对象为指定的软件包名(可以有多个)
  • 执行操作时会自动检查并解决软件包之间的依赖关系,期间会提示用户按 y 键确认安装或升级操作,若希望自动确定,可以在 yum 命令后面添加“-y”选项
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# yum -y install mysql
已加载插件:fastestmirror, langpacks
local                                    | 3.6 kB     00:00     
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.56-2.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================
 Package      架构        版本                 源          大小
================================================================
正在安装:
 mariadb      x86_64      1:5.5.56-2.el7       local      8.7 M

事务概要
================================================================
安装  1 软件包

总下载量:8.7 M
安装大小:49 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 1:mariadb-5.5.56-2.el7.x86_64               1/1 
  验证中      : 1:mariadb-5.5.56-2.el7.x86_64               1/1 

已安装:
  mariadb.x86_64 1:5.5.56-2.el7                                 

完毕!
[root@localhost ~]# 

  • 使用 yum 工具卸载软件包时,通过子命令 remove 来完成
[root@localhost ~]# yum -y remove mysql
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.56-2.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

================================================================
 Package      架构        版本                源           大小
================================================================
正在删除:
 mariadb      x86_64      1:5.5.56-2.el7      @local       49 M

事务概要
================================================================
移除  1 软件包

安装大小:49 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : 1:mariadb-5.5.56-2.el7.x86_64               1/1 
  验证中      : 1:mariadb-5.5.56-2.el7.x86_64               1/1 

删除:
  mariadb.x86_64 1:5.5.56-2.el7                                 

完毕!
[root@localhost ~]# 


二、NFS 共享存储服务

1.NFS 概述

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

2.使用 NFS 发布共享资源

2.1 NFS 应用场景

  • NFS 服务的实现依赖于 RPC (Remote Process Call,远端过程调用)机制,RPC 充当 NFS 客户端和 NFS 服务器之间的中介,以完成远程到本地的映射过程
  • 所以需要安装 nfs-utils, rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持

2.2 安装 nfs-utils、rpcbind 软件包

  • 一般来说系统默认已安装好了的
[root@localhost ~]# yum -y install nfs-utils rpcbind        ##安装软件包以来提供NFS共享服务
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 已安装并且是最新版本
软件包 rpcbind-0.2.0-42.el7.x86_64 已安装并且是最新版本
无须任何处理

2.3 设置共享目录

mark

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

2.4 启动 NFS 共享服务程序

  • 手动加载 NFS 共享服务的时候,应县启动 rpcbind、再启动 nfs
[root@localhost opt]# systemctl start rpcbind
[root@localhost opt]# systemctl start nfs
[root@localhost opt]# systemctl enable rpcbind
[root@localhost opt]# systemctl enable nfs

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

[root@localhost opt]# exportfs -rv
exporting        ##f发布共享 192.168.126.0/24:/opt/xcf123
[root@localhost opt]# showmount -e        ##查看共享文件
Export list for localhost.localdomain:
/opt/xcf123 192.168.126.0/24

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

  • 之前那台是 7-1 ,我先再新建一台 7-2 作为客户机

3.1 安装nfs-utils,rpcbind软件包,并启动rpcbind服务

mark

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl enable rpcbind

3.2 查看 NFS 服务器端共享了哪些目录

  • 老套路,先关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# showmount -e 192.168.126.11        ##查看NFS服务端共享的目录
Export list for 192.168.126.11:
/opt/xcf123 192.168.126.0/24

3.3 手动挂载 NFS 共享目录

  • 在客户机中创建一个资源共享的目录,然后把服务器共享的目录挂载在客户机创建的资源共享目录上
    mark
  • 然后即可实现客户机与服务器之间资源的共享
    mark
  • 回到服务器/opt/xcf共享目录下查看一下,确认是否同步
    mark

3.4 fstab自动挂载

mark
mark
mark

3.5 强制卸载 NFS

  • 如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象
  • 这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载
  • 模拟一下,直接把7-1给关了再来7-2试试水
    mark
  • ctrl+c 切出来再试试
    mark
    成了

猜你喜欢

转载自blog.csdn.net/weixin_51486343/article/details/111141944