您现在的位置是:首页 >其他 >yum库和nfs共享服务网站首页其他

yum库和nfs共享服务

简介yum库和nfs共享服务

yum库

redhat,centos用的是.rpm的包,用yum解决依赖包关系下载
ubuntu,debian用的是.deb的包,用apt解决依赖包的关系下载
在这里插入图片描述

  • yum软件仓库的提供方式
    FTP服务: ftp://…
    HTTP服务: http://…或者https://…
    本地目录: file://…
  • RPM软件包的来源
    Centos发布的RPM包集合
    第三方组织发布的RPM包集合
    用户自定义的RPM包集合

配置ftp源

  • 关闭防火墙
    在这里插入图片描述
  • 下载ftp程序
    在这里插入图片描述
  • 在匿名用户ftp登录的家目录下创建光盘镜像文件的存储目录
    在这里插入图片描述

在这里插入图片描述
拓展:如何解决软件包的依赖关系
在软件仓库中加入非官方RPM包组
包括存在依赖关系的所有RPM包
使用createrepo工具建立仓库数据文件
在这里插入图片描述

  • 配置FTPyum源
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 检测yum -y install httpd
    在这里插入图片描述
    其他主机要使用这个ftpyum源,复制过去就可以了
    在这里插入图片描述

配置HTTP源

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

  • 拓展:我们在Centos下使用yum安装时往往找不到rpm的情况,官方的rpm repository提供的rpm包也不够丰富,很多时候需要自己编译很痛苦,而EPEL恰恰可以解决这两方面的问题。EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
yum -y install epel-release--------在线源的扩展包

在这里插入图片描述

  • 设置多个yum源的优先级vim /etc/yum.repos.d/ftp.repo
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

建立软件包索引关系表的三种方法

方法一开启缓存

vim /etc/yum.conf

在这里插入图片描述

  • 再回到/opt目录下,建立依赖关系
    在这里插入图片描述
    方法二
    yum install -y (软件)- -downloaddir=(下载目录)- -downloadonly
    downloadonlv:仅下载不安装
    downloaddir:指定软件包存放目录
    在这里插入图片描述

方法三
yumdownloader (软件)- -destdir=(下载目录) --resolve
yumdownloader 只下载不安装
destdir 指定软件包存放目录
resolve 下载依赖包
在这里插入图片描述

NFS共享服务(Network File System)

  • 依赖于RPC(远端过程调用)
  • 需安装nfs-utils、rpcbind软件包
  • 系统服务: nfs、rpcbind
  • 共享配置文件: /etc/exports

(拓展
windows共享存储服务用的是cifs协议
linux共享存储服务用的是nfs协议)

工作原理

NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
对于大多数负载均衡群集来说,使NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
服务端: rpcbind 端口号(111) ,nfs-utils 端口号(2049)要先启动rpcbind,再启动nfs因为nfs是依赖于rpcbind
客户端:rpcbind

在这里插入图片描述

  • 服务端先启动rpcbind服务,再启动nfs服务,nfs每次刷新或者启动的时候都会把自己的端口注册到rpcbind服务上,nfs服务就会调用磁盘里共享目录文件,共享到网络上。rpcbind服务就会通过TCP/IP协议传输到客户端主机的rpcbind服务上。客户端把共享目录挂载到本地目录上,就可以像访问本地目录一样,访问到服务端的共享目录。

配置nfs

  • 服务端安装软件包 yum -y install nfs-utils rpcbind,安装这2个软件
    在这里插入图片描述
  • 客户端安装软件包 yum -y install rpcbind 安装一个rpcbind即可
  • 客户端启动
systemctl stop firewalld
setenforce 0
systemctl starst rpcbind
  • 服务端启动
systemctl stop firewalld
setenforce 0
systemctl starst rpcbind
systemctl starst nfs
  • 服务端配置文件vim /etc/exports
    在这里插入图片描述
    在这里插入图片描述
  • 客户端配置
    在这里插入图片描述
    永久挂载
    vim /etc/fstab
服务端IP:共享目录 本地挂载点 nfs defaults, _netdev  0 0
  • 客户端创建文件
    在这里插入图片描述
  • 回到服务端查看

在这里插入图片描述

设置root用户降权限

  • 服务端vim /etc/export
    在这里插入图片描述
  • 客户端此时创建文件显示权限不够,这里是因为root被降权了,服务端的目录的权限默认没有写的权限
    在这里插入图片描述
    在这里插入图片描述
  • 这里给目录提权
    在这里插入图片描述
  • 这时回客户端创建文件
    在这里插入图片描述
  • 其中编辑vim /etc/export一些字符的含义
字符含义
rw允许读写
ro只读(read only的意思)
sync同步写入到内存与硬盘中
no_root_squash表示当客户机以root身份访问时赋予本地root权限
root_squash表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
all_squash所有访问用户都映射为匿名用户或用户组
async将数据先保存到内存缓冲区中,必要时载写入磁盘
no_subtree_check即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
subtree_check若输出目录是一个子目录,nfs服务器检查其父目录的权限
anonuid=xxx指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx指定NFS服务器/etc/group文件中匿名用户的GID

exportfs 命令

–v # 查看本机所有NFS共享
–r # 重读配置文件,并共享目录
–a #输出本机所有共享
-u # 取消导出文件系统
–au # 停止本机所有共享
-ar # 重新导出所有的文件系统,不需要重启服务,不然已经连接和挂载的客户端会中断

yum命令

yum -y install #安装、升级软件包,“-v"选项表示自动确认
yum -y remove #卸载软件包,可自动解决其依赖关系
yum -y update #升级软件包
yum list #查询软件包列表
yum list installed #查询系统中已安装的软件包
yum list available #查询仓库中尚未安装的软件包
yum list updates #否询可以升级版本的软件包
yum info  #查询软件包的描述信息
yum search [al1] 关键词 #根据某个关键词来查找相关的软件包
yum whatprovides 命令 #否询命令属于哪个软件包
yum install -y gcc gcc-c++ make #使用yum方式进行编译安装 
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。