一、yum库
1.yum概述
YUM (Yellow dog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中的YUM软件仓库提供
在centos8中yum改为apt
2.准备安装
1.软件仓库的提供方式
FTP服务: ftp:// ....
HTTP服务:http://......
本地目录: file://...
2.RPM软件包的来源
- Centos发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
3.构建FTP yum仓库
RPM包来自Centos 7 DVD光盘
通过FTP方式提供给客户机
在软件仓库中加入官方RPM包组
包括存在依赖关系的所有RPM包
使用createrepo工具建立仓库数据文件
为客户机指定YUM仓库位置
配置文件:/etc/yum.repos.d/centos7.repo
3.yum仓库安装
本地YUM源 baseurl=file:// 只能给本机使用软件仓库ftpYUM源 baseurl=ftp://FTP服务器地址/软件目录 能给所有能连接此ftp服务器的用户使用(注意要关闭防火墙)
在线YUM源 baseurl=http:// 通过网络在线使用软件
https://
在nfs服务器中使用LVM或者raid5设备挂载到/data目录上。用NFS服务
1.本地yum仓库
2.ftp yum仓库
服务主机
服务主机
其他主机 客户端
3.在线的yum仓库
第一步:将我们创建的local.repo文件移动到bak目录下(也可以是别的备份目录)第二步:将可以连外网的系统打开,执行wget -O /etc/yum.repos.d/CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-7.repo 将阿里云镜像下载到/etc/yum.repos.d/目录下
第三步:刷新缓存, yum claen all && yum makecache 清理缓存并且生成新的缓存
然后就可以直接用阿里云仓库里的软件包安装文件了,都是最新的软件包,但是必须有网的环境下才可以使用。
如果想在没有网的情况下也能使用yum仓库里的软件,就需要将阿里云仓库下载到本地,占用空间较高,
4.yum仓库优先级
当既有本地yum源又有aliyun源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,
本地找不到可用的包时再使用aliyun源去安装软件,这里就涉及到了优先级的问题,
yum提供的插件yum-plugin-priorities.noarch可以解决这个问题
1.查看是否安装了yum-plugin优先级插件rpm -qa |grep yum-plugin-
2.如果没有安装,就安装插件
yum -y install yum-plugin-priorities.noarch
3.查看插件是否启用
cat /etc/yum/pluginconf.d/priorities.conf
[main]:
enabled = 1 1为启动,0 为禁止
4.修改本地yum源优先使用
vi local.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=1
priority=1 #数字越小优先级越高
[epel]
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
enabled=1
gpgcheck=0
priority=2
验证安装包的数量
执行yum repolist all 可显示所有仓库包
5.yum工具
yum命令仅下载方式一:
yum install --downloadonly mariadb
下载下来的安装包都是放在 /var/cache/yum/x86_64/7/ 目录下
方式二:
yumdownloader --destdir=/opt mariadb mariadb-server
yumdownloader 仅下载指定软件包,参数 --destdir 是用来指定存放下载的安装包的目录查询 yum list [软件名] yum info [软件名] yum search<关键词> yum whatprovides<关键词>
查询软件包组 yum grouplist [包组名] yum groupinfo<包组名>
安装软件 yum install [软件名] yum groupinstall<包组名>
升级软件 yum update yum groupupdate
卸载软件包 yum remove[软件名] yum groupremove<包组名>
-y 表示自动升级
YUM的配置文件
基本设置:/etc/yum.conf
仓库设置:letclyum.repos.d/*.repo
日志文件: /varlloglyum.log
二、NFS共享存储服务
NFS共享存储服务 (文件存储设备)
NPS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。
但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
所以需要安装nfs-utils、rpcbind 软件包来提供NFS共享服务,前者用于NFS 共享发布和访问,后者用于RPC支持。
NFS 的配置文件为/etc/exports
格式为:
共享的目录位置 客户机地址(权限选项)
1.在文件服务器使用NFS发布共享资源
1.安装nfs-utils、rpcbind软件包rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
2.设置共享目录
mkdir -p /opt/wwwroot
chmod 777 /opt/ wwwroot
vim /etc/exports (绝对路径)
/opt/wwwroot 192.168.80.0/24(rw,sync,no_root_squash)
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw) (多台主机用空格隔开)
/share * (rw,sync)
客户机地址可以是主机名、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/passwd文件中匿名用户的GID
3.启动NFS 服务程序
手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
netstat -anpt | grep rpcbind
4.查看本机发布的NES共享目录
exportfs -rv 发布共享
showmount -e 查看
netstat -anpt | grep rpcbind #查看rpcbind端口是否开启,rpcbind默 认使用tcp端口111,nfs是2049
exportfs -rv 不用重启跟新服务
2.在客户机中访问NFS共享资源
1.查看软件安装情况rpm -q rpcbind nfs-utils
2.启动NFS 服务程序
systemctl start rpcbind
systemctl start nfs
3.查看共享
showmount -e 192.168.132.41.手动挂载
在根目录创建一个目录
mkdir /gx1
挂载
mount 192.168.132.4:/opt/tyx1 /gx1
2.自动挂载
vim /etc/fstab
192.168.132.4:/opt/tyx1 /gx1 nfs defaults,_netdev 0 0
如果服务器出现意外,导致nfs服务停止,客户端再使用df -h会卡死,这是普通解挂是无效的,需要强制解挂
umount -lf /gx1
!vim 编辑上一次编辑文件
#
【文章原创作者:cc防御 http://www.558idc.com/gfip.html提供,感恩】