目录
1. YUM仓库服务
1.1 YUM概述
1.2 准备安装源
1.3 yum在线源替换方法
2.制作YUM源
2.1制作ftp源
3.yum软件包的下载方式
4.NFS共享存储服务
4.1 NFS
4.2 NFS网络文件系统
4.3 NFS配置
1. YUM仓库服务
1.1 YUM概述
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系,解决了日常工作中的大量查找安装依赖包的时间。
优点:一键安装更新软件包、自动解决软件包之间的依赖关系、软件包仓库可以集中管理并提供给多个客户机使用
一键安装软件包的工具
系统类型 | 文件类型 | 对应的程序 |
RHEL、CentOS | .rpm | yum dnf |
Ubuntu、Debian | .deb | apt apt-get |
1.2 准备安装源
(1)软件仓库的提供方式
YUM软件仓库的常用类型
仓库类型 | 安装路径 |
本地源仓库 | baserul=file:// |
在线源仓库 | baserul=http:// 或 https:// |
ftp源仓库 | baserul=ftp:// |
(2)RPM软件包的来源
CentOS发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合
(3)构建CentOS 7软件仓库
(4)在软件仓库中加入非官方RPM包组
创建软件包依赖关系索引表
createrepo -g 软件包目录 依赖关系索引表文件的所在目录
-g:指定依赖关系索引表文件的所在目录
索引表或者叫YUM仓库的依赖关系表repodata,是根据createrepo命令由系统自动生成的,里面存有各种软件包之间的相互依赖关系;
(5)本地YUM仓库
[root@localhost yum.repos.d]# mount /dev/sr0 /mnt #挂载光盘镜像
[root@localhost yum.repos.d]# mkdir repo.bak
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo CentOS-Sources.repo repo.bak
[root@localhost yum.repos.d]# vim local.repo #编辑配置文件
yum install -y 文件名
配置文件格式
(6) 访问YUM仓库
1.3 yum在线源替换方法
vim CentOS-Base.repo #修改在线yum源
/centos之前的替换掉
2.制作YUM源
2.1制作ftp源
(1)开启vsftp服务,关闭防火墙
systemctl start vsftpd
systemctl enable vsftpd
systemctl stop firewalld
setenforce 0
(2)将光盘镜像文件挂载到FTP共享目录中
[root@localhost yum.repos.d]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost yum.repos.d]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 36G 5.2G 31G 15% /
/dev/sda1 xfs 509M 181M 329M 36% /boot
tmpfs tmpfs 378M 32K 378M 1% /run/user/0
/dev/sr0 iso9660 4.5G 4.5G 0 100% /mnt
( 3)配置ftp的yum源
vim /etc/yum.repo.d/ftp.repo #创建FTP源文件
[ftp]
name=ftp
baseurl=ftp://192.168.80.100/ #光盘挂载目录
enable=1 #开启仓库,默认为开启
gpgcheck=1 #开启数字签名,0为不开启
gpgkey=ftp://192.168.80.100/ftpyum/RPM-GPG-KEY-CentOS-7 #数字签名的路径
yum clean all && yum makecache #清除原有缓存,建立元数据缓存
(4)把FTP源发给其它主机即可通过FTP源下载软件包
3.yum软件包的下载方式
(1)开启缓存下载
yum下载软件包虽然会自动下载依赖包以保证正常安装所需软件包,但是依赖包会在安装完后自动删除,可以修改配置文件:/etc/yum.conf让依赖包不会被自动删除,即可得到所有下载的软件包。
vim /etc/yum.conf #Linux下载完软件包会自动把软件包删除清除缓存,要建立索引表,我们就要留下缓存
{###可以指定下载的缓存目录
cachedir=缓存目录
###=1为开启缓存(即不删除缓存),=0为关闭缓存(下载完即删除)
keepcache=1
(2)通过yum命令选项进行下载
yum install -y 软件名 --downloadonly --downloaddir=软件包下载目录
(3)通过yumdownloader命令进行下载
yumdownloader --destdir=软件包下载目录 --resolv 软件名
#--resolv代表下载软件所需的所有依赖包,不加这个选项代表仅下载指定的软件包
4.NFS共享存储服务
4.1 NFS
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
提供共享存储的组合:真正提供存储能力的硬件设备 使用通用服务器制作的文件服务器 或 专用的企业级存储设备NAS
+
linux系统使用的共享存储服务 NFS
Windows系统使用的共享存储服务 CIFS
4.2 NFS网络文件系统
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
NFS架构
提供存储硬件的设备再配合nfs服务可以共享给多个主机使用
NFS原理图
4.3 NFS配置
(1)安装软件,启动服务
[root@localhost ~]# systemctl stop firewalld ##关闭防火墙
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux.config #关闭selinux
[root@localhost ~]# yum -y install nfs-utils rpcbind #安装 nfs-utils、rpcbind 软件包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* extras: mirrors.163.com
(2)准备共享目录
[root@localhost ~]# cd /opt/
[root@localhost opt]# ls
\rh
[root@localhost opt]# mkdir xy101 #创建共享目录
[root@localhost opt]# ll
总用量 0
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
drwxr-xr-x. 2 root root 6 4月 29 19:45 xy101
(3) 设置共享配置文件
[root@localhost opt]# vim /etc/exports #共享配置文件
[root@localhost xy101]# systemctl enable --now rpcbind #启动
[root@localhost xy101]# systemctl enable --now nfs #启动
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
(4) 发布共享目录
exports -rv #发布共享目录
showmount -e #服务端检查
showmount -e 服务端IP #客户端检查
(5) 客户端挂载使用
[root@localhost ~]# mkdir /opt/mydata #创建空目录
[root@localhost ~]# mount 192.168.80.20:/opt/xy101 /data #共享目录挂载到客户端的/data目录下