YUM软件仓库通常借助于HTTP或FTP协议来进行发布,这样可以面向网络中的所有客户机提供 软件源服务。以便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据(repodata),其中收集了目录下所有rpm包的头部信息。
借助与YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无需管理员逐个、手工地去安装每一个rpm包,使管理源在维护大量Linux服务器时更加轻松自如。特别是在拥有大量Linux主机的本地网络中,构建一台原服务器可以大大缓解软件安装、升级等对Internet的依赖。
有两台Linux7.4版本的虚拟机,已经设置好了IP地址、网络已经连接能上网。防火墙和内核的核心防护都设置为关闭(重要)。系统的光盘以经设置自动挂载到**“/mnt”**目录下。服务器主机名设置为wu、IP:20.0.0.15,
客户机主机名设置为li、IP:20.0.0.16。登陆的用户均为root用户。
[centos] //仓库类别
name=CentOS //仓库名称
baseurl=ftp://20.0.0.15/li //访问仓库的方式和路径
gpgcheck=0 //验证软件包的签名 0为不验证 1为验证
enabled=1 //启用此软件仓库
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
//验证签名的公钥文件位置 ,这里使用#注释掉了,因为没有开启验证。
[other]
name=other
baseurl=ftp://20.0.0.15/ming
gpgcheck=0
enabled=1
3、测试仓库
[root@li ~]# yum clean all //清楚仓库缓存
已加载插件:fastestmirror
正在清理软件源: centos other
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@li ~]# yum makecache //建立新的仓库缓存
已加载插件:fastestmirror
centos | 3.6 kB 00:00
other | 3.6 kB 00:00
(1/8): centos/group_gz | 156 kB 00:00
(2/8): centos/filelists_db | 3.1 MB 00:00
(3/8): centos/other_db | 1.2 MB 00:00
(4/8): centos/primary_db | 3.1 MB 00:00
(5/8): other/group_gz | 1.1 kB 00:00
(6/8): other/filelists_db | 586 B 00:00
(7/8): other/other_db | 575 B 00:00
(8/8): other/primary_db | 1.1 kB 00:00
Determining fastest mirrors
元数据缓存已建立
[root@li ~]# yum -y install dhcp
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-58.el7.centos 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
dhcp x86_64 12:4.2.5-58.el7.centos centos 513 k
事务概要
================================================================================
安装 1 软件包
总下载量:513 k
安装大小:1.4 M
Downloading packages:
dhcp-4.2.5-58.el7.centos.x86_64.rpm | 513 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
正在安装 : 12:dhcp-4.2.5-58.el7.centos.x86_64 1/1
验证中 : 12:dhcp-4.2.5-58.el7.centos.x86_64 1/1
已安装:
dhcp.x86_64 12:4.2.5-58.el7.centos
完毕! //安装完成 说明客户端连接使用了服务器端的YUM仓库
[root@li ~]# yum list //可以看到系统已经安装和未安装的软件
.......
xvattr.x86_64 1.3-27.el7 centos
xz-devel.x86_64 5.2.2-1.el7 centos
yajl.x86_64 2.0.4-4.el7 centos
yelp.x86_64 1:3.22.0-1.el7 centos
yelp-libs.x86_64 1:3.22.0-1.el7 centos
yelp-tools.noarch 3.18.0-1.el7 centos
yelp-xsl.noarch 3.20.1-1.el7 centos
yp-tools.x86_64 2.14-5.el7 centos
ypbind.x86_64 3:1.37.1-9.el7 centos
ypserv.x86_64 2.31-10.el7 centos
yum-langpacks.noarch 0.4.2-7.el7 centos
yum-plugin-aliases.noarch 1.1.31-42.el7 centos
yum-plugin-changelog.noarch 1.1.31-42.el7 centos
yum-plugin-tmprepo.noarch 1.1.31-42.el7 centos
yum-plugin-verify.noarch 1.1.31-42.el7 centos
yum-plugin-versionlock.noarch 1.1.31-42.el7 centos
yum-utils.noarch 1.1.31-42.el7 centos
zenity.x86_64 3.22.0-1.el7 centos
zip.x86_64 3.0-11.el7 centos
zlib-devel.x86_64 1.2.7-17.el7 centos
zsh.x86_64 5.0.2-28.el7 centos
zziplib.x86_64 0.13.62-5.el7 centos
[root@li ~]# yum info httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
已安装的软件包
名称 :httpd
架构 :x86_64
版本 :2.4.6
发布 :67.el7.centos
大小 :9.4 M
源 :installed
来自源:centos
简介 : Apache HTTP Server
网址 :http://httpd.apache.org/
协议 : ASL 2.0
描述 : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
[root@li ~]# yum search httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
========================================= N/S matched: httpd ==========================================
httpd.x86_64 : Apache HTTP Server
httpd-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
libmicrohttpd.x86_64 : Lightweight library for embedding a webserver in applications
mod_dav_svn.x86_64 : Apache httpd module for Subversion server
名称和简介匹配 only,使用“search all”试试。
[root@li ~]# yum search all httpd
使用yum工具安装、升级、卸载软件包,分别通过子install、update、remove来完成,操作对象为指定的软件包名(可以有多个)。执行操作会自动检查并解决软件包之间的依赖关系,期间会提示用户按y键确认,可以在yum命令后添加“-y“选项。
[root@li ~]# yum -y install tftp //安装软件
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tftp.x86_64.0.5.2-13.el7 将被 安装
--> 解决依赖关系完成
......
已安装:
tftp.x86_64 0:5.2-13.el7
完毕!
[root@li ~]# yum -y remove dhcp //卸载软件
已加载插件:fastestmirror
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-58.el7.centos 将被 删除
--> 解决依赖关系完成
......
删除:
dhcp.x86_64 12:4.2.5-58.el7.centos
完毕!
[root@li ~]# yum -y update tftp //更新软件
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
No packages marked for update //已经是最新的,没有要更新的包
NFS是一种基于TCP/IP传输的网络文件系统协议,通过使用NFS协议,NFS客户机可以向访问本地目录一样访问远程NFS服务器中的共享资源。对于大多数负载均衡集群来说,使用NFS协议来共享数据存储是比较常见的作法,NFS也是NAS存储设备必然支持的一种协议。但是,NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
在企业集群架构的工作场景中,特别是中小型网站公司,NFS网络文件系统一般被用来存储共享视频、图片等静态资源文件,例如把网站上的用户上传的文件放到NFS共享里,通过网络共享目录,让网络上其他的服务器能够挂载访问共享目录内的数据。
NFS服务的实现依赖于RPC(RemoteProcess Call,远端过程调用)机制,RPC充当NFS客户端和NFS服务器的中介,已完成远程到本地的映射过程。 在Linux系统中,需要安装nfs-utils、rpcbing软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
有两台Linux7.4版本的虚拟机,已经设置好了IP地址、网络已经连接能上网。防火墙和内核的核心防护都设置为关闭(重要)。系统的光盘以经设置自动挂载到**“/mnt”**目录下。服务器主机名设置为wu、IP:20.0.0.15,
客户机主机名设置为li、IP:20.0.0.16。登陆的用户均为root用户。
[root@li ~]# yum -y install nfs-utils rpcbind
已加载插件 :fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 nfs-utils.x86_64.1.1.3.0-0.48.el7 将被 安装
--> 正在处理依赖关系 libtirpc >= 0.2.4-0.7,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 gssproxy >= 0.7.0-3,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 quota,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libnfsidmap,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libevent,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 keyutils,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libtirpc.so.1()(64bit),它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libnfsidmap.so.0()(64bit),它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libevent-2.0.so.5()(64bit),它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
---> 软件包 rpcbind.x86_64.0.0.2.0-42.el7 将被 安装
...... //省略部分内容
已安装:
nfs-utils.x86_64 1:1.3.0-0.48.el7 rpcbind.x86_64 0:0.2.0-42.el7
作为依赖被安装:
gssproxy.x86_64 0:0.7.0-4.el7 keyutils.x86_64 0:1.5.8-3.el7
libbasicobjects.x86_64 0:0.1.1-27.el7 libcollection.x86_64 0:0.6.2-27.el7
libevent.x86_64 0:2.0.21-4.el7 libini_config.x86_64 0:1.3.0-27.el7
libnfsidmap.x86_64 0:0.25-17.el7 libpath_utils.x86_64 0:0.2.1-27.el7
libref_array.x86_64 0:0.1.5-27.el7 libtirpc.x86_64 0:0.2.4-0.10.el7
libverto-libevent.x86_64 0:0.2.5-4.el7 quota.x86_64 1:4.01-14.el7
quota-nls.noarch 1:4.01-14.el7 tcp_wrappers.x86_64 0:7.6-77.el7
完毕!
[root@li ~]# systemctl enable nfs //设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@li ~]# systemctl enable rpcbind //设置开机自启
[root@li ~]# mkdir -p /opt/wode //创建一个目录
[root@li ~]# vi /etc/exports //在exports文件中设置共享文件权限
/opt/weode 20.0.0.0/24(rw,sync,no_root_squash)
//格式为“目录位置 客户机地址 (选项权限)”权限选项中r表示可读,w表示可写,rw表示可读写,sync表示同步写入,no_root_squash表示客户机以root身份访问时赋予本地root权限。
[root@li ~]# systemctl restart nfs //重启服务
[root@li ~]# systemctl restart rpcbind //重启服务
[root@li ~]# showmount -e
Export list for li:
/opt/weode 20.0.0.0/24 //查看到的共享目录
[root@wu ~]# yum -y install nfs-utils rpcbind //安装程序
[root@wu ~]# systemctl start nfs //启动程序
[root@wu ~]# systemctl enable nfs //设置开机自启
[root@wu ~]# systemctl start rpcbind
[root@wu ~]# systemctl enable rpcbind
[root@wu ~]# [root@wu opt]# mkdir /var/tade
[root@wu ~]# mount 20.0.0.15:/opt/wode /var/tade //手动挂载
[root@wu ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 5.2G 12G 31% /
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 143M 872M 15% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
20.0.0.15:/opt/wode nfs4 17G 1006M 17G 6% /var/tade //挂载成功
[root@wu opt]# vi /etc/fstab
...... //省略部分信息
20.0.0.15:/opt/wode /var/tade nfs defaults,_netdev 0 0//自动挂载
在客户端挂载的目录中测试
[root@wu opt]# vi /var/tade/ceshi //创建编辑文件li
测试成功 //编辑文件内容
~
服务器端查看是否共享成功
[root@li]# cd /opt/wode
[root@li wode]# ll
总用量 4
-rw-r--r-- 1 root root 13 8月 4 23:06 ceshi
[root@li wode]# vi ceshi
测试成功
~ //NFS共享成功