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