Linux yum仓库及NFS共享

一.yum简介

1.yum仓库简介

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),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

2.yum实现过程

要有安装包

安装包:1.光驱里自带  挂载提供软件包

先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

服务器:

  • RPM包(packages文件夹中)
  • 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)

客户端的配置文件中

baseurl=地址 一定要写到这两个文件夹repodata  packages的上级目录

最终形成两个文件夹packages(包文件夹一般取名packages)和repodata(元数据文件夹)

仓库类型:

  • 光盘的仓库基本仓库  比较常用的
  • epel扩展仓库   比较新

二、yum配置和命令

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代表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:自定义变量

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

3.yum命令详解

命令 不加关键字 加入关键词,软件包,软件包组
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 加入序号重新执行序号里的操作 \

4.查询

4.1、yum list 软件名

显示可用的安装包,如不加软件名是显示所有的可用包

[root@localhost ~]# yum list httpd

[root@localhost ~]# yum list *httpd*
#包含httpd 的软件包

Linux yum仓库及NFS共享_第1张图片

4.2 yum info 软件名

显示安装包详细信息。不加软件名是显示所有包的详细信息

[root@localhost ~]# yum info httpd

Linux yum仓库及NFS共享_第2张图片

4.3 yum search 关键词

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

 
  

4.4 yum provides 关键词

知道某个命令却不知道具体的包可以用此命令查找

[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

4.5 yum grouplist 包组名

安装包组的查询 不加包组名 就是显示所有

[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 兼容性
   兼容性程序库
   图形管理工具
   安全性工具
   开发工具
   控制台互联网工具
   智能卡支持
   科学记数法支持
   系统管理
   系统管理工具

4.6 yum groupinfo 包组名

不加包组名显示全部

[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

4.7 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 groupinstall 包组名
包组安装同yum install
[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"

3.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 将被 更新
4.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)
指定组中没有可安装或升级的软件包

4.8 软件卸载

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                                             

完毕!
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  就装不上了
2.yum history

查看历史的使用记录

[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 此处第三个/为根目录)

1.搭建本地yum仓库

首先将光驱中的镜像文件进行挂载(先将虚拟机的光盘载入)

先在服务端
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
#                                  只下载			指定下载目录(如不存在会新建)  软件名

2.搭建阿里云仓库(http方式外网环境)

国外云仓库比较慢,可以使用阿里云仓库代替

先切换到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

3.ftp方式搭建云仓库

服务端: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

四、存储和NFS共享

存储类型

存储类型分为三种

  • 直连式存储:Direct-Attached Storage,简称DAS

  • 网络附加存储:Network-Attached Storage,简称NAS

  • 存储区域网络:Storage Area Network,简称SAN

DAS:存储和主机是直连的,家用电脑,服务和硬盘直连,存储和主机在一台机器上 SAN:有一定距离,主机核存储设备距离先对较远 ,只提供空间不提供文件系统,管理等其他软件服务,只相当于多了一块硬盘 NAS:存储在远程,文件系统也在远程,这块空间,你可以直接访问上面的文件,你只能看到文件,文件共享NFS FTP 等都是NAS

三种存储架构的应用场景

  • DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

  • NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

  • SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂

1.NFS简介

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传输网络文件 安全性低 简单易操作 适合局域网环境

2.NFS原理

NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。

Linux yum仓库及NFS共享_第3张图片

3.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

4.NFS共享配置文件格式

/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问题####

统一压榨成指定用户
 
  

5.搭建过程

可以添加一块硬盘做共享使用

服务端和客户端都需要安装软件,不区分服务端和客户端,基于内核的共享


[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

五.扩展

1.误将rpm软件删除
[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 继续

Linux yum仓库及NFS共享_第4张图片

2.自行打包后建立元数据

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
3.epel源  本地
没有外网  又想使用这个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 
制作成镜像
4.离线安装软件
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=绝对目录路径  #下载到某一目录  



真实  内网外网不可能互通     

你可能感兴趣的:(linux,服务器,运维)