YUM

(Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器 是一个基于RPM的软件包管理器,能够从指定服务器主动下载RPM包而且装置,能够处理软件之间的依赖联系,一次性装置一切依赖的软件包,无需一个个下载装置。

YUM的工作原理包含两个部分YUM服务器和客户端

YUM服务器

yum仓库与NFS共享服务
Linux客户端

yum仓库与NFS共享服务
一切软件包由集中的YUM软件库房供给

yum仓库与NFS共享服务

扩大:

centos7  rhel7  运用的都是yum来处理装置的问题(.rpm包)
centos8  rhel8  运用的是DNF来处理装置的问题,但DNF也是基于yum来处理装置问题的
Ubuntu  debian 运用的是apt  装置包是(.deb包)也是能够一键处理装置的问题

软件库房的供给方法

FTP服务:ftp://....
HTTP服务:http://....
本地目录:fild://.....

RPM软件包的来源

  • CentOS发布的RPM包调集
  • 第三方安排发布的RPM包调集
  • 用户自定义的RPM包调集

设置本地YUM源的格式

/etc/yum.repo.d/文件
[项目名称]
name=库房名称
baseurl=file:///挂点       //本地源
        ftp://FTP服务器地址   //ftp源
        http://   https://URL地址   //在线源
enabled=1  敞开库房
gpgcheck=1需求验证
gpgkey=密钥的方位
gpgcheck=0不验证

本地源

假如挂载不上会显现

mount: 在 /dev/sr0 上找不到媒体

yum仓库与NFS共享服务
翻开终端上面找到自己的虚拟机
yum仓库与NFS共享服务
衔接今后就能够正常挂载了
yum仓库与NFS共享服务
要把自己的光盘镜像挂载到指定的目录之中

yum仓库与NFS共享服务
树立本地源库房文件

yum仓库与NFS共享服务

FTP(默许是匿名拜访)

FTP服务器(File Transfer ProtocolServer)是在互联网上供给文件存储和拜访服务的计算机,它们依照FTP协议供给服务,FTP是File TransferProtocol (文件传输协议),顾名思义,便是专门用来传输文件的协议,简单地说,支撑FTP协议的服务器便是FTP服务器

假如要运用FTP服务就要先装置软件

yum仓库与NFS共享服务
yum仓库与NFS共享服务
假如要是用FTP协议就要用给FTP加载镜像文件

yum仓库与NFS共享服务
用一台机器当做客户端运用服务端的ftp服务
yum仓库与NFS共享服务
baseurl=ftp:///192.168.85.10/7 /7 FTP服务供给的目录

yum仓库与NFS共享服务

比如说客户端需求装置httpd那么就会运用到服务端供给的tpf服务器带来的装置协议

yum仓库与NFS共享服务

centos 在线源

假如说想用http在线源的话能够在官网去下载来进行运用centos 在线源

yum仓库与NFS共享服务
直接在网上查找一个在线源来运用,装置
yum仓库与NFS共享服务
装置后会默许运用自己装置的在线源
yum仓库与NFS共享服务

阿里源

列如诉求: 当既有本地yum源又有aliyun源的时分,咱们在装软件包的时分当然希望先用本地的yum源去装置, 本地找不到可用的包时再运用aliyun源去装置软件,这儿就涉及到了优先级的问题, yum供给的插件yum-plugin-priorities.noarch能够处理这个问题

上机之前主张还是先封闭防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

树立本地yum源

[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkder bak
[root@localhost yum.repos.d]# mv *.repo bak
[root@localhost yum.repos.d]# vim yum.repo
[root@localhost yum.repos.d]# yum clean all && yum makecache

翻开能够衔接外网的体系

[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/rs-7.repo
[root@localhost yum.repos.d]# yum clean all && yum makecache    //刷新缓存,整理缓存而且生成新的缓存 

1.检查是否装置了yum-plugin优先级插件

[root@localhost yum.repos.d]# rpm -qa |grep yum-plugin
yum-plugin-fastestmirror-1.1.31-42.el7.noarch

2.假如没有装置,就装置插件

[root@localhost yum.repos.d]# yum -y install yum-plugin-priorities.noarch

3.检查插件是否启用

[root@localhost yum.repos.d]# cat /etc/yum/pluginconf.d/priorities.conf
[main]
enabled = 1  //1为发动,0为制止

4.修正本地yum源优先运用

yum仓库与NFS共享服务
5.验证装置包的数量

Loading mirror speeds from cached hostfile

yum仓库与NFS共享服务
yum 命令仅下载装置包

[root@localhost ~]# yum install --downloadonly mariadb
#下载下来的装置包都是放在 /var/cache/yum/x86_64/7/ 目录下
[root@localhost ~]#yumdownloader --destdir=/opt mariadb mariadb-server
#yumdownloader 仅下载指定软件包,参数 --destdir 是用来指定存放下载的装置包的目录

NFS同享存储服务

NFS便是Network File System的缩写,它最大的功用便是能够经过网络,让不同的机器不同的操作体系能够同享互相的文件

NFS服务器能够让PC将网络中的NFS服务器同享的目录挂载到本地端的文件体系中,而在本地端的体系中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在运用上适当便利;

NFS一般用来存储同享视频,图片等静态数据。

  • NFS网络文件体系
    • 依赖于RPC(远端进程调用)
    • 挑选nfs-stils,rpcbind软件包
    • 体系服务:nfs,rpcbinf
    • 同享配置文件:/etc/exports

由于NFS没有认证机制,而且是铭文传输,所以安全性较差,一般是在局域网络环境运用

NFS挂载原理:

yum仓库与NFS共享服务
NFS架构图

yum仓库与NFS共享服务
** NFS客户端和NFS服务器通讯进程**

yum仓库与NFS共享服务

  1. 首要服务器端发动RPC服务,并敞开111端口

  2. 服务器端发动NFS服务,并向RPC注册端口信息

  3. 客户端发动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口

  4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。

  5. 客户端经过获取的NFS端口来树立和服务端的NFS衔接并进行数据的传输。

所以需求装置nfs-utils   rpcbind  软件包来供给服务,前者用于NFS同享发布和拜访,后者用于 RPC 支撑

实验

在文件服务器运用 NFS 发布同享资源 1.客户端装置NFS同享服务(nfs-utils、rpcbind 软件包)

[root@localhost ~]# rpm -q rpcbind nfs-utils
[root@localhost ~]# yum -y install nfs-utils rpcbind

2.设置同享战略配置文件

客户机地址能够是主机名、IP 地址、网段地址,答应运用“*”、“?”通配符。
“rw” 表明答应读写,“ro” 表明为只读。
sync :表明同步写入到内存与硬盘中。
no_root_squash : 表明当客户机以root身份拜访时赋予本地root权限(默许是root_squash)。
root_squash :表明客户机用root用户拜访该同享目录时,将root用户映射成匿名用户。
其它常用选项
all_squash :一切拜访用户都映射为匿名用户或用户组。
async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默许):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check :即便输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样能够进步功率。
anonuid=xxxx :指定NFS服务器/etc/psaawd文件匿名用户的UID
anongid=xxx  :指定NFS服务器/etc/group文件匿名用的GID
sync    写入数据会同时写入内存和硬盘 (确保数据安全,数据不会丢失,写入会受到硬盘IO性能的影响,可能会影响读写速度,会很多消耗固态硬盘的寿命)
async    写入数据是会在写入内存的缓冲区里边,然后依据体系的同步战略在刷新到硬盘中(写入熟读块)
[root@localhost ~]# vim /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin    //NFS匿名用户,不指定便是这个名字
[root@localhost opt]# vim /etc/exports

yum仓库与NFS共享服务
rpcbind运用的是111端口

[root@localhost opt]#netstat -anpt | grep rpcbind	
[root@localhost opt]# netstat -nltup |grep 111

yum仓库与NFS共享服务
yum仓库与NFS共享服务
手动加载NFS同享服务时,应该先发动rpcbind再发动nfs

[root@localhost opt]# systemctl start rpcbind
[root@localhost opt]# systemctl start nfs
检查同享信息
[root@localhost opt]# showmount -e
Export list for localhost.localdomain:
/opt/778 192.168.85.0/24

服务端和客户端都要封闭防火墙,否则无法同享

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

1.服务端只需求装置(rpcbind)即可

装置软件
[root@localhost ~]# yum -y install rpcbind
看一下同享目录
[root@localhost ~]# showmount -e 192.168.85.10
Export list for 192.168.85.10:
挂载
[root@localhost ~]# mount 192.168.85.10:/opt/778 /data

yum仓库与NFS共享服务
直接到服务端目录中写入一些东西看看客服机是否能够收到
yum仓库与NFS共享服务
客户端登录今后检查挂载目录,就能够检查到服务端写入的文件内容
yum仓库与NFS共享服务
及时在让一台虚拟机加入同享文件仍旧能够检查到服务端写入的文件
yum仓库与NFS共享服务

客户端想写入是无法写入会提醒权限缺乏
[root@localhost data]# echo '9987' > 73
-bash: 73: 权限不够
虽然是写的rw可读可写,但是指定的是匿名用户
[root@localhost 778]# vim /etc/exports
/opt/778 192.168.85.0/24(rw,async)

给其他用户加上权限

yum仓库与NFS共享服务
现在就能够成功写入了
yum仓库与NFS共享服务
包含服务端这边也能看到是成功写入了
yum仓库与NFS共享服务
能够看见客户端写入的文件是用的匿名用户
yum仓库与NFS共享服务

yum仓库与NFS共享服务
客户端在写入东西 就会不会再显现匿名用户了
yum仓库与NFS共享服务
创立一个新的用户写入东西在服务端会显现他的UID号
yum仓库与NFS共享服务
永久挂载

vim /etc/fstab

yum仓库与NFS共享服务

yum仓库与NFS共享服务
加一个空格就能够单独操控一台客户机
yum仓库与NFS共享服务
3.强制卸载NFS 我的服务端忽然死机了

客户端就会进入一个假死的状况

[root@localhost ~]# umount -lf /data

yum仓库与NFS共享服务

总结

yum 库房的树立运用

NFS服务的运用与各种个性化设置