部署yum仓库
CentOS使用yum和dnf 解决rpm的包依赖关系
yum概述:
YUM (Yellow dog Updater Modified)
• 基于RPM包构建的软件更新机制 • 可以自动解决依赖关系 • 所有软件包由集中的YUM软件仓库提供
扩展:
centos7 rhe17 yum ——> .rpm
centos8 rhe18 dnf yum
Ubuntu debian apt ——> .deb
yum仓库三种源方式
baseurl=file://<软件包目录> 本地源
ftp://<FTP服务地址> ftp源
http:// https://<URL地址> 在线源
ftp方式搭建云仓库
步骤:
1.服务端安装vsftpd服务程序
cd /mnt/Packages
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
2.开启vsftp服务 ,并关闭防火墙
systemctl start vsftpd #开启vsftp服务
systemctl status vsftpd #查看vsftp服务状态
systemctl stop firewalld #关闭防火墙服务
setenforce 0
3.服务端切换到/var/ftp目录下新建一个文件centos7,并将光驱挂载到此目录下
[root@localhost Packages]#cd /var/ftp #切换到ftp目录下
[root@localhost ftp]#mkdir centos7 #新建目录centos7
[root@localhost ftp]#mount /dev/sr0 centos7 #将光驱挂载在此目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]#cd centos7/
[root@localhost centos7]#ls
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
4.客户端编写yum仓库文件
[root@localhost ~]#cd /etc/yum.repos.d/ #切换目录
[root@localhost yum.repos.d]#ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]#mkdir ftp.bak #新建文件夹
[root@localhost yum.repos.d]#mv *repo ftp.bak #将默认的仓库文件移动到此目录下
[root@localhost yum.repos.d]#vim ftp.repo ##编写新的仓库文件
[ftp]
name=ftp
baseurl=ftp://192.168.46.30/centos7
enabled=1
gpgcheck=0
6.清理yum缓存,建立元数据,并测试yum能否安装软件包
[root@localhost yum.repos.d]#yum clean all
[root@localhost yum.repos.d]#yum makecache
[root@localhost yum.repos.d]#yum install -y httpd
搭建阿里云仓库
默认的仓库文件是国外云仓库,速度比较慢,可以使用阿里云仓库代替
步骤:
1.切换/etc/yum.repo.d 目录下,将文件移走
[root@localhost ~]# cd /etc/yum.repos.d/ //切换至/etc/yum.repos.d/目录
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak //将yum仓库中以.repo结尾的文件移动到bak中
[root@localhost yum.repos.d]# ls
bak
2.搭建阿里云仓库
[root@localhost yum.repos.d]#wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost yum.repos.d]#ls #查看是否搭建成功
bak CentOS-Base.repo
或者
[root@localhost yum.repos.d]#curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.清理缓存并安装软件
[root@localhost yum.repos.d]# yum clean all #清理yum缓存
[root@localhost yum.repos.d]# yum makecache #重新建立元数据
[root@localhost yum.repos.d]# yum install tree -y #yum安装tree测试是否成功
yum 命令仅下载安装包
方式一:
yum install --downloadonly 软件名称
#下载下来的安装包都是放在 /var/cache/yum/x86_64/7/ 目录下,只是下载所需软件和依赖包无法安装软件
方式二:
yumdownloader --destdir=/opt mariadb mariadb-server
#yumdownloader 仅下载指定软件包,不下载依赖包 参数 --destdir 是用来指定存放下载的安装包的目录
软件包查询、安装、卸载
1.查询软件包
yum list [软件名]
yum info [软件名]
yum search <关键词>
yum whatprovides <关键词>
2.安装软件
yum install [软件名]
yum groupinstall <包组名>
3.升级软件
yum update
yum groupupdate
4.软件卸载
yum remove <软件名>
yum groupremove <包组名>
NFS共享存储服务
1、NFS的概念
NFS(Network File System 网络文件服务)是一种基于TCP/IP传输的网络文件系统协议
2、NFS优点与缺点
通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源;对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的方法,NFS也是NAS存储设备必然支持的一种协议
由于NFS没有用户认证机制,并且数据网络上是明文传输,所以安全性较差,一般只在局域网中使用。
扩展:
nfs 不是存储设备
硬盘 内存 光盘 LVM 块存储设备
nas iscsi san 企业级网络文件存储设备
配合nfs服务把以上存储设备的文件数据通过网络共享给其他服务器使用
3、NFS的使用要求:
NFS服务的实现依赖于RPC(Remote Process Call,远程过程调用)机制,以完成远程到本地的映射过程
所以需要安装nfs-utils、rpcbind软件包来提供共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
依赖于RPC (远端过程调用)
需安装nfs-utils、rpcbind软件包
系统服务: nfs、rpcbind
4、NFS的配置文件
NFS的配置文件为/etc/exports
格式:
共享的目录名称 客户机地址/网段(共享参数)
共享参数:
“rw” 表示允许读写,“ro” 表示为只读
sync :写入数据同步写入到内存和硬盘中(保证数据的安全,不会丢失,写入会受到硬盘IO性能的影响,可能会影响读写速度)
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
NFS共享存储服务配置的步骤
1.服务端配置
安装nfs_utils和rpcbind程序
yum install -y nfs-utils
yum install -y rpcbind
设置共享目录
cd /opt
mkdir share #新建目录
chomd 777 share #赋予权限
vim /etc/exports #编辑共享配置文件
/opt/share 192.168.46.0/24(rw,no_root_squash) #新增配置
关闭防火墙和系统安全服务,启动rpcbind和nfs服务,并查看rpcbind的端口是否打开
注意:先启动rpcbind服务,在启动nfs服务
systemctl start rpcbind #开启rpchind
systemctl start nfs #开启nfs
systemctl enable rpcbind #将rpcbind设为自启动
systemctl enable nfs #将nfs设为自启动
netstat -anpt | grep rpcbind #查看rpcbind是否开启
在线发布nfs共享目录并查看
exportfs -rv #在线发布nfs共享目录
showmount -e #查看nfs共享目录
2.客户端配置
安装rpcbind服务
yum install -y rpcbind
查看服务端的共享目录,并进行挂载(可以手动或自动挂载)
showmount -e 192.168.229.30 #查看服务器NFS共享目录
mkdir /data #新建目录
mount 192.168.229.30:/opt/share /data/ #进行手动挂载
df -hT #查看挂载情况
设置自动挂载:
vim /etc/fstab
192.168.229.30:/opt/share /data nfs defaults,_netdev 0 0
##_netdev:表示挂载设备需要网络
测试:
客户机:
服务端
3.强制卸载nfs
如果服务端nfs服务突然停止使用,而客户端正在挂载中,客户端使用df -h 命令查看挂载点时会出现卡死现象,如果使用umount命令卸载挂载点是无法卸载的,需要强制卸载挂载点
umount -lf /data #强制卸载