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

一、YUM仓库服务

1.YUM概述

  • 基于RPM包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中的YUM软件仓库提供

2.部署YUM软件仓库

1.配置本地源

mount /dev/sr0 /mnt    #挂载

cd /etc/yum.repos.d       进入yum仓库目录
mkdir repos.bak         #创建备份网络源仓库
mv *.repo ./repos.bak   #备份网络源
vim local.repo          #编辑本地源文件
{
[local]                 #仓库类别
name=local              #仓库名称
baseurl=file:///mnt     #指定URL,访问路径为挂载目录
enabled=1               #开启自启动此源
gpgcheck=0              #不验证软件包签名
}
yum clean all && yum makecache    #清除yum缓存并更新

2.配置ftp源

ftp源也就叫远程源,就是在ftp远程服务器上配置一个yum仓库,本地通过ftp访问服务器上的yum源然后下载所需软件。

服务端创建ftp源

900

901

902

903

904

客户端通过服务端用scp复制ftp.repo文件直接就可以下载软件包

905

3.配置在线yum源

3.1清华源
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
3.2阿里云源
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.创建源的优先级

当既有本地yum源又有aliyun源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,
本地找不到可用的包时再使用aliyun源去安装软件,这里就涉及到了优先级的问题,
yum提供的插件yum-plugin-priorities.noarch可以解决这个问题
1.查看是否安装了yum-plugin优先级插件
rpm -qa |grep yum-plugin-
2.如果没有安装,就安装插件
yum -y install yum-plugin-priorities.noarch
3.查看插件是否启用
cat /etc/yum/pluginconf.d/priorities.conf
[main]:
enabled = 1 # 1为启动,0 为禁止
4.修改本地yum源优先使用
vi local.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=1 
priority=1 #数字越小优先级越高

[epel]
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
enabled=1
gpgcheck=0
priority=2
5.验证安装包的数量
执行yum repolist all 可显示所有仓库包
//yum 命令仅下载安装包
方式一:
yum install --downloadonly mariadb --downloaddir=/opt
#下载下来的安装包默认放在 /var/cache/yum/x86_64/7/ 目录下

方式二:
yumdownloader --destdir=/opt mariadb mariadb-server --resolve
#yumdownloader 默认仅下载指定软件包,参数 --destdir 是用来指定存放下载的安装包的目录,--resolve 下载相关依赖包

createrepo 软件包目录 --> 创建软件包依赖关系索引表

二、NFS

1、NFS是什么?

NFS是一种基于TCP/IP传输的网络文件系统协议,最初由sun公司开发,通过NFS协议。客户机可以向访问本地目录一样访问远程NFS服务器中的共享资源。

NFS也是NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输、安全性很差,所以一般只能在局域网中使用。

2、NFS服务的实现

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

NFS 端口号:2049

RPC 端口号:111

3、NFS服务的特点

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

4、NFS服务的作用

主要有两点(这两点都围绕了 共享

  • 通过网络挂载共享存储空间,提高客户主机的存储空间
  • 远程共享文件

5、NFS实验案例

5.1 在NFS服务器上操作

5.1.1 安装RPC依赖和nfs服务(rpcbind、nfs-utils)

在这里插入图片描述

5.1.2 修改配置文件( /etc/exports )

注意:这个配置文件内容时空的,表示没有任何共享。

创建共享目录

在这里插入图片描述

编辑配置文件

在这里插入图片描述

常用选项

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

其它常用选项

选项功能
all_sqush所有访问用户都映射为匿名用户或用户组
asyns将书记先保存在内存缓冲区中,必要时才写入磁盘,速度快但会数据丢失数据
subtree_chech若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_chech即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
5.1.3 开启服务并查看端口

注意:因为nfs服务需要依赖rpc服务,所以开启时,需要先开启rpcbind服务。

开启服务

04

查看端口

05

查看共享结果

06

5.1.4 注意

在前面使用查看看结果的命令(exportfs -v ),发现其中有权限为ro,导致后面我在客户机上的共享目录上无法创建文件,显示只读状态,后来我去查看配置文件(/etc/exports),发现里面的权限是rw并非ro,但是重新保存再去客户机还是无法创建文件,最后使用查看结果的命令发现,里面的权限存在只读的权限,与我的配置文件不一致,后来使用刷新命令(exportfs -r),最终权限改为读写。客户机可正常创建文件。
在这里插入图片描述

5.2 在客户机上操作

可在客户机上查看到服务器的共享信息

在这里插入图片描述

5.2.1 挂载

临时挂载

在这里插入图片描述

永久挂载

在这里插入图片描述

在这里插入图片描述

5.2.2 共享传输文件

在客户机的挂载目录上创建文件,在从服务器上读取

在这里插入图片描述

5.2.3 强制卸载NFS

NFS客户端与服务器端的耦合度非常高,如果客户端正在使用挂载目录,NFS服务突然挂掉,那么在客户端执行df -hT命令就会出现卡死现象

这个使用无法使用umount解挂载,需要将umount -lf 强制解挂载才行

当出现卡死现象时,要重新开一个终端,然后使用 umount 命令卸载,其中-l 选项表示解除正在繁忙的文件系统,-f 选项表示强制。
只要有关/data的目录的读取,都会出现卡死问题。

在这里插入图片描述

强制解挂载
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值