部署yum仓库及NFS共享服务 理论加实验

1.yum概述:

基于RPM包构建的软件更新机制

安装用rpm -ivh 卸载用rpm -e

可以自动结局历来关系

所有软件包由集中YUM软件仓库提供

可以解决依赖性关系
在这里插入图片描述

2.软件仓库的提供方式:

FTP服务:ftp://…

HTTP服务:http://… 不用部署默认的

本地目录:[file://…](file://…)

2.1RPM软件包的来源

CentOS发布的的RPM包集合

第三方组织发布的RPM包集合

用户自定义的RPM包集合

3.构建CentOS 7软件仓库:

RPM包来自CentOS 7 DVD光盘

通过FTP方式提供给客户机

4.在软件仓库中加入非官方RPM包组:

包括存在依赖关系的所有RPM包

使用createrepo工具建立仓库数据文件

其中other目录里面放的是索引,可以快速定位到所需内容

Createrepo -g部署软件包索引

5.访问YUM仓库:

为客户及指定YUM仓库位置

配置文件:/etc/yum.repos.d/centos7.repo

6.关于YUM命令:

有软件包yum-3.4.3-150.el7.centos.noarch提供

用来访问YUM仓库,查询,下载及安装,卸载软件包

6.1YUM的配置文件

基本配置:/etc/yum.conf 主配置文件

仓库设置:/etc/yum.repos.d/*.repo

日志文件:/var/log/yum.log ##yum仓库出问题就需要去检查日志文件

6.2Yum缓存目录

存放下载的软件包,仓库信息等数据

位于/var/cache/yum/ b a s h e a r c h / bashearch/ bashearch/releasver

当有些yum命令不好使,可以用yum clean all 去清除缓存

6.3查询软件包命令

Yum list [软件名] ##展现软件包列表
在这里插入图片描述
Yum info [软件名] ##查看软件包详细信息
在这里插入图片描述
Yum search <关键词> ## 搜索软件包
在这里插入图片描述
Yum clean all ##清除缓存在这里插入图片描述
Yum whatprovides <文件/目录> ##查看文件/目录归属哪个软件包

6.4查询软件包组命令

yum grouplist [包组名] ##安装桌面时会用到
在这里插入图片描述
yum groupinfo <包组名>

6.5软件安装,升级

  • 安装软件
    yum install [软件名]
    yum groupinstall <包组名>
    安装桌面包组
    在这里插入图片描述

  • 升级软件
    yum update 既更新软件包,同时也更新系统内核
    yum upgrade 只更新软件包
    yum groupupdate

  • 卸载
    yum remove
    删除桌面包组
    在这里插入图片描述

7.yum搭建本地源环境实验适用于没网的环境:

步骤:

[root@localhost yum.repos.d]# mv C* backup/   ##模拟环境,将yum包复制到backup目录中
[root@localhost yum.repos.d]# ls   
backup
[root@localhost yum.repos.d]# cd ..
[root@localhost etc]# yum -y install httpd       ##安装apache服务,发现安装失败
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
There are no enabled repos.
 Run "yum repolist all" to see the repos you have.
 To enable Red Hat Subscription Management repositories:
   subscription-manager repos --enable <repo>
 To enable custom repositories:
   yum-config-manager --enable <repo>
[root@localhost etc]# mount /dev/cdrom /mnt     ##将光盘挂载到mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost etc]# cd /mnt
[root@localhost mnt]# ls             ##Packages目录中包含rpm软件包
CentOS_BuildTag  GPL    LiveOS   RPM-GPG-KEY-CentOS-7
EFI        images   Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA       isolinux  repodata  TRANS.TBL
[root@localhost mnt]# cd /etc/yum.repos.d/    ##重新切换至yum配置文件中
[root@localhost yum.repos.d]# vim abc.repo   ##自己手动创建,结尾必须为repo    
[abc]           ##名字
name=base        ##仓库环境     
baseurl=file:///mnt     ##配置软件源环境,本地是file file://固定格式
enabled=1        ##开启yum仓库
gpgcheck=0        ##不进行公钥验证
[root@localhost yum.repos.d]# yum list   ##重新加载

可重新安装apache服务
在这里插入图片描述
注意:挂载光盘时,虚拟机中设备必须是已连接状态
在这里插入图片描述

8.构建FTP远程源环境:

服务端配置:

1.先挂载光盘镜像

[root@cai ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载

2.安装vsftpd 服务

[root@cai ~]# yum -y install vsftpd*

3.创建centos7目录,将软件源复制到ftp站点

[root@cai ftp]# mkdir centos7       ##创建目录centos7
[root@cai ftp]# ls
centos7  pub
[root@cai ftp]# cp -rf /mnt* /var/ftp/centos7/ &  ##将软件源复制到站点;&代表放在后台执行

\

4.建立yum索引

[root@cai ftp]# mkdir other      ##建立索引目录
[root@cai ftp]# createrepo -g /mnt/repodata/repomd.xml other/   ##将mnt下的文件写到other当中

5.开启ftp服务

[root@cai ftp]# setenforce 0      ##关闭临时防护
[root@cai ftp]# iptables -F       ##清空防火墙规则
[root@cai ftp]# systemctl start vsftpd  ##开启ftp服务

客户端配置:

1.安装ftp服务

[root@tian ~]# yum -y install ftp

2.测试访问服务ftp服务

[root@tian ~]# ftp 192.168.148.131   ##ftp访问服务端
Connected to 192.168.148.131 (192.168.148.131).
220 (vsFTPd 3.0.2)
Name (192.168.148.131:root): ftp     ##这边匿名登录ftp
331 Please specify the password.
Password:               ##匿名登录不需要密码,直接回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls                ##查看是否登录成功
227 Entering Passive Mode (192,168,148,131,76,201).
150 Here comes the directory listing.
drwx--x--x   3 0     0        17 Jul 12 02:39 centos7
drwx--x--x   3 0     0        22 Jul 12 02:42 other
drwxr-xr-x   2 0     0        6 Apr 01 04:55 pub
226 Directory send OK.

3.配置repo仓库文件

[root@tian yum.repos.d]# vim abc.repo      ##这边文件名随意,但是必须以repo结尾
[base]
name=centos7.packages
baseurl=ftp://192.168.148.131/centos7/mnt     ##提供ftp远程服务配置
enabled=1
gpgcheck=1                  ##base这边最好开启密钥验证
gpgkey=ftp://192.168.148.131/centos7/mnt/RPM-GPG-KEY-CentOS-7  ##密钥位置在服务端当中

[other]
name=other.packages             
baseurl=ftp://192.168.148.131/other      ##other文件位置在服务端,里面是索引
enabled=1
gpgcheck=0

4.清除缓存,yum clean all 重新加载yum list
5.可以重新安装apache服务
在这里插入图片描述

9.NSF存储服务:

NFS网络文件系统
依赖于RPC远端过程调用
需安装nfs-util.rpcbind软件包
系统服务:nfs.rpcbind
共享配置文件:/etc/exports

9.1NFS实验

服务端配置:
1.先在服务端中添加一块20G的磁盘
在这里插入图片描述
2.将磁盘格式化,挂载到mnt目录下

[root@localhost ~]# fdisk /dev/sdb

在这里插入图片描述

[root@localhost ~]# mkfs.xfs /dev/sdb1    ##将磁盘格式化,用来挂载
[root@localhost ~]# vi /etc/fstab       
/dev/sdb1  /hu   xfs    defaults 0 0   ##配置永久挂载
[root@localhost ~]# mount -a        ##刷新挂载情况

[

在这里插入图片描述
3.安装nfs包和rpcbind包

[root@localhost ~]# yum -y install nfs-utils rpcbind

4.将共享的目录添加至共享配置文件中

[root@localhost /]# vi /etc/exports
/hu 192.168.148.0/24(rw,sync,no_root_squash)    ##支持读写;同步;不让对方降级处理  

5.启动服务

[root@localhost /]# setenforce 0       ##关闭临时防护
[root@localhost /]# iptables -F        ##清空防火墙规则
[root@localhost /]# systemctl start nfs       ##启动服务
[root@localhost /]# systemctl start rpcbind  

6.查看服务是否被提供出去

[root@localhost /]# showmount -e
Export list for localhost.localdomain:
/hu 192.168.148.0/24  

客户端配置:
1.先安装nfs和rpcbind软件包

[root@localhost ~]# yum -y install nfs-utils rpcbind  

2.启动nfs服务

[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind

3.查看谁给客户及提供服务

[root@localhost ~]# showmount -e 192.168.148.131   ##查看哪个服务器提供服务
Export list for 192.168.148.131:
/hu 192.168.148.0/24

4.安装并启动apache服务

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd

5.配置开机自动挂载,mount-a生效

[root@localhost ~]# vi /etc/fstab 
192.168.148.131:/hu /var/www/html nfs defaults,_netdev 0 0
[root@localhost ~]# mount -a

在这里插入图片描述
6.在html目录下写数据验证数据会保存在服务端提供的共享目录中

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# vim index.html
<hi>this is fstab</hi>

在这里插入图片描述
7.切换至服务端,查看数据是否保存
在这里插入图片描述
模拟当服务器宕机时,如何处理:
1.先将服务器nfs服务停止

[root@localhost /]# systemctl stop nfs

2.回到客户端,输入df-Th查看挂载情况,发现出现卡死状况
在这里插入图片描述
解决方法:
1.再次打开一个终端,输入umount -lf取消挂载,不能用table补全命令
在这里插入图片描述
如果table补全会再次出现卡死状况:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值