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方式进行编译安装 



![[Gitops--4] OpenELB](https://img-blog.csdnimg.cn/a1bcdfda2a8543f8bbef2fe45e757520.png)















