YUM的前身是YUP (elov dog Upater Yllowo dog Linux 的软件更新器),最初由TSS公司(Terra Soft Solutions,INC.)使用Python语言开发而成,后来由杜克大学(Duck Uivest)的Limux开发队伍进行改进,命名为YUM (Yellow dog UpdaterModifed)。
借助于YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无须管理员逐个、手工地去安装每个rpm包,使管理员在维护大量Linux服务器时更加轻松自如。特别是在拥有大量Linux主机的本地网络中,构建一台 源服务器可以大大缓解软件安装、升级等对Internet的依赖。
网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
对于大多数负责均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。
但是,NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
为客户机指定YUM仓库位置
配置文件:/etc/yum.repo.d/*.repo
直接以CentOS 7光盘作软件仓库
将CentOS7光盘放入光驱
指定仓库位置,URL地址为file:///media/cdrom
第一步:将centos7光盘镜像挂载到服务端(光盘镜像要连接状态)
[root@localhost ~]# hostnamectl set-hostname server 修改主机名为服务端,方便区分
[root@localhost ~]# su
第二步:安装vsftpd,ftp作为服务站点
[root@server ~]# cd /var/
[root@server var]# ls
[root@server var]# yum -y install vsftpd
[root@server var]# ls 查看是否安装好ftp
这边FTP就可以作为我们的站点
第三步:准备软件仓库目录
在centos 7系统的安装光盘中,已针对软件目录Packages建立好repodata数据,因此只要简单地将整个光盘中的内容通过HTTP或FTP进行发布,就可以作为软件仓库了。
[root@server var]# cd ftp/
[root@server ftp]# ls
[root@server ftp]# mkdir centos7 在站点下创建文件夹,存放镜像
[root@server ftp]# cp -rf /mnt/* centos7/ & 将镜像强制复制到centos7中,并在后台运行
[root@server ftp]# jobs 查看后台运行程序
[root@server ftp]# mkdir other 创建扩展目录,用于创建repodata数据文件
[root@server ftp]# ls
[root@server ftp]# createrepo -g /mnt/repodata/repomd.xml other/
[root@server ftp]# cd centos7
[root@server centos7]# ls
[root@server centos7]# cd ../other/
[root@server other]# ls
[root@server other]# cd repodata/
[root@server repodata]# ls
第五步:开启vsftpd服务
[root@server repodata]# cd ~
[root@server ~]# systemctl start vsftpd
[root@server ~]# netstat -ntap | grep 21
[root@server ~]# netstat -ntap | grep 20
[root@server ~]# systemctl stop firewalld.service
[root@server ~]# setenforce 0
21端口用于连接
20端口用于传输
第一步:安装ftp服务,查看是否可以看到站点
[root@localhost ~]# hostnamectl set-hostname client
[root@localhost ~]# su
[root@client ~]# rpm -q ftp
[root@client ~]# yum install ftp -y
[root@client ~]# ftp 20.0.0.47
[root@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]# mv *.repo bak/ 将所有以.repo结尾的都放到bak下
[root@client yum.repos.d]# yum clean all 清空yum仓库缓存
[root@client yum.repos.d]# yum list
第三步:自己写一个repo文件,并将秘钥复制到其中
[root@client yum.repos.d]# vim centos7.repo
[root@client yum.repos.d]# yum list 重新加载,发现软件包不是红色的了,说明已经生效
[root@client yum.repos.d]# setenforce 0
[root@client yum.repos.d]# systemctl stop firewalld.service
[root@client yum.repos.d]# yum upgrade 更新
yum updata 更新软件包,更新软件和系统内核
yum upgrade 只更新软件包
由软件包yum-…提供
用来访问yum仓库,查询,下载及安装,卸载软件包
基本设置:/etc/yum.conf
仓库设置:/etc/yum.repos.d/*.repo
日志文件:/var/log/yum.log
存放下载的软件包,仓库信息等数据
位于/var/cache/yum/basearch(硬件架构,如x8664)/basearch(硬件架构,如x86_64)/basearch(硬件架构,如x86 64)/releasever(OS版本)
清理缓存数据:yum clean all
查询软件包
查询软件包组
安装软件
升级软件
yum update
yum groupdate
yum update 更新软件包,连内核一起更新
yum upgrade 只更新软件包,但不更新内核
卸载软件
安装nfs-utils,rpcbind软件包
设置共享目录
[root@localhost opt]# mkdir wwwroot
[root@localhost opt]# vim /etc/exports
/opt/wwwroot 192.168.7.0/24(rw,sync,no_root_squash)
启动NFS服务程序
[root@localhost opt]# mkdir wwwroot
[root@localhost opt]# vim /etc/exports
[root@localhost opt]# systemctl start rpcbind
[root@localhost opt]# systemctl start nfs
[root@localhost opt]# netstat -nuap | grep rpcbind
udp 0 0 0.0.0.0:600 0.0.0.0:* 48338/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 48338/rpcbind
查看本机发布的NFS共享目录
[root@localhost opt]# showmount -e
/opt/wwwroot 192.168.7.0/24
安装rpcbind软件包,并启动rpcbind服务
手动挂载NFS共享目录
以root用户身份执行mount操作,将NFS服务器共享的/opt/wwwroot目录挂载到本地目录/var/www/html
与挂载本地文件系统不同的是,设备位置处应指出服务器地址
如:mount 192.168.7.250:/opt/wwwroot /var/www/html
完成挂在后,访问客户机的/var/www/html文件夹,相当于访问NFS服务器中的/opt/wwwroot文件夹,其中的网络映射过程对于用户程序来说是透明的
fstab自动挂载设置
[root@localhost opt]# vim /etc/fstab
192.168.7.250:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
强制卸载NFS
NFS客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端NFS服务突然停掉了,那么在客户端就会出现df -h命令卡死的现象
此时使用umount命令是无法直接卸载的,需要加上-lf才能卸载
出现卡死现象时,需要重新打开一个终端,执行 cat/etc/rc.local命令,查看挂载点
然后使用umount命令卸载,其中-l表示解除正在繁忙的文件系统,-f表示强制
第一步:服务端添加硬盘并重启,服务端和客户端都修改名称,以便于实验效果
客户端修改
[root@localhost ~]# hostnamectl set-hostname client
[root@localhost ~]# su
[root@client ~]#
服务器端修改
[root@localhost ~]# hostnamectl set-hostname server
[root@localhost ~]# su
[root@server ~]#
第二步:进行磁盘分区,格式化并挂载刚添加的硬盘
[root@server ~]# fdisk /dev/sdb
[root@server ~]# mkfs.xfs /dev/sdb1
[root@server ~]# vim /etc/fstab
[root@server ~]# mount -a 重新自动挂载
[root@server ~]# df -Th 查看挂载情况
第三步:安装nfs-utils rpcbind,并设置为开机自启
[root@server ~]# yum install nfs-utils rpcbind -y
rpcbind 远程调用
nfs-utils 工具包
[root@server ~]# systemctl enable nfs
[root@server ~]# systemctl enable rpcbind
第四步:设置共享目录
NFS的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在exports文件中设置共享资源时,记录格式为“目录位置 客户机地址(权限选项)“。
[root@server ~]# vim /etc/exports
权限选项中的rw表示允许读写(ro为只读),sync表示同步写入,no_root_squash表示当客户机以root身份访问时赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)
第五步:启动NFS服务程序
[root@server ~]# systemctl start nfs
[root@server ~]# systemctl start rpcbind
[root@server ~]# netstat -anpt |grep rpc 查看是否开启服务
第六步:查看本机发布的NFS共享目录
[root@server ~]# setenforce 0
[root@server ~]# showmount -e
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@client ~]# yum -y install httpd
[root@client ~]# cd /var/www/html/
[root@client html]# ls
这个站点用之前给出存储空间20G
第八步:手动挂载NFS共享目录或者使用自动挂载
[root@client ~]# vim /etc/fstab
[root@client ~]# mount -a
[root@client ~]# df -Th
第九步:配置httpd网页并开启服务
[root@client ~]# cd /var/www/html
[root@client ~]# ls
[root@client ~]# vim index.html
[root@client ~]# systemctl start httpd
第十步:开启服务后直接在本机上访问20.0.0.47
第十一步:设置服务器端NFS服务断掉,开始强制卸载
[root@server ~]# systemctl stop nfs 服务器将NFS服务关闭
需要重新打开客户端
输入umount -lf /var/www/html
[root@server ~]# umount -lf /var/www/html 强制进行解挂