本章结构 YUM仓库服务 NFS共享存储服务
YUM仓库服务
NFS共享存储服务
YUM概述
YUM(Yellow dog Updater Modified)
■YUM (Yellow dog Updater Modified)
●基于RPM包构建的软件更新机制
●可以自动解决依赖关系
●所有软件包由集中的YUM软件仓库提供
软件仓库的提供方式
●FTP服务:ftp://…
●HTTP服务:http://…
●本地目录: file://…
RPM软件包的来源
●Centos 发布的RPM包集合
●第三方组织发布的RPM集合
●用户自定义的RPM包集合
构建Centos 7 YUM软件仓库
搭建一个官方YUM仓库
●RPM包来自Centos 7 DVD光盘,或者镜像文件
●通过FTP、HTTP或本地目录file 提供给客户
[root@localhost ~]# mount /dev/cdrom
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7/
[root@localhost ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
这个时候我们关闭Linux的防火墙 用自己的电脑网页去访问你Linux的IP地址会看到
在软件仓库中加入非官方RPM包组
包括存在依赖关系的所有安装包也要加入其中
使用createrepo工具建立仓库数据文件
[root@localhost ftp]# mkdir /var/ftp/other
[root@localhost ftp]# cd /var/ftp/other/
[root@localhost repodata]# createrepo -g /opt/repodata/repomd.xml ./
为客户机指定YUM仓库位置
[root@localhost other]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup
[root@localhost yum.repos.d]# cp -p backup/CentOS-Base.repo local.repo
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# vi local.repo
[base]
name=centos7
baseurl=ftp://20.0.0.140/centos7 这里写的是你服务器的IP地址
enabled=1
gpgcheck=0
#gpgkey=ftp:///opt/RPM-GPG-KEY-CentOS-7
[other]
name=Other
baseurl=ftp://20.0.0.140/other 这里写的是你服务器的IP地址
enabled=1
gpgcheck=0
搭建本地YUM仓库
[root@localhost ~]#mount /dev/cdrom /mnt
[root@localhost ~]#vi /etc/fstab
去最后添加:
/dev/cdrom /mnt iso9660 defaults 0 0 永久挂载
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup
[root@localhost yum.repos.d]# cp -p backup/CentOS-Base.repo local.repo
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# vi local.repo
[centos]
name=CentOS
baseurl=file:///mnt
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@localhost ~]#yum clean all
[root@localhost ~]#yum makecache
这两条命令意思是清楚缓存,重新加载缓存
YUM的工具概述
关于YUM命令
●由软件包yum-3.4.3-150.el7.centos。noarch提供
●用来访问YUM仓库,查询、下载及安装、卸载软件包
●yum list [软件名] 查看清单列表
●yum info [软件名] 查看软件信息,后面接软件名可以只查看指定的信息
●yum search <关键词> 根据关键词查询相关软件包
YUM的配置文件
●基本设置 : /etc/yum.conf
●仓库设置 : /etc/yum.repos.d/*.repo
●日志文件 : /var/log/yum.log
YUM查询软件包
yum lisi 软件名
yum info 软件名
yum search 关键词
yum whatprovides 关键词
比如:yum lisi http
YUM查询软件包组
yum grouplist [包组名]
yum groupinfo <包组名>
YUM安装软件
yum install [软件名]
yum groupinstall <包租名>
升级软件
yum update 连内核一起升级
yum upgrade 只更新软件包,不更新内核
yum groupupdate
卸载软件
yum remove <软件名>
yum groupremove <包组名>
NFS共享存储服务
Network File System, 网络文件系统
依赖于RPC(远端过程调用)
需安装nfs-utils、rpcbind软件包
系统服务:nfs、rpcbind
共享配置文件: /etc/exports
安装nfs-utls、rpcbind软件包样板
[root@localhost ~]# yum install nfs-utils rpcbind -y
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind
设置共享目录样板
[root@localhost ~]# mkdir /opt/wwwroot
[root@localhost ~]# vi /etc/exports
/opt/wwwroot 192.168.7.0/24(rw,sync,no_root_squash)
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw)
共享目录 用户 (rw读写,sync同步,no_root_squash 不对root进行降级处理)
启动NFS服务程序样板
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# netstat -anpt |grep rpcbind
[root@localhost ~]# netstat -anpu |grep rpcbind
udp 0 0 0.0.0.0:681 0.0.0.0:* 5594/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 5594/rpcbind
udp6 0 0 :::681 :::* 5594/rpcbind
udp6 0 0 :::111 :::* 5594/rpcbind
showmount -e 验证样板
[root@localhost ~]# showmount -e 192.168.139.132
Export list for 192.168.139.132:
/opt/wwwroot 192.168.7.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11
挂载NFS共享目录(在客户机操作)样板
_netdev 设备需要网络
当目标服务关闭时,无法进行所有操作,就需要强制挂载
总结
YUM软件仓库的提供方式
部署YUM软件仓库(服务端、客户端)
YUM工具功能(查询、安装、升级、卸载)
构建NFS共享存储服务
下面开始实操部分
首先需要两台虚拟机 服务器地址为192.168.139.141 客户机IP地址为20.0.0.141
服务器20.0.0.140配置
root@localhost ~]# rpm -q rpcbind
rpcbind-0.2.0-42.el7.x86_64
[root@localhost ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.48.el7.x86_64
[root@localhost ~]# vim /etc/exports
/opt 192.168.139.0/24(rw,sync,no_root_squash)
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
[root@localhost network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.139.141 netmask 255.255.255.0 broadcast 192.168.139.255
inet6 fe80::e2c1:c26d:afa1:a4ad prefixlen 64 scopeid 0x20<link>
客户机操作
[root@localhost ~]# showmount -e 192.168.139.141
Export list for 192.168.139.141:
/opt 192.168.139.0/24
[root@localhost ~]#
[root@localhost ~]# mount 192.168.139.141:/opt /mnt
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
rh
[root@localhost mnt]# mkdir 192.168.139.132
[root@localhost mnt]# ls
192.168.139.132 rh
[root@localhost mnt]#
[root@localhost mnt]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
192.168.139.141:/opt nfs4 20G 4.6G 16G 23% /mnt
服务端查看是否创建
[root@localhost network-scripts]# ls /opt
192.168.139.132 rh
[root@localhost network-scripts]#