YUM库及NFS共享服务

前言

今天我们来说说如何来建立yum库和yum库的几种类型以及nfs共享服务。

一、什么是YUM

1.yum概述

  • YUM (Yellow dog Updater
    Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

  • 基于RPM包构建的软件更新机制

  • 可以自动解决依赖关系

  • 所有软件包由集中的YUM软件仓库提供

  • 在centos8中yum改为apt
    在这里插入图片描述

2.准备安装

1.软件仓库的提供方式

  • FTP服务: ftp:// …
  • HTTP服务:http://…
  • 本地目录: file://…

2.RPM软件包的来源

  • Centos发布的RPM包集合
  • 第三方组织发布的RPM包集合
  • 用户自定义的RPM包集合

3.构建CentOS 7软件仓库

  • RPM包来自Centos 7 DVD光盘
  • 通过FTP方式提供给客户机

为客户机指定YUM仓库位置
配置文件:/etc/yum.repos.d/centos7.repo

二、YUM源的提供方式

1.配置本地源仓库

cd /etc/yum.repos.d/
vim local.repo
[local]							#仓库类别
name=local						#仓库名称
baseurl=file:///mnt				#指定URL 访问路径为光盘挂载目录
enabled=1						#开启此yum源,此为默认项,可省略
gpgcheck=0						#不验证软件包的签名

mount /dev/sr0 /mnt      #把光盘挂载到/mnt目录下(前提虚拟机是光盘挂载)

##清理yum缓存并更新
yum clean all && yum makecache		
###检查
yum repolist

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.配置ftp源

服务器配置:

  • 安装vsftpd服务端软件
  • 创建并制作yum远程ftp站点的源
  • 启动ftp服务
rpm -qa|grep vsftpd
yum -y install vsftpd

mkdir  /var/ftp/centos7   #创建挂盘挂载目录
mount /dev/sr0 /mnt    #镜像挂载

cp -rf /mnt/* /var/ftp/centos7/ &       #&表示挂在后台
mkdir /var/ftp/other    # 创建目录repodata 数据文件

cd /var/ftp/other/ 
createrepo -g /mnt/repodata/repomd.xml ./    #工具建立仓库数据文件
systemctl start vsftpd #重启vsftpd服务

在这里插入图片描述
客户端配置:

  • 创建远程yum源的配置文件
  • yum安装软件验证结果
vi /etc/yum.repos.d/centos7.repo 

[centos7]  #仓库类别
name=centos7   #仓库名称(说明)
baseurl=ftp://192.168.190.2/centos7   #URL 访问路径 
enabled=1   #启用此软件仓库
gpgcheck=1    #验证软件包的签名
gpgkey=ftp://192.168.190.2/centos/RPM-GPG-KEY-CentOS-7    #GPG 公钥文件的位置

[other]
name=centos7
baseurl=ftp://192.168.190.2/other
enabled=1  #启用此软件仓库
gpgcheck=0  #验证软件包的签名

在这里插入图片描述

3.网络源

3.1 CentOS7 清华源

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 163 yum源

下载链接:wgethttp://mirrors.163.com/.help/CentOS7-Base-163.repo
vim CentOS7-Base-163.repo #编辑163 yum 网络源

[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

3.3 阿里云

下载地址:wget http://mirrors.aliyun.com/repo/Centos-7.repo
==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

3.4 其他网络源

http://ftp.sjtu.edu.cn/centos #上海交大,但服务器位于北京,中国教育网网络中心,我看像是朝阳区那边的IP,以前在那边上过  班,下载速度高达十M。 北方用户与教育网用户推荐,速度飞快。
http://centos.ustc.edu.cn,#中国科技大学,服务器位于合肥。 南方用户推荐。
http://mirrors.sohu.com/,sohu的开源镜像服务器,服务器位于山东省联通。 速度飞快,全国用户推荐,经常用FireFox下载CD镜像

三、yum命令

yum常用的操作命令

yum -y install 软件名				#安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名				#卸载软件包,可自动解决其依赖关系
yum -y update 软件名				#升级软件包

yum list							#查询软件包列表
yum list installed					#查询系统中已安装的软件包
yum list available					#查询仓库中尚未安装的软件包
yum list updates					#查询可以升级版本的软件包
案列搜索RPM包(两种方法)
yum search vim
yum list|grep "vim"

yum info 软件名						#查询软件包的描述信息
yum info httpd

yum search [all] 关键词				#根据某个关键词来查找相关的软件包
yum search all httpd

yum whatprovides 命令				#查询命令属于哪个软件包
yum whatprovides netstat

下载RPM包而不安装
# yum install 包名 -y --downloadonly

# yum reinstall -y bash --downloadonly    #下载已安装过的rpm包

# yum install 包名 -y --downloadonly --downloaddir=/tmp/     #下载RPM包到指定目录

yum history 查看历史记录来找到它所依赖的包,然后删除,
如:yum history list 列出最近的历史
      yum history info id 列出某次的详细信息,
      yum history undo id 撤销某次更改
      yum history help 查看帮助
	  yum history redo加入序号重新执行序号里的操作

四、NFS概述

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

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

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

  • nfs端口号2049​​​​​​​
  • rpc端口号111
rpm -q rpcbind nfs-utils     #查询是否安装
yum install -y nfs-utils rpcbind   #安装nfs和rpc的软件包
 
systemctl start nfs      #开启nfs服务
systemctl start rpcbind   #开启rpcbind服务
systemctl enable nfs     #开机自启nfs服务
systemctl enable rpcbind   #开机自启rpcbind服务

六、NFS的特点

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

七、NFS工作原理

在这里插入图片描述
1.首先服务器端启动RPC服务,并开启111端口
2.服务器端启动NFS服务,并向RPC注册端口信息
3.客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4.服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5.客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

八、NFS服务部署

exportfs -v  //查看详细的nfs信息
exportfs -r  //重读配置文件
showmount -e //查看本机发布的NFS共享目录
showmount -e +IP //查看IP地址发布的NFS共享目录
mount -t nfs 192.168.223.9:/opt /mnt //将NFS服务端192.168.48.6下的/opt挂载到/mnt下
rpcinfo -p localhost  //查看rpc注册的端口信息

1.服务器端配置

1.检查并安装软件
rpm -q rpcbind nfs-utils
yum install -y rpcbind nfs-utils
2.创建共享目录
vim /etc/exports  //NFS的配置文件,默认文件内容为空(无任何共享)
/opt 192.168.223.0/24(rw,sync,no_root_squash)
//设置/opt为共享目录,允许192.168.223.0网段的IP地址主机访问
3.启动服务
systemctl start rpcbind  //一定要先开启rpcbind服务
systemctl start nfs      //如服务已启动,更改完配置信息后需要重启服务

2.客户端配置

检查并安装软件
rpm -q rpcbind nfs-utils
yum install -y rpcbind nfs-utils
systemctl start rpcbind
systemctl start nfs
将共享目录挂载到本地

实验案例

查看软件包是否安装,没有就安装
安装rpc以及nfs服务
在这里插入图片描述
在这里插入图片描述
查看nfs状态
在这里插入图片描述
查看rpcbind状态
在这里插入图片描述
进入vim /etc/exports进行编辑
在这里插入图片描述
重启服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、总结

本章内容,告诉了我们yum的几种种类和安装方式以及NFS共享存储服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值