部署yum仓库及NFS共享服务

2,510 阅读13分钟

yum仓库及NFS共享

1. yum仓库简介

1.1 yum简介

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

2. yum配置文件及命令

2.1 yum配置文件

2.1.1 主配置文件

位置:/etc/yum.conf //主配置文件

[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件 $releasever系统版本比如7
keepcache=0                                   //是否保存缓存  0代表不保存,1代表保存
debuglevel=2                                  //调试级别了解即可
logfile=/var/log/yum.log					 // 日志文件位置
exactarch=1								     //是否允许不同版本的rpm安装
obsoletes=1									//update 的一个参数是否可以允许旧版本的运行	
gpgcheck=1                                  //验证秘钥
plugins=1                                   //是否允许插件1代表可以
installonly_limit=5                         //保存几个内核 5代表5bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

2.1.2 仓库设置文件

位置:/etc/yum.repos.d/*.repo //yum仓库文件位置

例子里是默认的yum仓库 是centos官方的yum源,需要联网才可以使用

[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
bak               CentOS-Debuginfo.repo  CentOS-Sources.repo
CentOS-Base.repo  CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo    CentOS-Media.repo

2.1.3 日志文件

位置:/var/log/yum.log //日志文件

[root@localhost yum.repos.d]# cat /var/log/yum.log //查看日志文件
Jun 23 11:03:16 Installed: apr-1.4.8-3.el7.x86_64
Jun 23 11:03:16 Installed: apr-util-1.5.2-6.el7.x86_64
Jun 23 11:03:16 Installed: httpd-tools-2.4.6-67.el7.centos.x86_64
Jun 23 11:03:16 Installed: mailcap-2.1.41-2.el7.noarch
Jun 23 11:03:17 Installed: httpd-2.4.6-67.el7.centos.x86_64
Jun 23 11:03:26 Installed: ftp-0.17-67.el7.x86_64
Jun 23 11:03:38 Installed: vsftpd-3.0.2-22.el7.x86_64

2.2 yum命令详解

命令不加关键字加入关键词、软件包、软件包组
yum list显示所有可用包单个的可安装包
yum info显示所有可用包的信息单个具体的信息
yum search\模糊查找所有的相关信息
yum whatprovides\精确查找
yum grouplist显示所有可用包组显示具体的包组
yum groupinfo显示所有的包组具体信息显示具体的包组的具体信息
yum install\安装具体软件包
yum groupinstall\安装具体软件包组
yum update所有软件升级具体软件升级
命令不加关键字加入关键词、软件包、软件包组
yum group update所有包组升级具体包组升级
yum remove\卸载具体软件
yum groupremove\卸载具体包组软件
yum history查看当前yum操作历史\
yum history undo加入序号卸载序号里安装的软件\
yum history redo加入序号重新执行序号里的操作\

2.2.1查询

1. yum list [软件名]

显示可用的安装包,如不加软件名是显示所有的可用包,由于软件过多不做例子。

[root@localhost ~]# yum list httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
可安装的软件包
httpd.x86_64                 2.4.6-67.el7.centos                 abc
2. yum info [软件名]

显示安装包详细信息,详情如下

[root@localhost ~]# yum info httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
可安装的软件包
名称    :httpd
架构    :x86_64
版本    :2.4.6
发布    :67.el7.centos
大小    :2.7 M
源    :abc
简介    : Apache HTTP Server
网址    :http://httpd.apache.org/
协议    : ASL 2.0
描述    : The Apache HTTP Server is a powerful, efficient, and
         : extensible web server.

(如不加软件名是显示所有包的详细信息)

3. yum search <关键词>

根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来

[root@localhost ~]# yum search ftp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
========================= N/S matched: ftp =========================
ftp.x86_64 : The standard UNIX FTP (File Transfer Protocol) client
tftp.x86_64 : The client for the Trivial File Transfer Protocol
            : (TFTP)
tftp-server.x86_64 : The server for the Trivial File Transfer
                   : Protocol (TFTP)
vsftpd.x86_64 : Very Secure Ftp Daemon
curl.x86_64 : A utility for getting files from remote servers (FTP,
            : HTTP, and others)
lftp.x86_64 : A sophisticated file transfer program

2.2.2 yum安装升级

1. yum install [软件名]

安装软件包,如例子yum install安装http服务

[root@localhost ~]# yum install httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-67.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-67.el7.centos,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 apr.x86_64.0.1.4.8-3.el7 将被 安装
---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装
---> 软件包 httpd-tools.x86_64.0.2.4.6-67.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

====================================================================
 Package         架构       版本                      源       大小
====================================================================
正在安装:
 httpd           x86_64     2.4.6-67.el7.centos       abc     2.7 M
为依赖而安装:
 apr             x86_64     1.4.8-3.el7               abc     103 k
 apr-util        x86_64     1.5.2-6.el7               abc      92 k
 httpd-tools     x86_64     2.4.6-67.el7.centos       abc      87 k
 mailcap         noarch     2.1.41-2.el7              abc      31 k

事务概要
====================================================================
安装  1 软件包 (+4 依赖软件包)

总下载量:3.0 M
安装大小:10 M
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------
总计                                    78 MB/s | 3.0 MB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : apr-1.4.8-3.el7.x86_64                          1/5 
  正在安装    : apr-util-1.5.2-6.el7.x86_64                     2/5 
  正在安装    : httpd-tools-2.4.6-67.el7.centos.x86_64          3/5 
  正在安装    : mailcap-2.1.41-2.el7.noarch                     4/5 
  正在安装    : httpd-2.4.6-67.el7.centos.x86_64                5/5 
  验证中      : httpd-2.4.6-67.el7.centos.x86_64                1/5 
  验证中      : mailcap-2.1.41-2.el7.noarch                     2/5 
  验证中      : apr-1.4.8-3.el7.x86_64                          3/5 
  验证中      : httpd-tools-2.4.6-67.el7.centos.x86_64          4/5 
  验证中      : apr-util-1.5.2-6.el7.x86_64                     5/5 

已安装:
  httpd.x86_64 0:2.4.6-67.el7.centos                                

作为依赖被安装:
  apr.x86_64 0:1.4.8-3.el7                                          
  apr-util.x86_64 0:1.5.2-6.el7                                     
  httpd-tools.x86_64 0:2.4.6-67.el7.centos                          
  mailcap.noarch 0:2.1.41-2.el7                                     

完毕!

2. yum update

更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新。

但是首先你要有更新的包组库否则也无法更新。

[root@localhost yum.repos.d]# yum upgrade 
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: mirrors.tuna.tsinghua.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 GeoIP.x86_64.0.1.5.0-11.el7 将被 升级
---> 软件包 GeoIP.x86_64.0.1.5.0-14.el7 将被 更新
--> 正在处理依赖关系 geoipupdate,它被软件包 GeoIP-1.5.0-14.el7.x86_64 需要
---> 软件包 ModemManager.x86_64.0.1.6.0-2.el7 将被 升级
---> 软件包 ModemManager.x86_64.0.1.6.10-4.el7 将被 更新
---> 软件包 ModemManager-glib.x86_64.0.1.6.0-2.el7 将被 升级
---> 软件包 ModemManager-glib.x86_64.0.1.6.10-4.el7 将被 更新
---> 软件包 NetworkManager.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-adsl.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-adsl.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-bluetooth.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-bluetooth.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-glib.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-glib.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-libnm.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-libnm.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-ppp.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-ppp.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-team.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-team.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-tui.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-tui.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-wifi.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-wifi.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 NetworkManager-wwan.x86_64.1.1.8.0-9.el7 将被 升级
---> 软件包 NetworkManager-wwan.x86_64.1.1.18.8-2.el7_9 将被 更新
---> 软件包 PackageKit.x86_64.0.1.1.5-1.el7.centos 将被 升级
---> 软件包 PackageKit.x86_64.0.1.1.10-2.el7.centos 将被 更新
---> 软件包 PackageKit-command-not-found.x86_64.0.1.1.5-1.el7.centos 将被 升级
---> 软件包 PackageKit-command-not-found.x86_64.0.1.1.10-2.el7.centos 将被 更新
---> 软件包 PackageKit-glib.x86_64.0.1.1.5-1.el7.centos 将被 升级
---> 软件包 PackageKit-glib.x86_64.0.1.1.10-2.el7.centos 将被 更新
---> 软件包 PackageKit-gstreamer-plugin.x86_64.0.1.1.5-1.el7.centos 将被 升级
---> 软件包 PackageKit-gstreamer-plugin.x86_64.0.1.1.10-2.el7.centos 将被 更新
---> 软件包 PackageKit-gtk3-module.x86_64.0.1.1.5-1.el7.centos 将被 升级
---> 软件包 PackageKit-gtk3-module.x86_64.0.1.1.10-2.el7.centos 将被 更新
---> 软件包 PackageKit-yum.x86_64.0.1.1.5-1.el7.centos 将被 升级
---> 软件包 PackageKit-yum.x86_64.0.1.1.10-2.el7.centos 将被 更新
---> 软件包 abrt.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-addon-ccpp.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-addon-ccpp.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-addon-kerneloops.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-addon-kerneloops.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-addon-pstoreoops.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-addon-pstoreoops.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-addon-python.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-addon-python.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-addon-vmcore.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-addon-vmcore.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-addon-xorg.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-addon-xorg.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-cli.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-cli.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-console-notification.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-console-notification.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-dbus.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-dbus.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-desktop.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-desktop.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-gui.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-gui.x86_64.0.2.1.11-60.el7.centos 将被 更新
---> 软件包 abrt-gui-libs.x86_64.0.2.1.11-48.el7.centos 将被 升级
---> 软件包 abrt-gui-libs.x86_64.0.2.1.11-60.el7.centos 将被 更新
3. yum groupupdate

组包更新和单个安装包更新差不多此处不举例子赘述。

例子中没有更新的包组所以无法安装。

[root@localhost yum.repos.d]# yum groupupdate 
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * epel: mirror.sjtu.edu.cn
Maybe run: yum groups mark install (see man yum)
指定组中没有可安装或升级的软件包

2.2.3 软件卸载

1.yum remove <软件名>

卸载已安装的软件必须加软件名

[root@localhost yum.repos.d]# yum remove 
已加载插件:fastestmirror, langpacks
错误:需要为 remove 指定软件包列表

[root@localhost yum.repos.d]# yum remove httpd
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-67.el7.centos 将被 删除
--> 解决依赖关系完成
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=extras&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"

依赖关系解决

=================================================================================
 Package        架构            版本                         源             大小
=================================================================================
正在删除:
 httpd          x86_64          2.4.6-67.el7.centos          @abc          9.4 M

事务概要
=================================================================================
移除  1 软件包

安装大小:9.4 M
是否继续?[y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : httpd-2.4.6-67.el7.centos.x86_64                             1/1 
  验证中      : httpd-2.4.6-67.el7.centos.x86_64                             1/1 

删除:
  httpd.x86_64 0:2.4.6-67.el7.centos                                             

完毕!


2. yum history

查看历史的使用记录

[root@localhost yum.repos.d]# yum history 
已加载插件:fastestmirror, langpacks
ID     | 登录用户                 | 日期和时间       | 操作           | 变更数 
-------------------------------------------------------------------------------
     5 | root <root>              | 2021-06-24 00:02 | Erase          |    1   
     4 | root <root>              | 2021-06-23 11:03 | Install        |    1   
     3 | root <root>              | 2021-06-23 11:03 | Install        |    1   
     2 | root <root>              | 2021-06-23 11:03 | Install        |    5   
     1 | 系统 <空>                | 2021-06-15 22:40 | Install        | 1318   
history list

选择ID 1,2,3,4,5

可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除

例子中将 4卸载

[root@localhost yum.repos.d]# yum history undo 4
已加载插件:fastestmirror, langpacks
Undoing transaction 4, from Wed Jun 23 11:03:38 2021
    安装 vsftpd-3.0.2-22.el7.x86_64 @abc
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-22.el7 将被 删除
--> 解决依赖关系完成
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=extras&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"

依赖关系解决

=================================================================================
 Package          架构             版本                     源              大小
=================================================================================
正在删除:
 vsftpd           x86_64           3.0.2-22.el7             @abc           348 k

事务概要
=================================================================================
移除  1 软件包

安装大小:348 k
是否继续?[y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : vsftpd-3.0.2-22.el7.x86_64                                   1/1 
  验证中      : vsftpd-3.0.2-22.el7.x86_64                                   1/1 

删除:
  vsftpd.x86_64 0:3.0.2-22.el7                                                   

完毕!

[root@localhost yum.repos.d]# yum history info  4
#查看第四次具体安装了什么

再次使用yum history 查看多了一条6 记录是卸载记录

[root@localhost yum.repos.d]# yum history 
已加载插件:fastestmirror, langpacks
ID     | 登录用户                 | 日期和时间       | 操作           | 变更数 
-------------------------------------------------------------------------------
     6 | root <root>              | 2021-06-24 00:11 | Erase          |    1   
     5 | root <root>              | 2021-06-24 00:02 | Erase          |    1   
     4 | root <root>              | 2021-06-23 11:03 | Install        |    1   
     3 | root <root>              | 2021-06-23 11:03 | Install        |    1   
     2 | root <root>              | 2021-06-23 11:03 | Install        |    5   
     1 | 系统 <空>                | 2021-06-15 22:40 | Install        | 1318   
history list

3. 搭建仓库的方式

软件仓库的提供方式 FTP服务:ftp://ip地址/站点里路径

HTTP服务:http://域名或者ip地址/站点里的路径

本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)

4. 搭建 yum本地仓库(本地源)+扩展仓库(扩展源)

1、mount /dev/sr0 /mnt
2、cd /etc/yum.repos.d/
3、mkdir bak
4、mv *.repo bak
5、vim local.repo

[local]                     ##本地源(只包含一些基本服务)
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1

[epel]                     ##扩展源——(需要网络支持)
name=epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64    ##阿里
        https://mirrors.cloud.tencent.com/epel/$releasever/x86_64   ##腾讯
                            ##网址对齐!
        https://mirrors.huaweicloud.com/epel/$releasever/x86_64     ##华为
        https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64 ##清华
gpgcheck=0

6、yum  clean all && yum makecache

5. 搭建 http 内网网页yum仓库 ####需要两台虚拟机!

第1台服务器:
1、rpm -q httpd              ##查看服务器是否安装http服务
                             ##如果没有需要安装:yum install httpd -y

2、systemctl start httpd
3、systemctl stop firewalld.service
   setenforce 0

4、cd /var/www/html   ##官方站点(网页根目录)
5、mkdir centos7
6、mount /dev/sr0  /var/www/html/centos7/

第2台服务器:
1、cd /etc/yum.repos.d/
2、mkdir bak
3、mv *.repo bak/
4、vim http.repo
[http]
name=centos7
baseurl=http://192.168.58.5/centos7/    (地址是第1台服务器的iP地址)
gpgcheck=0

5、systemctl stop firewalld.service
   setenforce 0
6、yum  clean all && yum makecache
7、rpm -q  查看未装的软件,进行安装测试

6. 搭建 ftp 内网本地仓库 ####需要两台虚拟机!

服务器:
1、yum install vsftpd -y
2、systemctl stop firewalld.service
   setenforce 0
3、systemctl start vsftpd
4、cd /var/ftp/                   ###ftp的根目录
5、mkdir centos7
6、mount /dev/sr0  /var/ftp/centos7/


客户端:
1、yum install ftp -y
2、cd /etc/yum.repos.d/
3、mkdir bak
4、mv *.repo bak/
5、vim ftp.repo
[ftp]
name=centos7
baseurl=ftp://192.168.58.5/centos7/    (地址是你服务器的iP地址)
gpgcheck=0

6、yum  clean all && yum makecache
7、rpm -q  查看未装的软件,进行安装测试

7.NFS共享

1.NFS简介

NFS(Network File System 网络文件服务) NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。 通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议 NAS存储:

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制, 以完成远 程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务, 前者用于 NFS 共享发布和访问,后者用于 RPC 支持。 手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

特点: 采用TCP/IP传输网络文件 安全性低 简单易操作 适合局域网环境

1.1NFS原理

1.png

1.2NFS软件介绍

软件包:nfs-utils(包括服务器端和客户端)

相关软件包:rpcbind(必须),tcp_wappers

nfs端口号2049

RPC端口号111

配置文件: /etc/exports

2.搭建过程

[root@localhost httpd]#systemctl stop firewalld
[root@localhost httpd]#setenforce 0
[root@localhost share]#yum install nfs-utils.x86_64 rpcbind -y
#安装软件包
[root@localhost httpd]#mkdir /share
#新建共享目录
[root@localhost httpd]#cd /share/
[root@localhost share]#chmod -R 777 /share/
#修改权限
[root@localhost share]#vim /etc/exports
#编辑配置文件
/share *
/share 192.168.91.0/24(rw,sync,no_root_squash)
#共享目录  网段           读写,同步,无root权限

[root@localhost ~]# systemctl start rpcbind 
[root@localhost ~]# systemctl start nfs 
[root@localhost ~]#exports -vr
#不重启生效
[root@localhost share]#exportfs -v
#查看详细的nfs信息
#exportfs 可用于管理nfs
-v 查看本机所有nfs
-r 重读配置文件
-a 输出本机所有共享
/share        	192.168.91.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

[root@localhost ~]# netstat -anpt | grep rpc

[root@localhost ~]# showmount -e 
Export list for localhost.localdomain: 
/opt/wwwroot 192.168.7.0/24 
/var/ftp/pub 192.168.4.110,192.168.4.11
#查看本机发布的 NFS 共享目录


#客户机
[root@localhost ~]# mount 192.168.7.250:/opt/wwwroot /var/www/html
#	                       服务器地址   冒号 对方共享文件夹    本地挂载点
[root@localhost ~]# vi /etc/fstab 
…… //省略部分信息 
192.168.7.250:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
#自动挂载
showmount -e 主机名  (查看远程主机nfs共享)

#强制解挂载
[root@localhost ~]# umount /mnt
t umount. nfs: /mnt : device is busy 
[root@localhost ~]# umount -lf /mnt