yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。
要有安装包
安装包:1.光驱里自带 挂载提供软件包
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
服务器:
客户端的配置文件中
baseurl=地址 一定要写到这两个文件夹repodata packages的上级目录
最终形成两个文件夹packages(包文件夹一般取名packages)和repodata(元数据文件夹)
仓库类型:
位置:/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代表5个
bugtracker_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:自定义变量
位置:/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
命令 | 不加关键字 | 加入关键词,软件包,软件包组 |
---|---|---|
yum list | 显示所有可用包 | 单个的可安装包 |
yum info | 显示所有可用包的信息 | 单个具体的信息 |
yum search | \ | 模糊查找所有的相关信息 |
yum provides | \ | 精确查找 |
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 | 加入序号重新执行序号里的操作 | \ |
显示可用的安装包,如不加软件名是显示所有的可用包
[root@localhost ~]# yum list httpd
[root@localhost ~]# yum list *httpd*
#包含httpd 的软件包
显示安装包详细信息。不加软件名是显示所有包的详细信息
[root@localhost ~]# yum info httpd
根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
知道某个命令却不知道具体的包可以用此命令查找
[root@localhost Packages]#rpm -ivh httpd-2.4.6-67.el7.centos.x86_64.rpm
错误:依赖检测失败:
httpd-tools = 2.4.6-67.el7.centos 被 httpd-2.4.6-67.el7.centos.x86_64 需要
[root@localhost Packages]#yum provides httpd-tools
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.ustc.edu.cn
httpd-tools-2.4.6-95.el7.centos.x86_64 : Tools for use with the Apache HTTP Server
源 :base
[root@localhost ftp]#ll /etc/mime.types
-rw-r--r--. 1 root root 51787 5月 15 2013 /etc/mime.types
[root@localhost ftp]#yum provides mime.types
#不写路径查找不到
No matches found
[root@localhost ftp]#yum provides */mime.types
#加上通配符
[root@localhost ~]#yum whatprovides ftp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
ftp-0.17-67.el7.x86_64 : The standard UNIX FTP (File Transfer
: Protocol) client
安装包组的查询 不加包组名 就是显示所有
[root@localhost ~]# yum grouplist
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
可用的环境分组:
最小安装
基础设施服务器
计算节点
文件及打印服务器
基本网页服务器
虚拟化主机
带 GUI 的服务器
GNOME 桌面
KDE Plasma Workspaces
开发及生成工作站
可用组:
传统 UNIX 兼容性
兼容性程序库
图形管理工具
安全性工具
开发工具
控制台互联网工具
智能卡支持
科学记数法支持
系统管理
系统管理工具
不加包组名显示全部
[root@localhost ~]# yum groupinfo "GNOME Desktop"
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
环境分组:GNOME 桌面
环境 ID:gnome-desktop-environment
描述:GNOME 是一个非常直观且用户友好的桌面环境。
必备组:
+base
+core
+desktop-debugging
+dial-up
+directory-client
+fonts
+gnome-desktop
+guest-agents
+guest-desktop-agents
+input-methods
+internet-browser
+java-platform
+multimedia
+network-file-system-client
+networkmanager-submodules
+print-client
+x11
可选组:
+backup-client
+gnome-apps
+internet-applications
+legacy-x
+office-suite
+remote-desktop-clients
+smart-card
安装软件包,如例子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
完毕!
[root@localhost ~]# yum group install gnome desktop -y
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Warning: group desktop does not exist.
正在解决依赖关系
--> 正在检查事务
---> 软件包 NetworkManager-libreswan-gnome.x86_64.0.1.2.4-2.el7 将被 安装
--> 正在处理依赖关系 NetworkManager-libreswan(x86-64) = 1.2.4-2.el7,它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libnma.so.0(libnma_1_2_0)(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libnm-gtk.so.0(libnm_gtk_1_0_6)(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libsecret-1.so.0()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libpangocairo-1.0.so.0()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libpango-1.0.so.0()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libnma.so.0()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libnm-util.so.2()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libnm-gtk.so.0()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libnm-glib.so.4()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libnm-glib-.so.1()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libgtk-3.so.0()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libgdk_pixbuf-2.0.so.0()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libgdk-3.so.0()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
--> 正在处理依赖关系 libcairo.so.2()(64bit),它被软件包 NetworkManager-libreswan-gnome-1.2.4-2.el7.x86_64 需要
#########安装图形化##########################
#如无法使用请先升级
yum -y upgrade
#再安装
yum -y groups install "GNOME Desktop"
更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新。
但是首先你要有更新的包组库否则也无法更新。
[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 将被 更新
组包更新和单个安装包更新差不多
[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)
指定组中没有可安装或升级的软件包
卸载已安装的软件必须加软件名
[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
完毕!
tools 的版本要和你的 主软件的版本 相匹配
httpd-2.4.6-97.el7.centos.4.x86_64.rpm
httpd-tools-2.4.6-97.el7.centos.4.x86_64.rpm
一个版本高了
一个版本低了
也不行
rpm装一个 卸不干净
yum 就装不上了
查看历史的使用记录
[root@localhost yum.repos.d]# yum history
已加载插件:fastestmirror, langpacks
ID | 登录用户 | 日期和时间 | 操作 | 变更数
-------------------------------------------------------------------------------
5 | root | 2021-06-24 00:02 | Erase | 1
4 | root | 2021-06-23 11:03 | Install | 1
3 | root | 2021-06-23 11:03 | Install | 1
2 | 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 | 2021-06-24 00:11 | Erase | 1
5 | root | 2021-06-24 00:02 | Erase | 1
4 | root | 2021-06-23 11:03 | Install | 1
3 | root | 2021-06-23 11:03 | Install | 1
2 | root | 2021-06-23 11:03 | Install | 5
1 | 系统 <空> | 2021-06-15 22:40 | Install | 1318
history list
本地yum仓库 没有网络的情况下, 光盘
软件仓库的提供方式 FTP服务:ftp://ip地址/站点里路径 HTTP服务:http://域名或者ip地址/站点里的路径 本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)
首先将光驱中的镜像文件进行挂载(先将虚拟机的光盘载入)
先在服务端
systemctl stop firewalld
setenforce 0
yum install httpd -y
cd /var/www/html
mkdir centos7
mount /dev/sr0 centos7/
systemctl start httpd
客户端
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak/
vim http.repo
[http]
name=http
baseurl=http://192.168.91.100/centos7
gpgcheck=0
yum clean all
yum makecache
yum install dhcp
服务端
setenforce 0
systemctl stop firewalld
yum install vsftpd -y
cd /var/ftp/
ls
mkdir centos7
mount /dev/sr0 centos7/
systemctl start vsftpd
客户端
setenforce 0
systemctl stop firewalld
yum install ftp
ftp 192.168.91.100 // 去测试
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak/
vim http.repo
[ftp]
name=ftp
baseurl=ftp://192.168.91.100/centos7
gpgcheck=0
[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -Th //查看下挂载
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 37G 7.5G 30G 21% /
devtmpfs devtmpfs 977M 0 977M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 9.1M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 161M 854M 16% /boot
tmpfs tmpfs 199M 4.0K 199M 1% /run/user/42
tmpfs tmpfs 199M 52K 199M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt ##已经挂载上了
再切换到 yum.repo.d 目录 将自带的仓库移走,多个开启仓库文件可能会造成冲突无法使用
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# ls
bak
新建yum仓库文件
[root@localhost yum.repos.d]# vim abc.repo
[abc]
name=abc
baseurl=file:///mnt
enabled=1
gpgcheck=0
#gpgkey=file:etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 //若gpgcheck=1
yum list 检查仓库 无报错信息即可正常使用。
#/data/目录如果不存在,会自动创建
[root@localhost ]#yum -y install --downloadonly --downloaddir=/data/bind bind
# 只下载 指定下载目录(如不存在会新建) 软件名
国外云仓库比较慢,可以使用阿里云仓库代替
先切换到yum.repo.d目录 将自带的仓库移走
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# ls
bak
CentOS系统的yum源
#阿里云
https://mirrors.aliyun.com/centos/$releasever/
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/
#华为云
https://repo.huaweicloud.com/centos/$releasever/
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/
EPEL的yum源
#阿里云
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
#更新源
http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
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
新建aliyun仓库
[ali]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/ //开启哪个都可以正常使用,这边主要解释变量的作用
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/ //变量参见主配置文件2.1小节
gpgcheck=0
[epel] //epel源仓库
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=0
[update] //更新包仓库
name=update
baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=0
#小火车
[root@centos7 ~]#yum -y install epel-release
[root@centos7 ~]#yum -y install sl
[root@centos7 ~]#sl -a
#牛
[root@localhost ~]#yum install -y install cowsay
[root@localhost ~]#cowsay hello
服务端:192.168.100.100
客户端:192.168.100.101
服务端安装vsftp服务
[root@localhost ~]# yum install vsftpd.x86_64 -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-22.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
====================================================================
Package 架构 版本 源 大小
====================================================================
正在安装:
vsftpd x86_64 3.0.2-22.el7 abc 169 k
事务概要
====================================================================
安装 1 软件包
总下载量:169 k
安装大小:348 k
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
完毕!
服务端切换到 ftp目录下新建一个centos7目录
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7 other
[root@localhost ftp]# ls
other centos7 pub
服务端将光驱里的文件包全部拷到centos7里面
此处我已经先将光驱挂载到 了mnt目录下了如有问题参见本地仓库搭建
[root@localhost ftp]# cp -rf /mnt/* centos7/ & //&代表后台运行应为文件较大
[root@localhost ftp]# cd centos7/
[root@localhost centos7]# ls //已将安装包文件拷入
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 ~]# cd /var/ftp/other
[root@localhost other]# createrepo -g /media/cdrom/repodata/repomd.xml ./
#建立数据库文件
服务端开启相关服务,关闭防火墙和selinux
[root@localhost repodata]# systemctl stop firewalld.service
[root@localhost repodata]# setenforce 0
[root@localhost repodata]# systemctl start vsftpd
客户端安装ftp 服务并启动关闭防火墙和selinux
[root@localhost yum.repos.d]# yum install ftp
[root@localhost repodata]# systemctl stop firewalld.service
[root@localhost repodata]# setenforce 0
[root@localhost yum.repos.d]# systemctl start ftp
测试ftp服务是否正常
[root@localhost yum.repos.d]# ftp 192.168.91.100
Connected to 192.168.100.100 (192.168.100.100).
220 (vsFTPd 3.0.2)
Name (192.168.100.100:root): 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,100,100,205,112).
150 Here comes the directory listing.
drwxr-xr-x 8 0 0 220 Jun 23 09:14 centos7
drwxr-xr-x 3 0 0 22 Jun 23 09:35 other
drwxr-xr-x 2 0 0 6 Aug 03 2017 pub
226 Directory send OK.
编写yum仓库文件
[root@localhost yum.repos.d]# vim centos7.repo
[centos7]
name=centos7
baseurl=ftp://192.168.91.100/centos7
enabled=1
gpgcheck=0
[other]
name=other
baseurl=ftp://192.168.91.100/other
enabled=1
gpgcheck=0
测试是否yum可以正常使用
[root@localhost yum.repos.d]# yum install dhcp
已加载插件:fastestmirror, langpacks
centos7 | 3.6 kB 00:00:00
other | 3.6 kB 00:00:00
(1/4): centos7/group_gz | 156 kB 00:00:00
(2/4): other/group_gz | 1.1 kB 00:00:00
(3/4): centos7/primary_db | 3.1 MB 00:00:00
(4/4): other/primary_db | 1.1 kB 00:00:00
Determining fastest mirrors
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-58.el7.centos 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================
Package 架构 版本 源 大小
=================================================================================
正在安装:
dhcp x86_64 12:4.2.5-58.el7.centos centos7 513 k
事务概要
=================================================================================
安装 1 软件包
总下载量:513 k
安装大小:1.4 M
Is this ok [y/d/N]: y
Downloading packages:
dhcp-4.2.5-58.el7.centos.x86_64.rpm | 513 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 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
完毕!
http方式搭建
服务端
yum install httpd
mount /dev/sr0 /var/www/html
cd /etc/yum.repos.d
vim httpd.repo
[httpd]
name=http
baseurl=http://192.168.91.100
gpgcheck=0
存储类型
存储类型分为三种
直连式存储:Direct-Attached Storage,简称DAS
网络附加存储:Network-Attached Storage,简称NAS
存储区域网络:Storage Area Network,简称SAN
DAS:存储和主机是直连的,家用电脑,服务和硬盘直连,存储和主机在一台机器上 SAN:有一定距离,主机核存储设备距离先对较远 ,只提供空间不提供文件系统,管理等其他软件服务,只相当于多了一块硬盘 NAS:存储在远程,文件系统也在远程,这块空间,你可以直接访问上面的文件,你只能看到文件,文件共享NFS FTP 等都是NAS
三种存储架构的应用场景
DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂
NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。 通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议
NFS 它是文件系统,是操作系统内核来管理的
[root@localhost ~]#ls /lib/modules/3.10.0-693.el7.x86_64/kernel/fs/
binfmt_misc.ko.xz ceph dlm fat gfs2 lockd nfs_common overlayfs udf
btrfs cifs exofs fscache isofs mbcache.ko.xz nfsd pstore xfs
cachefiles cramfs ext4 fuse jbd2 nfs nls squashfs
NAS存储:
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能) NFS 也是 NAS 存储 设备必然支持的一种协议 以完成远 程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务, 前者用于 NFS 共享发布和访问,后者用于 RPC 支持。 手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
特点: 采用TCP/IP传输网络文件 安全性低 简单易操作 适合局域网环境
NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。
软件包:nfs-utils(包括服务器端和客户端)
相关软件包:rpcbind(必须)
nfs端口号不固定 RPC端口号111
NFS服务主要进程:
rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
rpc.lockd 非必要,管理文件锁,避免同时写出错
rpc.statd 非必要,检查文件一致性,可修复文件
日志:/var/lib/nfs/
NFS配置文件:
/etc/exports
/etc/exports.d/*.exports
/dir 主机1(opt1,opt2) 主机2(opt1,opt2)...
共享目录 共享给哪个主机
格式说明:
以#开始的行为注释
主机格式
anonymous:表示使用*通配所有客户端
单个主机:ipv4,ipv6,FQDN
IP networks:两种掩码格式均支持
172.18.0.0/255.255.0.0
172.18.0.0/16
wildcards:主机名通配,例如:*.magedu.com,IP不可以
netgroups:NIS域的主机组,@group_name
每个条目指定目录导出到的哪些主机,及相关的权限和选项
默认选项:(ro,sync,root_squash,no_all_squash)
ro,rw 只读和读写
async 异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低
sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS
7以前的版本为nfsnobody
no_root_squash 远程root映射成NFS服务器的root用户
all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
no_all_squash (默认)保留共享文件的UID和GID
anonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用
/data/nfs1 *(rw,all_squash,anonuid=1002,anongid=1002)
共享规则:
#查看当前共享信息
exportfs -v
[root@localhost ~]#exportfs -r
#重新加载服务配置
exportfs: No options for /share *: suggest *(sync) to avoid warning
###客户机上如何查看共享
[root@localhost yum.repos.d]#showmount -e 192.168.91.100
#
Export list for 192.168.91.100:
/share *
[root@localhost yum.repos.d]#mount 192.168.91.100:/share /mnt/nfs1/
# 对方地址 共享文件夹 挂载点
[root@localhost yum.repos.d]#df
[root@localhost data]#chmod 777 /data/ -R
[root@localhost data]#chmod 755 /data/ -R
#恢复权限
[root@localhost data]#setfacl -m u:nfsnobody:rwx /data/nfs1
#只给 nfsnobody用户 权限
[root@localhost data]#setfacl -b /data/nfs1
#删除acl 列表
[root@localhost nfs1]#ll
#变成nobody 由root_squash(压缩缩小) 决定
总用量 4
-rw-r--r--. 1 nfsnobody nfsnobody 0 3月 21 01:17 111.txt
-rwxrwxrwx. 1 root root 2259 3月 21 01:12 passwd
#普通用户不压榨 由 no_all_squash决定
/share *(rw,no_root_squash)
###用户 uid问题####
统一压榨成指定用户
可以添加一块硬盘做共享使用
服务端和客户端都需要安装软件,不区分服务端和客户端,基于内核的共享
[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 ~]#exportfs -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
[root@localhost ~]#type rpm
#是一个外部命令
rpm 是 /usr/bin/rpm
[root@localhost ~]#rpm -e rpm
#依赖性会组织
错误:依赖检测失败:
rpm = 4.11.3-25.el7 被 (已安裝) rpm-libs-4.11.3-25.el7.x86_64 需要
rpm 被 (已安裝) color-filesystem-1-13.el7.noarch 需要
rpm = 4.11.3-25.el7 被 (已安裝) rpm-python-4.11.3-25.el7.x86_64 需要
rpm >= 0:4.11.3-22 被 (已安裝) yum-3.4.3-154.el7.centos.noarch 需要
rpm >= 4.1.1 被 (已安裝) createrepo-0.9.9-28.el7.noarch 需要
rpm 被 (已安裝) policycoreutils-2.5-17.1.el7.x86_64 需要
rpm 被 (已安裝) cmake-2.8.12.2-2.el7.x86_64 需要
[root@localhost ~]#rpm -e rpm --nodeps
#忽略依赖关系
[root@localhost ~]#yum install rpm -y
#yum 也是 使用rpm 无法安装了
error: Unable to open /usr/lib/rpm/rpmrc for reading: No such file or directory.
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
进入救援模式
1 继续
mount /dev/sr0 /mnt/
cp /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
mkdir test
mv tree-1.6.0-10.el7.x86_64.rpm test/
cd test
mkdir packages
mv tree-1.6.0-10.el7.x86_64.rpm packages/
createrepo -v test
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/
vim tree.repo
[tree]
name=tree
baseurl=file:///data/test
gpgcheck=0
yum clean all
yum makecache
yum install tree -y
没有外网 又想使用这个epel源
[root@localhost ~]#yum install epel-release
#安装epel源 生成epel仓库文件
[root@localhost ~]# reposync -r epel -p /root/
#下载同步epel源 根据epel仓库文件去找目录
[root@localhost ~]# yum -y install createrepo
#安装建立元数据命令
[root@localhost ~]# createrepo -v /root/epel
#建立元数据 软件目录 依赖关系
[root@localhost ~]# ls
anaconda-ks.cfg epel
[root@localhost ~]# cd epel/
[root@localhost epel]# ls
#查看元数据
ftp
http
mkisofs -r -o /root/xxx.iso /data/centos7/epel
制作成镜像
root@localhost yum.repos.d]#yum install nginx
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 nginx.x86_64.1.1.20.1-9.el7 将被 安装
--> 正在处理依赖关系 nginx-filesystem = 1:1.20.1-9.el7,它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 nginx-filesystem,它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_1)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_0)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1()(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libcrypto.so.1.1()(64bit),它被软件包 1:nginx-1.20.1-9.el7.x86_64 需要
--> 正在检查事务
---> 软件包 nginx-filesystem.noarch.1.1.20.1-9.el7 将被 安装
---> 软件包 openssl11-libs.x86_64.1.1.1.1k-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
==========================================================================================================
Package 架构 版本 源 大小
==========================================================================================================
正在安装:
nginx x86_64 1:1.20.1-9.el7 epel 587 k
为依赖而安装:
nginx-filesystem noarch 1:1.20.1-9.el7 epel 24 k
openssl11-libs x86_64 1:1.1.1k-2.el7 epel 1.5 M
事务概要
==========================================================================================================
安装 1 软件包 (+2 依赖软件包)
总下载量:2.1 M
安装大小:5.2 M
Is this ok [y/d/N]:
[root@localhost yum.repos.d]# yum install nginx --downloadonly --downloaddir=/data/
[root@localhost http]#yum install nginx --downloadonly --downloaddir=/nginx/
--downloadonly #只下载相关包默认至某一目录
--downloaddir=绝对目录路径 #下载到某一目录
真实 内网外网不可能互通