构建远程yun仓库源,及NFS共享存储!!!!!

一,YUM

1.概述

  • YUM(yellowdog updater modified)
  • 是一个RPM系统的自动更新和软件包安装/卸载器。
  • 它可以自动计算依赖和找出想要安装的软件包。
  • 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
  • YUM有一个添加简单功能的插件接口。YUM也能够通过他的模块接口被其他的Python 程序使用。

//基于RPM包构建的软件更新机制
//可以自动解决依赖关系
//所有软件包由集中的yum软件仓库提供

2. 三种软件仓库提供方式

  • FTP服务:ftp://…、
    ftp远程共享源存储仓库
  • HTTP服务: http://…
    官方网站下载源
  • 本地目录:file://…
    本地光盘镜像

3.RPM软件包的来源

CentOS发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合

4.yum工具概述

  • 关于yum命令
    由软件包yum-…提供
    用来访问yum仓库,查询,下载及安装,卸载软件包
  • yum的配置文件
    基本设置:/etc/yum.conf
    仓库设置:/etc/yum.repos.d/*.repo
    日志文件:/var/log/yum.log
  • yum缓存目录
    存放下载的软件包,仓库信息等数据
    位于/var/cache/yum/ b a s e a r c h ( 硬 件 架 构 , 如 x 8 6 6 4 ) / basearch(硬件架构,如x86_64)/ basearch(硬件架构,如x86
    64)/releasever(OS版本)
  • 清理缓存数据
    yum clean all
  • 加载缓存数据
    yum list
    yum makeacache

5.软件包查询

  • 查询软件包
yum list [软件名]…
yum info [软件名]…
yum search <关键词>…
  • 查询软件包组
yum grouplist [包组名]…
yum groupinfo <包组名>…

6. 软件安装升级与卸载

  • 安装软件
yum install [软件名]
yum groupinstall <包组名>
  • 升级软件
yum update

yum groupdate

yum update 更新软件包,连内核一起更新

yum upgrade 只更新软件包,但不更新内核
  • 卸载软件
yum remove <软件名>…
yum groupremove <包组名>…

二,构建CentOS7软件仓库

1.FTP和非官方的rpm包组

将光盘镜像挂载

[root@localhost ~]# hostnamectl set-hostname ftpserver		'修改主机名为服务端,方便区分'
[root@localhost ~]# bash
[root@server ~]# mount /dev/cdrom  /mnt	  '将镜像挂载到本地'
mount: /dev/sr0 is write-protected, mounting read-only
[root@server ~]# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda2      xfs        20G  3.1G   17G  16% /
...省略部分内容
/dev/sr0       iso9660   4.3G  4.3G     0 100% /mnt


查看是否有ftp站点目录

ll /var/
....没有ftp
account  cache  db     games   kerberos  local  log   nis  preserve  spool  yp
adm      crash  empty  gopher  lib       lock   mail  opt  run       tmp


 yum  -y install vsftpd    //安装vsftpd
...省略部分内容

mkdir centos7	//在站点下创建文件夹,存放镜像

复制光盘挂载点下的所有文件到存放镜像目录
[root@as ~]# cp -rf  /mnt/*   /var/ftp/centos7/&   //将镜像强制复制到centos7中,并在后台运行

[root@server ftp]# jobs			'查看后台运行程序'
[1]+  Running                 cp -i -rf /mnt/* centos7/ &


启动服务
systemctl  start  vsftp
systemctl enable  vsftp

查看验证:
在这里插入图片描述

  • .在软件仓库中加入非官方的RPM包组

包括存在的依赖关系的所有RPM包
使用createrepo工具建立仓库数据文件

1.首先yum安装createrepo工具
yum -y install createrepo

2.
[root@as ~]# mkdir /var/ftp/other         //创建other目录存放非官方rpm

3.以现有的repodata目录为样板,本地源挂载在mnt下的rpm源,咱们当做非官方源,验证下
[root@as ~]# cd  /var/ftp/other/
createrepo  -g  /mnt/repodata/repomd.xml   ./

4.服务已开启

下载端验证:

  1. 将之前的官方源,备份,
[root@client ~]# cd /etc/yum.repos.d/
[root@client 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@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]#mv C*. bak
[root@client yum.repos.d]#ls bak
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo


  1. 创建一个local.repo 文件,更改配置,下载源为ftp的软件仓库
1.之前的cp的配置local.repo里添加(local.repo文件是之前cp的Centos-Base....出来文件)

2.也可以直接vim 创建

[root@hgg backup]# vi /etc/yum.repos.d/local.repo 
[centos]
name=CentOS
baseurl=ftp://20.0.0.18/centos7
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[other]
name=other
baseurl=ftp://20.0.0.18/other
gpgcheck=0
enabled=1

2.清楚缓存,重新加载缓存
yum clean all;
yum makecache;

2. 本地源搭建

  1. 将官方源备份,
[root@client ~]# cd /etc/yum.repos.d/
[root@client 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@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]#mv C*. bak
[root@client yum.repos.d]#ls bak
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
  1. 创建本地源,光盘挂载目录
[root@hgg backup]# vi /etc/yum.repos.d/local.repo 
[centos]
name=CentOS
baseurl=ftp:///mnt
gpgcheck=0
enabled=1


3.清楚缓存,重新加载缓存
yum clean all;
yum makecache;

  • http
    则是需要线网,联网下载;
    默认官方源就是httpd
    如下:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

三 ,NFS共享存储服务

简述:一种基于“TCP/IP’传输的网络文件系统协议,nfs客户机可以向访问本地目录一样的访问远程nfs服务器中的共享资源;

  • 依赖于RPC(远程过程调用)
  • 需安装nfs-utils,rpcbind软件包
  • 系统服务:nfs,rpcbind
  • 共享配置文件:/etc/exports

NFS发布共享资源

  • 服务端
    1.安装nfs-utils , rpcbind软件包;
yum -y install rpcbind  nfs-utils
  1. .设置共享目录
[root@as other]# mkdir -p /opt/wwwroot
[root@as other]# vi /etc/exports
/opt/wwwroot  20.0.0.0/24(rw,sync,no_root_squash)
注:(rw,sync,no_root_squash)读写的权限,表示同步写入,当客户机以root身份访问时,赋予本地root权限
  1. 启动服务和设置开机自启
systemctl start rpcbind;
systemctl start nfs;
systemctl enable nfs
systemctl enable rpcbind



  1. 查看本地发布的NFS共享目录
[root@as other]#showmount -e
Export list for as:
/opt/wwwroot 20.0.0.0/24
  • 客户端:
    手动挂载NFS共享目录,挂载到/var/www/html
    查看服务器共享目录时,应指出服务器地址;

1.也需要下载软件包:nfs-utils, rpcbind

 yum -y install rpcbind  nfs-utils
  1. 启动rpcbind服务,设置开机自启
systemctl start rpcbind;
systemctl enable rpcbind;
systemctl start nfs
systemctl enable nfs
  1. 查看共享目录
[root@hgg ~]# showmount -e 20.0.0.18 (记住是服务器的地址)
Export list for 20.0.0.18:
/opt/wwwroot 20.0.0.0/24
先查看一下,显示出来说明就可以挂载了;
  1. 挂载:(挂载之后查看一下挂载,在确认挂载结果;)
    将服务器的共享文件挂载,前面要加服务器地址的ip
[root@hgg ~]# mount   20.0.0.18:/opt/wwwroot  /var/www/html/
[root@hgg ~]# df -Th
Filesystem             Type      Size  Used Avail Use% Mounted on
/dev/sda3              xfs        17G  987M   17G   6% /
devtmpfs               devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                  tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                  tmpfs     1.9G  8.6M  1.9G   1% /run
tmpfs                  tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sr0               iso9660   4.3G  4.3G     0 100% /mnt
/dev/sda1              xfs      1014M  135M  880M  14% /boot
tmpfs                  tmpfs     378M     0  378M   0% /run/user/0
20.0.0.18:/opt/wwwroot nfs4       17G  5.2G   12G  31% /var/www/html
[root@hgg ~]# tail -1 /etc/mtab 
20.0.0.18:/opt/wwwroot /var/www/html nfs4 rw,relatime,vers=4.1,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=20.0.0.19,local_lock=none,addr=20.0.0.18 0 0
  1. 测试文件:(在客户端的共享目录下创建文件,服务器端共享存储目录可以显示文件的)
两个测试文件自己拟定;
vi  /var/www/html/as.html  
vi  /var/www/html/index.html 
在共享目录挂载点下,创建一个文件测试下服务器端可不可以共享的到
  • 服务器端
查看::
[root@as ~]# ll /var/www/html/
total 8
-rw-r--r-- 1 root root 13 Jul 31 16:14 as.html
-rw-r--r-- 1 root root 12 Jul 31 16:17 index.html
  • fstab自动挂载设置;
    1.修改/etc/fstab配置文件,加入NFS共享目录的挂载设置。
[root@hgg html]# vi /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Jul 30 08:59:39 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=0a7d740d-097d-4c18-89e6-0a759b7086a7 /                       xfs     defaults        0 0
UUID=5e0de58b-b88d-4595-b5fd-8120d133f522 /boot                   xfs     defaults        0 0
UUID=d5b40c3b-7424-4c99-b37a-90c3e2793791 swap                    swap    defaults        0 0
/dev/cdrom  /mnt   iso9660   defaults 0 0
20.0.0.18:/opt/wwwroot  /var/www/html  nfs  defaults_netdev  0 0
~

注:挂载参数建议添加_netdev (设备需要网络); 若添加soft,intr参数可以实现软挂载,允许在网络中断时放弃挂载。这样客户机就可以在每次开机后自动挂载NFS共享资源了

强制卸载NFS

1.NFS客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端的NFS服务突然间停掉了,那么在客户端就会出现执行df -Th命令卡死的现象。
这个时候用umount命令是无法直接卸载的,需要在后面加上-lf才能卸载; -l表示解除正在繁忙的文件系统,-f 表示强制;

注:如果出现卡死现象是,要重新开一个终端,执行cat /etc/rc.loal命令。查看挂载点,然后用umout -lf卸载;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值