一、部署 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 设置共享目录
- 更改 NFS 的配置文件
- 其他常用选项
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服务
[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 共享目录
- 在客户机中创建一个资源共享的目录,然后把服务器共享的目录挂载在客户机创建的资源共享目录上
- 然后即可实现客户机与服务器之间资源的共享
- 回到服务器/opt/xcf共享目录下查看一下,确认是否同步
3.4 fstab自动挂载
3.5 强制卸载 NFS
- 如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象
- 这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载
- 模拟一下,直接把7-1给关了再来7-2试试水
- ctrl+c 切出来再试试
成了