LINUX——部署yum仓库及NFS共享服务

1.YUM概述

YUM (Yellow dog Updater Modified)
●基于RPM包构建的软件更新机制
●可以自动解决依赖关系
●所有软件包由集中的YUM软件仓库提供

2.准备安装源

平时最常用的yum源是网络源和本地源,其实yum安装还有另外一种方式就是yum的远程源,即在ftp远程服务器上配置一个yum仓库,本地通过ftp访问服务器上的yum源然后下载所需软件

搭建环境:两台linux虚拟机,一台做ftp服务器,一台做客户端

2.1 安装yum本地源

在客户端上新建一个本地yum 源,挂载光盘


本地yum仓库的配置文件 vim local.repo文件里面配置:

2.2 安装yum远程源(ftp模式)

搭建环境:两台linux虚拟机,一台做ftp服务器,一台做客户端
ftp服务器:192.168.152.130
本地客户机:192.168.152.129
ftp服务器配置:
1、安装vsftpd服务端软件
2、创建并制作yum远程ftp站点的源
3、启动ftp服务

[root@localhost ~]# hostname server
[root@localhost ~]# bash
[root@server ~]# yum -y install vsftpd
[root@server ~]# mkdir /var/ftp/centos7
[root@server ~]# cd /var/ftp/centos7
[root@server centos7]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@server centos7]# cp -rf /mnt/* /var/ftp/centos7/
[root@server centos7]# 
[root@server centos7]# cd ~
[root@server ~]# systemctl start vsftpd
[root@server ~]# yum install nginx zabbix -y --downloadonly --downloaddir=/data/packages    
 //先在服务器上yum下载nginx和zabbix的软件包但不安装,如果不指定nginx会放在/var/cache/yum/x86_64/7/epel/packages这个目录下
[root@server ~]# cd /data/packages/
[root@server packages]# ls
nginx-1.16.1-3.el7.x86_64.rpm                        nginx-mod-http-xslt-filter-1.16.1-3.el7.x86_64.rpm
nginx-all-modules-1.16.1-3.el7.noarch.rpm            nginx-mod-mail-1.16.1-3.el7.x86_64.rpm
nginx-filesystem-1.16.1-3.el7.noarch.rpm             nginx-mod-stream-1.16.1-3.el7.x86_64.rpm
nginx-mod-http-image-filter-1.16.1-3.el7.x86_64.rpm  openssl11-libs-1.1.1g-3.el7.x86_64.rpm
nginx-mod-http-perl-1.16.1-3.el7.x86_64.rpm          zabbix40-4.0.29-1.el7.x86_64.rpm
[root@server packages]# cp * /var/ftp/centos7/Packages/      
//将他们拷贝到ftp对应软件包路径
[root@server packages]# createrepo --update /var/ftp/centos7/Packages/        //手动更新依赖关系
Could not find valid repo at: /var/ftp/centos7/Packages/
Spawning worker 0 with 1008 pkgs
Spawning worker 1 with 1008 pkgs
Spawning worker 2 with 1008 pkgs
Spawning worker 3 with 1007 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@server Packages]#  cd /var/ftp/centos7/Packages/repodata
[root@server repodata]# ls
170633cd2c68c2dd38a138cc418b705d9cf97b982a0cb5e7af7754bb370d28a6-primary.sqlite.bz2
5ba1eb9186261d2232842b234076dcea7925be5943b44efaf7495f99465ea7ba-filelists.sqlite.bz2
7b1a1b2546d8f7bb17414b6f1f1542be3ff71cee7bcf6f2d6127c69f7d390971-primary.xml.gz
7fa1cb135373a44cd84ca556603c8da1957220a3a85230b19c29d2986280374d-filelists.xml.gz
e79130a4af3bcf5521d71d4a79e26785309e60bbb665ed4cdcc6ac7fe727a8cc-other.sqlite.bz2
ffa001533c88a51e34baa202aa07aa8a21ff139f4310c80081075a3890480fe9-other.xml.gz
repomd.xml

createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。

–update
如果元数据已经存在,且软件仓库中只有部分软件发生了改变或增减,
则可用update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。

本地客户端配置:
1、创建远程yum源的配置文件
2、yum安装软件验证结果
模拟场景:当需要在自建仓库里增加软件时需要更新yum源的元数据信息
因为之前安装了yum 本地源,所以这里直接试验下

[root@client yum.repos.d]# yum list |grep nginx     //这时客户端无法安装nginx,检查不到
pcp-pmda-nginx.x86_64                   4.1.0-4.el7                    centos7 
[root@client yum.repos.d]# ls
bak  local.repo
[root@client yum.repos.d] vim local.repo ////修改repo文件

[localcentos7]
name=centos7.ftp
baseurl=ftp://192.168.152.130/centos7/Packages/  //仓库地址加上Packages目录
enabled=1
gpgcheck=0
[root@client yum.repos.d]# yum clean all  //清理yum
[root@client yum.repos.d]# yum makecache    //重新建立yum缓存
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
localcentos7                                                                                          | 2.9 kB  00:00:00     
(1/3): localcentos7/primary_db                                                                        | 3.1 MB  00:00:00     
(2/3): localcentos7/filelists_db                                                                      | 3.2 MB  00:00:00     
(3/3): localcentos7/other_db                                                                          | 1.3 MB  00:00:00     
元数据缓存已建立
[root@client yum.repos.d]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                                      源名称                                                      状态
localcentos7                                                centos7.ftp                                                 4,031
repolist: 4,031  ////这里看到包的数量多了
[root@client yum.repos.d]# yum list | grep nginx  // //成功检测到nginx
nginx.x86_64                             1:1.16.1-3.el7             localcentos7
nginx-all-modules.noarch                 1:1.16.1-3.el7             localcentos7
nginx-filesystem.noarch                  1:1.16.1-3.el7             localcentos7
nginx-mod-http-image-filter.x86_64       1:1.16.1-3.el7             localcentos7
nginx-mod-http-perl.x86_64               1:1.16.1-3.el7             localcentos7
nginx-mod-http-xslt-filter.x86_64        1:1.16.1-3.el7             localcentos7
nginx-mod-mail.x86_64                    1:1.16.1-3.el7             localcentos7
nginx-mod-stream.x86_64                  1:1.16.1-3.el7             localcentos7
pcp-pmda-nginx.x86_64                    4.1.0-4.el7                localcentos7

3. NFS共享服务

3.1 概述

NFS 是一种基于 TCP/IP 传输的网络文件系统协议,NFS 也是 NAS 存储 设备必然支持的一种协议

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远 程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
nfs端口号2049
RPC端口号111

特点:
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境

3.2 实验步骤

搭建环境:两台linux虚拟机,一台是服务器,一台是客户机
安装nfs和rpcbind软件
修改配置文件设置共享
创建共享目录
开启服务
客户端验证共享目录可访问

服务端设置:

rpm -q rpcbind nfs-utils //查看是否安装
yum install -y nfs-utils rpcbind //如果没有安装的话,安装一下

[root@server ~]# vim /etc/exports   //编辑nfs配置文件,指定挂载的目录,挂载的网段和配置信息,文件内容默认为空(无任何共享)
/opt/web 192.168.152.0/24(rw,sync,no_root_squash)
[root@server ~]# mkdir /opt/web
[root@server ~]# cd /opt/web
[root@server web]# touch 123
[root@server web]# ls
123
[root@server web]# cd ~
[root@server ~]# systemctl stop firewalld //关闭防火墙
[root@server ~]# systemctl start rpcbind  //开启服务
[root@server ~]# systemctl start nfs      //开启服务
[root@server ~]# cd /opt/web
[root@server web]# exportfs -r  //更新配置文件
[root@server web]# exportfs -v  //查看配置文件内容
/opt/web      	192.168.152.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
[root@server web]# 
[root@server web]# touch abc
[root@server web]# ll
总用量 0
-rw-r--r--. 1 root root 0 526 21:12 123
-rw-r--r--. 1 root root 0 526 21:26 abc //新建的文件,有时间戳
[root@server web]# 

NFS的实现依赖于RPC(远程过程调用)机制,RPC充当NFS服务器和客户端的中介,以完成从远程到本地的映射过程,提供RPC支持的服务为rpcbind,提供nfs共享的服务为nfs-server,CentOS 8中需要安装nfs-util和rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。

客户端设置:

[root@client ~]# yum -y install rpcbind nfs-utils
[root@client ~]# yum -y install httpd
[root@client ~]# showmount -e 192.168.152.130 //验证共享
Export list for 192.168.152.130:
/opt/web 192.168.152.0/24
[root@client ~]# mount -t nfs 192.168.152.130:/opt/web /var/www/html
//挂载目录
[root@client ~]# cd /var/www/html
[root@client html]# ls  //可以查看到内容
123
[root@client html]# 
[root@client html]# ls
123  abc
[root@client html]# ll
总用量 0
-rw-r--r--. 1 root root 0 526 21:12 123
-rw-r--r--. 1 root root 0 526 21:26 abc //对比客户端,可以看到时间戳是一样的,达到完成共享的目的
[root@client html]# 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值