YUM仓库及NFS共享服务

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 挂载目录
 


 

  • 20
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值