1、YUM仓库
YUM:基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中的YUM软件仓库提供
(1)RPM软件包的来源
CentOS发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合
(2)一键安装软件包的工具
RHEL、Centos:yum dnf
Ubuntu、Debian:apt、apt-get
好处
一键安装更新软件包、自动解决软件包的依赖关系
软件仓库可以集中管理并提供给多个客户机使用
(3)yum软件仓库的常用类型
本地源仓库: baserul=file://
在线源仓库: baserul=http: //
https://
ftp源仓库: baserul=ftp://
补充
阿里云的镜像仓库
https://mirrors.aliyun.com/centos/7/os/x86_64
清华大学的镜像仓库
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
(4)搭建本地ftp源仓库
1)系统初始化
2)服务端在仓库主机的软件包目录中准备好软件包列表,并使用 createrepo <软件包目录> 命令建立仓库数据文件
3)客户端在local.repo yum仓库源配置文件使用ftp://指定ftp服务器地址及其子目录
系统初始化
解挂载/mnt,编辑local.repo文件
4)yum clean all && yum makecache更新缓存,再使用yum -y install 安装软件
(5)在线源替换
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-*.repo
cd /etc/yum.repos.d/
vim CentOS-Base.repo
baseurl=http://mirror.centos.org/ 替换成 https://mirrors.tuna.tsinghua.edu.cn/
https://mirrors.aliyun.com/
https://mirrors.163.com/
vim /etc/yum.repos.d/repo.bak/CentOS-Base.repo,注释mirrorlist,打开baseeurl换成你想换的镜像源地址
(6)通过yum下载软件包
1)开启缓存
配置在线yum源
修改配置文件,开启缓存,添加缓存目录
下载完成并查看目录
2)仅下载软件包
还是在上面的虚拟机操作,通过scp命令将CentOS-Base.repo 文件远程复制传到另一台虚拟机的/etc/yum.repos.d/目录中
第一种方式:yum install -y 软件名 --downloadonly --downloaddir=软件包下载目录
第二种方式:yumdownloader --destdir=软件包下载目录 --resolv 软件名 #--resolv代表下载软件所需的所有依赖包,不加这个选项代表仅下载指定的软件包
(7)在Linux系统下载文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
(8)yum命令
查询软件包
yum list [软件名]
yum info [软件名]
yum search 《关键词>
yum whatprovides <关键词>
示例
[root@localhost ~]# yum list
[root@localhost ~]# yum list httpd
[root@localhost ~]# yum info vsftpd
[root@localhost ~]# yum search gcc
[root@localhost ~]# yum whatprovides vim查询软件包组
yum grouplist [包组名]
yum groupinfo <包组名>
示例
[root@localhost ~]# yum grouplist
root@localhost ~]# yum grouplist gnome-desktop
root@localhost ~]# yum groupinfo gnome-desktop安装软件
yum install [软件名]
yum groupinstall <包组名>升级软件
yum update
yum groupupdate示例
[root@localhost ~]# yum -y install net-snmp
[root@localhost ~]# yum -y groupinstall gnome-desktop
[root@localhost ~]# yum -y update卸载软件
yum remove <软件名>
yum groupremove <包组名>
例
[root@localhost ~]# yum -y remove autofs
[root@localhost ~]# yum -y groupremove gnome-desktop
补充
2、NFS共享服务
(1)存储类型
- 块存储:硬盘、LVM、RAID
- 文件存储:NFS、
- 对象存储:OSS
(2)NFS是什么?
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。NFS共享存储服务
NFS(Network File System) 网络文件系统
依赖于RPC(远端过程调用)
需安装nfs-utils、rpcbind软件包
系统服务: nfs、rpcbind
共享配置文件: /etc/exports
NFS架构和原理图
NFS:linux系统使用的共享存储服务
CIFS:widows系统使用的共享存储服务
真正提供存储的硬件设备:使用通用服务器制作的文件服务器或专用的企业级存储设备
这两种是提供共享存储的组合
系统服务: nfs(端口号:2049)、rpcbind(端口号:111)
共享配置文件: /etc/exports
(3)NFS 网络文件系统共享服务实验
1)服务端需安装nfs-utils、rpcbind软件包
服务端系统初始化
安装nfs-utils、rpcbind软件包
2)设置挂载点目录,编辑/etc/exports文件
3)先启动rpcbind服务再启动nfs服务并查看
查看本机发布的 NFS 共享目录
4)两台客户端系统格式化,只需要启动npcbind服务,nfs不需要启动,并检测服务端共享目录有没有共享出来
20.0.0.20客户端
20.0.0.30客户端
5)手动挂载共享点目录
20.0.0.20客户端
20.0.0.30客户端
6)服务端上传文件
20.0.0.20客户端接受
20.0.0.30客户端接受
7)客户端上传文件
在客户端挂载点目录中输入内容发现权限不够
需要我们在服务端中设置共享目录的权限
这时候我们再去客户端输入内容,发现可以输入。但我们发现我们是用客户端的root用户输入的,但上面显示的是nfsnobody
此时我们可以修改服务端的/etc/exports文件并在线刷新
然后我们再用客户端输入并查看,发现没有被降权
挂载点目录还可以自动挂载
补充
客户机地址可以是主机名、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=xxx :指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx :指定NFS服务器/etc/group文件中匿名用户的GID
如客户端挂载点目录卡死 umount -lf 挂载目录