Linux部署YUM仓库与NFS共享服务
一、YUM概述
YUM基于RPM包构建的软件更新机制,可以自动解决依赖关系,所有软件包由集中的YUM软件仓库提供
二、准备安装源
1、软件仓库的提供方式
- FTP服务:ftp://……
- HTTP服务:http://……
- 本地目录:file://……
2、RPM软件包的来源
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
三、构建CentOS 7软件仓库
1、RPM包来自CentOS7 DVD光盘
2、通过FTP方式提供给客户机
mkdir -p /var/ftp/centos7
cp -rf /dev/cdrom/* /var/ftp/centos7
rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
systemctl start vsftpd
扫描二维码关注公众号,回复: 12237312 查看本文章![]()
systemctl enable vsftpd
3、在软件仓库中加入非官方RPM包租
- 包括存在依赖关系的所有RPM包
- 使用createrepo工具建立仓库数据文件
mkdir /var/ftp/other
cd /var/ftp/other————非官方的RPM要先放入该目录下
createrepo -g /media/cdrom/repodata/repomd.xml ./
为客户机指定YUM仓库位置
4、配置文件:/etc/yum.repos.d/centos7.repo
vim /etc/yum.repos.d/centos7.repo
[base]
name=CentOS 7.3
baseurl=ftp://192.168.4.20/centos7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7————软件校验公钥
[other]
name=Other RPM Packages
baseurl=ftp://192.168.4.20/other
enable=1
gpgcheck=0
5、关于YUM命令
- 由软件包yum-3.4.3-150.el7.centos.noarch提供
- 用来访问YUM仓库,查询、下载及安装、卸载软件包
6、YUM的配置文件
- 基本设置:/etc/yum.conf
- 仓库设置:/etc/yum.repos.d/*.repo
- 日志文件:/var/log/yum.log
7、本地YUM仓库
直接以Centos7光盘做软件仓库
- 将Centos7光盘放入光驱
- 挂载镜像到仓库位置,URL地址为file:///media/cdrom
vim /etc/yum.repos.d/local.repo
……
[local]
name=CentOS7.3
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
8、YUM缓存目录
- 存放下载的软件包、仓库信息等数据
- 位于/var/cache/yum/ b a s e a r c h / basearch/ basearch/releasever
yum clean all——清理缓存数据
四、软件包查询
1、查询软件包
yum list [软件名]
yum info [软件名]
yum search <关键词>
yum whatprovides <关键词>
2、查询软件包组
yum grouplist [包组名]
yum groupinfo <包组名>
3、安装软件
yum install [软件名]
yum groupinstall <包组名>
4、升级软件
yum update
yum groupupdate
5、卸载软件
yum remove <软件名>
yum groupremove <包组名>
五、NFS共享存储服务
1、NFS是一种基于TCP/IP传输的网络文件系统协议,通过使用NFS协议,客户机可以向访问本地目录一样访问远程服务器中的共享资源
2、对于大多数负载均衡集群来说,使用NFS协议来共享数据存储是比较常见的作法,NFS也是NAS存储设备必然支持的一种协议,但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用
3、NFS服务的实现依赖于RPC(远端过程调用)机制,以完成远程到本地的映射过程,所以需要安装nfs-utils、rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持
4、NFS的配置文件为/etc/exports
格式为:共享的目录位置 客户机地址(权限选项)
六、NFS的部署
在文件服务器使用NFS发布共享资源
1、安装nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
2、设置共享目录
mkdir -p /opt/abc
chmod 777 /opt/abc
vim /etc/exports
/opt/abc 192.168.241.0/24(rw,sync,no_root_squash)
客户机地址可以是主机名、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 -antp | grep rpcbind————查看rpcbind端口是否开启,rpcbind默认使用tcp端口111
4、查看本机发布的NFS共享目录
exportfs -rv————发布共享
showmount -e
在客户机中访问NFS共享资源
1、安装nfs-utils、rpcbind软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
2、查看NFS服务器端共享了哪些目录
showmount -e 192.168.241.3
3、手动挂载NFS共享目录
mkdir /share
mount 192.168.241.3:/opt/abc /share
df -Th——确认挂载结果,或者mount
自动挂载
vim /etc/fstab
192.168.241.3:/opt/abc /share nfs defaults,_netdev 0 0—————_netdev:表示挂载设备需要网络
4、强制卸载NFS
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现df -h命令卡死的现象,这时候直接使用umount命令是无法直接卸载的,需要加上-lf选项才能卸载
umount -lf /share