YUM

YUM 机制的由来

不少软件会将部分功能已函数库的形式发布,以重复利用软件功能html

Linux 发行版厂商在发布软件时,都会将软件分为通常使用和开发使用,因此常常会看到相似 pam-x.x.rpm 和 pam-devel-x.x.rpm 之类的软件名java

RPM 文件在安装的时候会有依赖软件的问题(由于许多功能已经脱离软件变成模块化的函数库,而不是把代码直接写到软件中硬使用,而是可插拔的模块),RPM 文件内记录了依赖软件的信息(只须要记录这个RPM直接需依赖的软件便可,这样就能够造成依赖链),将这些依赖软件的信息先创建一份信息表,在安装 RPM 文件时,就将信息表与系统内已安装的软件相比较,没安装的软件先进行安装,以解决软件依赖的问题,这就是 yum 机制linux

YUM软件管理程序基于RPM包管理,可以从指定的服务器自动下载RPM包而且安装,能够自动处理依赖性关系,而且一次安装全部依赖的软件包,无须繁琐地一次次下载、安装。sql

CentOS (发行版软件开发商)数据库

  1. 先将发布的软件放到 YUM 服务器,而后
  2. 分析软件的依赖属性,将软件内记录的信息记录下来
  3. 再将这些信息分析后记录成软件相关性的信息表( YUM 服务器上只制做一张大表(分条目,每一个软件依赖信息在这个大表中是一个条目))

这些软件依赖关系的信息表与软件所在的位置(本机或网络位置)称为软件源,当客户机有安装软件的需求时,客户机会主动向 yum 源地址下载信息表,而后将列表的数据与本机 RPM 数据库已存在的数据进行比较,安装依赖软件apache

软件源内的信息表会记录每一个软件的依赖关系,以及全部软件的网络位置vim

当客户机有升级、安装需求时,YUM 会向软件源要求更新信息表,会将软件信息表更新到 /var/cache/yum 中centos

软件源

首先明确软件源是指一个位置(使用URI描述的本机位置或网络位置)api

软件开发商(CentOS)会把 RPM 文件放到 YUM 服务器上,而这些原厂发布的软件根据内容差别,通常能够分为三大类:缓存

  1. 原版软件
  2. 更新软件
  3. 特殊软件,例如第三方辅助软件或某些特殊功能的软件

不一样类型软件的安装文件基本上不会放置在同一个网络位置下,会使用不一样的软件源地址,放置不一样类型的软件,也就是说同一个软件源内不可能既有原版软件又有更新软件。

在如下文件中,定义了四个软件源(能够自行在该文件中定义其余软件源)

/etc/yum.repos.d/CentOS-Base.repo
复制代码

分别是

  1. base
  2. updates
  3. extras
  4. centosplus

这四个都只是软件源名称,后面的 mirrorslist 或 baseURL 是其详细的软件源地址

利用 YUM 进行查询、安装、升级、与删除功能

整个 YUM 软件管理机制都是经过 yum 这个命令来进行

  • 查询功能
[root@master ~]# yum [option] [查询选项] [相关参数]
[option]:
-y:当 yum 等待使用者输入时,这个选项能够自动提供 yes 的回应;
--installroot:/some/path :将该软件安装在 /some/path 而不使用默认的安装路径
[查询选项] [相关参数]:
search:查询某个软件名称或描述软件的关键字
repolist:查询可用的软件源
list:列出目前 yum 所管理的全部软件与版本
info:显示软件的全部详细信息
provide:从文件去查找该文件属于哪一个软件
范例一:查找磁盘阵列相关的软件有哪些:
[root@master ~]# yum search raid
已加载插件:fastestmirror, langpacks #yum本身找的最近的服务器
Loading mirror speeds from cached hostfile  #选择最快的软件源地址
 * base: mirrors.huaweicloud.com  #软件源与软件源地址
 * extras: mirror.jdcloud.com
 * updates: mirror.jdcloud.com
================================ N/S matched: raid =================================
dmraid.x86_64 : dmraid (Device-mapper RAID tool and library)
dmraid.i686 : dmraid (Device-mapper RAID tool and library)
dmraid-devel.x86_64 : Development libraries and headers for dmraid.
dmraid-events-logwatch.x86_64 : dmraid logwatch-based email reporting
libblockdev-mdraid.i686 : The MD RAID plugin for the libblockdev library
libblockdev-mdraid.x86_64 : The MD RAID plugin for the libblockdev library
libblockdev-mdraid-devel.i686 : Development files for the libblockdev-mdraid
                              : plugin/library
libblockdev-mdraid-devel.x86_64 : Development files for the libblockdev-mdraid
                                : plugin/library
libstoragemgmt-megaraid-plugin.noarch : Files for LSI MegaRAID support for
                                      : libstoragemgmt
dmraid-events.x86_64 : dmevent_tool (Device-mapper event tool) and DSO
iprutils.x86_64 : Utilities for the IBM Power Linux RAID adapters
mdadm.x86_64 : The mdadm program controls Linux md devices (software RAID arrays)
以上列出了 yum 源上与 raid 相关的全部软件
范例二:找出 mdadm 这个软件的功能是什么
[root@master ~]# yum info mdadm
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirror.jdcloud.com
 * updates: mirror.jdcloud.com
已安装的软件包
名称    :mdadm
架构    :x86_64
版本    :3.3.2
发布    :2.el7
大小    :920 k
源    :installed
来自源:anaconda
简介    : The mdadm program controls Linux md devices (software RAID arrays)
网址    :http://www.kernel.org/pub/linux/utils/raid/mdadm/
协议    : GPLv2+
描述    : The mdadm program is used to create, manage, and monitor Linux MD
         : (software RAID) devices.  As such, it provides similar functionality to
         : the raidtools package.  However, mdadm is a single program, and it can
         : perform almost all functions without a configuration file, though a
         : configuration file can be used to help with some common tasks.

可安装的软件包
名称    :mdadm
架构    :x86_64
版本    :4.1
发布    :rc1_2.el7
大小    :433 k
源    :base/7/x86_64
简介    : The mdadm program controls Linux md devices (software RAID arrays)
网址    :http://www.kernel.org/pub/linux/utils/raid/mdadm/
协议    : GPLv2+
描述    : The mdadm program is used to create, manage, and monitor Linux MD
         : (software RAID) devices.  As such, it provides similar functionality to
         : the raidtools package.  However, mdadm is a single program, and it can
         : perform almost all functions without a configuration file, though a
         : configuration file can be used to help with some common tasks.

范例三:列出 yum 服务器上全部软件的名称
[root@master ~]# yum list

范例四:列出服务器上可供本机进行升级的软件有哪些
[root@master ~]# yum list updates

范例五:列出提供 passwd 这个文件的软件有哪些
[root@master ~]# yum provides passwd
复制代码

利用 yum 的功能,找出以 pam 为开头的软件有哪些?其中未安装的又有哪些?

[root@master ~]# yum list pam* 
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirror.jdcloud.com
 * updates: mirror.jdcloud.com
已安装的软件包
pam.x86_64                                1.1.8-12.el7                     @anaconda
pam_krb5.x86_64                           2.4.8-4.el7                      @anaconda
可安装的软件包
pam.i686                                  1.1.8-22.el7                     base     
pam.x86_64                                1.1.8-22.el7                     base     
pam-devel.i686                            1.1.8-22.el7                     base     
pam-devel.x86_64                          1.1.8-22.el7                     base     
pam_krb5.i686                             2.4.8-6.el7                      base     
pam_krb5.x86_64                           2.4.8-6.el7                      base     
pam_pkcs11.i686                           0.6.2-30.el7                     base     
pam_pkcs11.x86_64                         0.6.2-30.el7                     base     
pam_snapper.i686                          0.2.8-4.el7                      base     
pam_snapper.x86_64                        0.2.8-4.el7                      base     
pam_ssh_agent_auth.i686                   0.10.3-2.16.el7                  base     
pam_ssh_agent_auth.x86_64                 0.10.3-2.16.el7                  base
复制代码

以上是将软件源内与 pam 相关的软件都列出来,并指出哪些未安装以及可安装的软件的软件源是哪一个

安装、升级

[root@master ~]# yum [选项] [参数]
选项与参数:
install:后面接要安装的软件名称
update:后面接要升级的软件,若整个系统都要升级,就直接 update 便可
范例一:将 pam-devel 安装一下
[root@master ~]# yum install pam-devel
已加载插件:fastestmirror, langpacks
base                                                         | 3.6 kB  00:00:00     
extras                                                       | 3.4 kB  00:00:00     
updates                                                      | 3.4 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirror.bit.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 pam-devel.x86_64.0.1.1.8-22.el7 将被 安装
--> 正在处理依赖关系 pam(x86-64) = 1.1.8-22.el7,它被软件包 pam-devel-1.1.8-22.el7.x86_64 须要
--> 正在检查事务
---> 软件包 pam.x86_64.0.1.1.8-12.el7 将被 升级
---> 软件包 pam.x86_64.0.1.1.8-22.el7 将被 更新
--> 解决依赖关系完成

依赖关系解决

====================================================================================
 Package             架构             版本                     源              大小
====================================================================================
正在安装:
 pam-devel           x86_64           1.1.8-22.el7             base           184 k
为依赖而更新:
 pam                 x86_64           1.1.8-22.el7             base           720 k

事务概要
====================================================================================
安装  1 软件包
升级           ( 1 依赖软件包)

总计:904 k
总下载量:184 k
Is this ok [y/d/N]: y
复制代码

删除软件:yum [remove] 软件

[root@master ~]# yum remove pam-devel.x86_64 
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 pam-devel.x86_64.0.1.1.8-22.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

====================================================================================
 Package             架构             版本                    源               大小
====================================================================================
正在删除:
 pam-devel           x86_64           1.1.8-22.el7            @base           528 k

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

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

删除:
  pam-devel.x86_64 0:1.1.8-22.el7                                                   

完毕!
复制代码

YUM 配置文件

只要能够链接互联网,就能够是使用 yum 在线安装的功能,yum 会自动识别距离最近的镜像站,也能够手动修改 yum 的配置文件使用指定的软件源地址

配置163镜像地址帮助文档

首先来比较系统默认的软件源配置文件和 163 提供的配置文件的区别

系统默认配置文件存放路径 /etc/yum.repos.d:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
复制代码

[base]:表明软件源名称,名称能够随便起,中括号必定要有

name:说明一下这个软件源的意义,不重要

mirrorlist=:列出这个软件源可使用的镜像地址,若是不想使用能够注释掉

baseurl=:指定固定的一个软件源地址,mirrorlist 是由 YUM 自行去识别镜像站,这两个须要注释一个

enable=1:启用该软件源,不想启用能够设为 enable=0

gpgcheck=1:指定是否须要查看 RPM 文件内的数字签名

gpgkey=:数字签名公钥所在的位置

163 提供的配置文件

[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
复制代码

能够发现注释掉了 mirrorlist 使用了 baseurl 自定义软件源地址,如下图片为 163 配置文件提供的四个软件源地址

在这四个软件源地址中最重要的是 repodata 目录,这个目录下的文件就是分析 RPM 软件依赖后获得的信息表文件

实际上应该在 /etc/yum.repos.d/ 目录下新建一个配置文件,文件拓展名必须是 .repo ,自定义软件源配置,但咱们修改了默认配置文件,使用指定的软件源地址, 因为 YUM 以前已经将软件源信息表下载到本机 /var/cache/yum 文件中,咱们只修改了网址却没有修改软件源名称,可能会形成本机的信息列表和 YUM 服务器信息表不一样步,须要清除本机旧有数据

[root@master ~]# yum clean [packages|headers|all]
选项与参数
packages:将已下载的安装文件删除
headers:将已下载的信息表删除
all:将全部软件源相关数据删除

而后从新缓存信息表
yum makecache
复制代码

YUM的软件群组

[root@master ~]# yum [选项] [软件群组]
选项与参数
grouplist:列出全部可用的群组
groupinfo:后面接 group name ,了解群组内的全部软件名
groupinstall:安装一个群组
groupremove:删除某个群组

[root@master ~]# yum grouplist
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirror.jdcloud.com
 * updates: mirrors.huaweicloud.com
Available environment groups:
   最小安装
   基础设施服务器
   计算节点
   文件及打印服务器
   基本网页服务器
   虚拟化主机
   带 GUI 的服务器
   GNOME 桌面
   KDE Plasma Workspaces
   开发及生成工做站
可用组:
   传统 UNIX 兼容性
   兼容性程序库
   图形管理工具
   安全性工具
   开发工具
   控制台互联网工具
   智能卡支持
   科学记数法支持
   系统管理
   系统管理工具
完成

[root@master ~]# yum groupinfo 科学计数法支持
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirror.jdcloud.com
 * updates: mirrors.huaweicloud.com
[root@master ~]# yum groupinfo 科学记数法支持
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirror.jdcloud.com
 * updates: mirrors.huaweicloud.com

组:科学记数法支持
 组编号:scientific
 描述:用于数学和科学计算以及平行计算的工具。
 可选的软件包:
   atlas
   fftw
   fftw-devel
   fftw-static
   gnuplot
   gsl-devel
   lapack
   mpich-3.0-devel
   mpich-3.2-devel
   mpitests-mvapich2
   mpitests-openmpi
   mpitests-openmpi3
   mvapich2-2.0-devel
   mvapich2-2.0-doc
   mvapich2-2.0-psm-devel
   mvapich2-2.2-devel
   mvapich2-2.2-doc
   mvapich2-2.2-psm-devel
   mvapich2-2.2-psm2-devel
   numpy
   openmpi
   openmpi-devel
   openmpi3
   openmpi3-devel
   scipy
   units
   
[root@master ~]# yum groupinstall "Scientific Support"
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
base                                                         | 3.6 kB  00:00:00     
extras                                                       | 3.4 kB  00:00:00     
updates                                                      | 3.4 kB  00:00:00     
updates/7/x86_64/primary_db                                  | 5.0 MB  00:00:12     
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirror.jdcloud.com
 * updates: mirrors.huaweicloud.com
警告:分组 scientific 不包含任何可安装软件包。
Maybe run: yum groups mark install (see man yum)
指定组中没有可安装或升级的软件包
复制代码

正常状况下系统会帮你安装好群组中的各项软件,而 Scientific Support 中的软件都是【可选】软件,而不是 【mandatory】软件,可选软件是不会被安装的,若是须要安装,只能yum install 去安装,若是想让 groupinstall 默认安装 optional 软件,须要修改配置文件

distroverpkg=centos-release
......
distroverpkg=centos-release  #找到这一行,下面新增
group package types=default,mandatory,optional
......
复制代码

EPEL/ELRepo 外挂软件

有些软件并不在默认的 CentOS7 软件源中,Fedora 基金会发展了一个 extra Packages for Enterprise Linux (EPEL)计划,该计划主要针对 Red Hat Enterprise Linux 来开发,而 CentOS 是基于 RHEL 从新编译发布的,因此该计划的软件可以正常在 CentOS 操做系统上使用,该计划的主站连接以下:

fedoraproject.org/wiki/EPEL

而 CentOS7 主要可使用的软件源地址为

dl.fedoraproject.org/pub/epel/7/…

除了 Fedora 提供的软件源以外,也有社区志工提供的其余软件源,例如:ELRepo 软件源与提供给 CentOS7.x 的网址以下:

elrepo.org/linux/linux…

ELRepo 这个软件源提供的数据大可能是与内核、内核模块、虚拟化有关的软件,例如: NVIDIA 的驱动程序

自定义配置文件

自定义软件源配置文件
[root@master yum.repos.d]# vim epel.repo
[epel]
name = epel packages
baseurl = https://dl.fedoraproject.org/pub/epel/7/x86_64/
gpgcheck = 0
enabled = 0

故意不启用这个软件源,只是将来有须要的时候才使用这个软件源,默认不去使用这个软件源

使用这个软件源安装 R 软件

[root@study yum.repos.d]# yum --enablerepo=epel install R
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.jdcloud.com
 * extras: mirrors.huaweicloud.com
 * updates: ap.stykers.moe
epel                                                     | 4.7 kB     00:00     
(1/2): epel/updateinfo                                     | 1.0 MB   02:06     
epel/primary_db                FAILED                                           
https://dl.fedoraproject.org/pub/epel/7/x86_64/repodata/6b27d1307f78c577b19cb24604a3291b019c3f8ed19cf49ae63ad4418d60cc3d-primary.sqlite.bz2: [Errno 12] Timeout on https://dl.fedoraproject.org/pub/epel/7/x86_64/repodata/6b27d1307f78c577b19cb24604a3291b019c3f8ed19cf49ae63ad4418d60cc3d-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
正在尝试其它镜像。
(2/2): epel/primary_db                                     | 6.7 MB   03:15     
正在解决依赖关系
--> 正在检查事务
---> 软件包 R.x86_64.0.3.5.2-2.el7 将被 安装
--> 正在处理依赖关系 R-devel = 3.5.2-2.el7,它被软件包 R-3.5.2-2.el7.x86_64 须要
--> 正在处理依赖关系 libRmath-devel = 3.5.2-2.el7,它被软件包 R-3.5.2-2.el7.x86_64 须要
......
依赖关系解决

================================================================================
 Package               架构   版本                                源       大小
================================================================================
正在安装:
 R                     x86_64 3.5.2-2.el7                         epel     30 k
为依赖而安装:
 R-core                x86_64 3.5.2-2.el7                         epel     56 M
 R-core-devel          x86_64 3.5.2-2.el7                         epel    108 k
 R-devel               x86_64 3.5.2-2.el7                         epel     29 k
 R-java                x86_64 3.5.2-2.el7                         epel     30 k
 R-java-devel          x86_64 3.5.2-2.el7                         epel     30 k
事务概要
================================================================================
安装  1 软件包 (+251 依赖软件包)
升级           (   8 依赖软件包)

总计:229 M
总下载量:194 M
Is this ok [y/d/N]: N


复制代码

使用本机安装光盘进行安装

若是主机没有网络,只有安装光盘,能够将光盘挂载到某个目录,假设挂载到 /mnt/cdrom 目录,而后进行编辑 yum 配置文件

[root@master yum.repos.d]# vim cdrom.repo
[mycdrom]
name = mycdrom
baseurl = file:///mnt/cdrom
gpgcheck = 0
enabled = 0
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7

[root@master ~]# yum enablerepo=mycdrom install software name
复制代码

在光盘中有几个重要的文件

[root@practice cdrom]# ll
总用量 614
-rw-r--r--. 1 root root     16 4月   1 2015 CentOS_BuildTag
drwxr-xr-x. 3 root root   2048 3月  28 2015 EFI
-rw-r--r--. 1 root root    215 3月  28 2015 EULA
-rw-r--r--. 1 root root  18009 3月  28 2015 GPL
drwxr-xr-x. 3 root root   2048 3月  28 2015 images
drwxr-xr-x. 2 root root   2048 3月  28 2015 isolinux
drwxr-xr-x. 2 root root   2048 3月  28 2015 LiveOS
drwxr-xr-x. 2 root root 589824 4月   1 2015 Packages #各类 RPM 包
drwxr-xr-x. 2 root root   4096 4月   1 2015 repodata #依赖关系文件所在目录
-rw-r--r--. 1 root root   1690 3月  28 2015 RPM-GPG-KEY-CentOS-7  #光盘中软件包数字签名的公钥
-rw-r--r--. 1 root root   1690 3月  28 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root   2883 4月   1 2015 TRANS.TBL
复制代码

制做 http 服务,发布网络 yum 源

  1. 在一台服务器上有 rpm 软件包(能够自建,也能够挂载光盘直接使用光盘里的软件包)
  2. 在这台机器上安装 http 服务
[root@practice etc]# yum list httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.njupt.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirror.bit.edu.cn
可安装的软件包
httpd.x86_64                        2.4.6-90.el7.centos                         base
[root@practice etc]# yum -y install httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.njupt.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirror.bit.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-90.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-90.el7.centos,它被软件包 httpd-2.4.6-90.el7.centos.x86_64 须要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-90.el7.centos.x86_64 须要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-90.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

====================================================================================
 Package             架构           版本                         源            大小
====================================================================================
正在安装:
 httpd               x86_64         2.4.6-90.el7.centos          base         2.7 M
为依赖而安装:
 httpd-tools         x86_64         2.4.6-90.el7.centos          base          91 k
 mailcap             noarch         2.1.41-2.el7                 base          31 k

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

总下载量:2.8 M
安装大小:9.6 M
Downloading packages:
(1/3): mailcap-2.1.41-2.el7.noarch.rpm                       |  31 kB  00:00:00     
(2/3): httpd-tools-2.4.6-90.el7.centos.x86_64.rpm            |  91 kB  00:00:00     
(3/3): httpd-2.4.6-90.el7.centos.x86_64.rpm                  | 2.7 MB  00:00:05     
------------------------------------------------------------------------------------
总计                                                   533 kB/s | 2.8 MB  00:05     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : httpd-tools-2.4.6-90.el7.centos.x86_64                          1/3 
  正在安装    : mailcap-2.1.41-2.el7.noarch                                     2/3 
  正在安装    : httpd-2.4.6-90.el7.centos.x86_64                                3/3 
  验证中      : mailcap-2.1.41-2.el7.noarch                                     1/3 
  验证中      : httpd-tools-2.4.6-90.el7.centos.x86_64                          2/3 
  验证中      : httpd-2.4.6-90.el7.centos.x86_64                                3/3 

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

做为依赖被安装:
  httpd-tools.x86_64 0:2.4.6-90.el7.centos       mailcap.noarch 0:2.1.41-2.el7      

完毕!
[root@practice etc]# systemctl start httpd
[root@practice etc]# service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2019-11-17 12:05:57 CST; 1s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 10075 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─10075 /usr/sbin/httpd -DFOREGROUND
           ├─10081 /usr/sbin/httpd -DFOREGROUND
           ├─10082 /usr/sbin/httpd -DFOREGROUND
           ├─10083 /usr/sbin/httpd -DFOREGROUND
           ├─10084 /usr/sbin/httpd -DFOREGROUND
           └─10085 /usr/sbin/httpd -DFOREGROUND

11月 17 12:05:57 practice systemd[1]: Starting The Apache HTTP Server...
11月 17 12:05:57 practice httpd[10075]: AH00558: httpd: Could not reliably det...ge
11月 17 12:05:57 practice systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

[root@practice yum.repos.d]# cd /var/www #http服务安装成功后文件存放路径
[root@practice www]# ll
总用量 0
drwxr-xr-x. 2 root root 6 8月   8 19:42 cgi-bin
drwxr-xr-x. 2 root root 6 8月   8 19:42 html
[root@practice www]# cd html/
[root@practice html]# ll
总用量 0  #初始化状态这个文件夹中文空
[root@practice html]# ln -s /mnt/cdrom ./centos #建立对RPM包的软连接,也能够直接将软件包复制到这个目录下

[root@practice html]# cd /etc/yum.repos.d/
[root@practice yum.repos.d]# vim http-repo.repo

[httprepo]
name = httprepo
baseurl = http://practice/centos
gpgcheck = 0
enabled = 1
gpgcheck=1
gpgkey=http://practice/RPM-GPG-KEY-CentOS-7

复制代码

http发布的软件源以下:

相关文章
相关标签/搜索