文章目录
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补全会再次出现卡死状况: