部署YUM仓库与NFS(文件共享服务)

YUM是Linux系统中的包管理器,依赖于服务器端和客户端,通过仓库提供RPM包的更新和安装。它处理软件的依赖关系,允许跨网络操作。NFS是网络文件系统,借助RPC协议让客户端能像访问本地目录一样访问远程服务器资源,常用于节省存储空间和提供文件共享服务。
摘要由CSDN通过智能技术生成

YUM简介

YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器)

要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

1.2 yum工作原理

yum依赖于环境,依赖于服务端和客户端,允许跨网络。

Yum基于C/S模式:

  • yum 服务器存放rpm包和相关包的元数据
  • yum客户端访问yum服务器进行安装或查询等

Yum实现过程:

先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

服务器(RPM包和元数据缺一不可):

  • RPM包 (存放在包文件夹Packages中)
  • 元数据(存放在元数据文件夹repodata中,其中包含:目录(软件的目录),软件的依赖关系,软件的分组)

本地仓库类型:

  • 光盘的仓库(基本仓库)
  • epel 扩展仓库

yum客户端配置

/etc/yum.conf              #为所有仓库提供公共配置  

/etc/yum.repos.d/*.repo    #每个仓库的配置文件

 yum主配置文件   (位置:/etc/yum.conf)

yum仓库配置文件

位置:/etc/yum.repos.d/*.repo

系统内默认的yum仓库,是centos官方的yum源(国外源),需要连通外网才可以使用。

  baseurl 指向的路径

 日志文件

位置:/var/log/yum.log

 yum命令详解

命令不加关键字加入关键词、软件包、软件包组
yum list显示所有可用包单个的可安装包
yum info显示所有可用包的信息单个具体的信息
yum search模糊查找所有的相关信息
yum whatprovides精确查找
yum install安装具体软件包
yum update所有软件升级,更新内核具体软件升级
yum upgrade只更新软件包,但不更新内核具体软件更新
yum remove卸载具体软件
yum history查看当前yum操作历史
yum history info加序号列出某次事务的详细信息
yum history undo加序号卸载序号里安装的软件
yum history redo加序号重新执行序号里的操作

命令不加关键字加入关键词、软件包、软件包组
yum grouplist显示所有可用包组显示具体的包组
yum groupinfo显示所有的包组具体信息显示具体的包组的具体信息
yum groupinstall安装具体软件包组
yum group update所有包组升级具体包组升级
yum groupremove卸载具体包组软件

yum仓库搭建方式

软件仓库的提供方式:

搭建本地yum仓库

步骤1、挂载光盘(/dev/sr0或/dev/cdrom都可以,/dev/cdrom是/dev/sr0的软链接)

步骤2、切换到 /etc/yum.repo.d/目录,将自带的仓库文件移走。

步骤3、新建yum仓库文件。

步骤4、清理缓存并安装软件。

搭建http方式云仓库(外网环境)

默认的仓库文件是国外云仓库,速度比较慢,可以使用阿里云仓库代替。

 baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/  

http方式搭建云仓库(内网环境)

服务端配置

步骤1、服务端安装hhtpd服务程序。

步骤2、服务端切换到/var/www/html/ 目录,新建子目录centos7,并将光驱挂载到centos7目录下(也可以将光驱中的所有软件包拷贝到该目录下)(/var/www/html/是web服务器的默认路径)

步骤3、服务端关闭防火墙和selinux,启动httpd服务。

服务端配置

步骤一:切换到/etc/yum.repos.d/目录,新建文件夹,将默认的yum仓库文件移动到该目录下。编写新的仓库文件

步骤二:清理yum缓存,重新建立元数据。并测试使用yum能否成功安装软件包

客户端配置

 

服务端配置

 

ftp方式搭建云仓库

服务端配置

步骤1、服务端安装vsftpd服务程序。

步骤2、服务端切换到 /var/ftp/ 目录下新建一个子目录centos,并将光驱挂载到centos目录下(也可以将光驱内的所有文件包复制到centos目录下)。

步骤3、服务端开启vsftpd服务,关闭防火墙和selinux。

客户端配置

客户端安装ftp程序,测试ftp服务是否正常。

yum仓库文件

清理yum缓存,重新建立元数据。并测试使用yum能否成功安装软件包

服务端

客户端

 

混和云

 在配置文件里指定两个不同的源,指定优先级prority,数字越小,优先级越高

如何解决包依赖关系?如何提取软件包资源?

要改成在线源

vim /etc/yum.conf  修改YUM配置文件

这样软件包就在/var/cache/yum里面

依赖关系元数据需要下载软件createrepo

cd /var/ftp/centos7/     进入目录
createrepo -v ./         下载依赖关系元数据

Linux网络服务之NFS

NFS(Network File System 网络文件服务),是一种基于 TCP/IP 传输的网络文件系统协议

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能) NFS 也是 NAS 存储 设备必然支持的一种协议,以完成远程到本地的映射过程。

在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs

NFS优势:

节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。

软件包 (包括服务器端和客户端):

  • nfs-utils (nfs端口号 2049/tcp)
  • rpcbind (RPC端口号 111/tcp)

 配置文件

配置文件位置:/etc/exports

 一、主机:

 1.通配符:表示使用*通配所有客户端  ​

 2.单个主机:ipv4,ipv6,FQDN  ​  

3.网段:两种掩码格式均支持(内网情况下)  172.18.0.0/255.255.0.0  172.18.0.0/16

二 常用参数:(默认参数:ro,sync,root_squash,no_all_squash)

 1.读写权限  

ro,rw 只读和读写

 ​  2.异步/同步

 async:异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性  低  sync(1.0.0后为默认):同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高

 3.压缩权限

root_squash(默认):远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS  7以前的版本为nfsnobody。  no_root_squash :远程root映射成NFS服务器的root用户。  all_squash :所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody。  no_all_squash (默认):保留共享文件的UID和GID。  anonuid和anongid:指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用。

  • no_root_squash表示当客户机以root身份访问时赋予本地root权限(默认是root_squash),如果不加那么客户端无法在里面编辑或写入文件,因为默认以nfsnobody的权限   (重要)

exportfs 命令可用于管理 nfs

 exportfs -v : 查看本机所有nfs共享目录,及其详细信息

 exportfs -r : 重新读取配置文件,重新加载配置  ​  

showmount -e : 查看本机发布的NFS共享目录

showmount -e 192.168.72.10 : 查看服务器192.168.72.10提供的共享目录

实验:

一台服务机,一台客户机,客户机通过NFS查看服务机上的文件

实验思路:

服务机安装软件,创建共享目录,编辑配置文件,启动服务

客户端直接把共享目录挂载到本地

 vim /etc/exports  编辑配置文件

开启服务,要先开启RPC,再开启nfs服务,(nfs要向RPC注册端口号)

服务端要开启rpc和nfs服务,客户段只需要开启nfs服务

查看本机NFS共享目录

 先启动rpcbind 在启动nfs 顺序不能错

查看upd端口

检查注册的端口信息

 

客户机配置

  

nfs共享目录权限问题:

客户机想修改文件内容显示权限不够

服务机修改文件权限

客户机这时可以修改文件内容了,因为在客户机中,是以nfs程序用户打开的,属于other权限,需要放开这个,就可以修改了 

 回到服务机

 客户机是以程序用户登录的(nfsnobody),服务机只需要把目录改为nifnobody所有,客户机就可以在里面修改创建删除文件了

/opt/share 里面挂载的参数是rw  可读写,安装上面的操作没有问题。 如果挂载的参数是RO 只度,如果要可以读可写,则要修改配置文件/etc/exports

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值