前言
- 在主机中安装了Linux操作系统以后,就具备了提供软件服务、网络服务等功能的基础
- 然而随操作系统一起安装的软件包毕竟只有少数,实现的功能也比较有限
- 当需要为主机提供更多的功能时,安装新的应用程序就称为必然需要面对的工作
一、RPM与YUM的区别
- RPM包是各种Linux发行版本中应用最广泛的软件包之一
- RPM软件包管理机制最早由Red Hat公司提出,后来随着版本的升级逐渐融入了更多的优秀特性,称为众多Linux发行版中公认的软件包管理标准
- 使用RPM我们可以很方便的进行软件的安装、查询、卸载、升级等工作,但是RPM软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个RPM包组成时
- Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器
- 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
二、配置本地yum源仓库
- 之前我有一篇博客,里面有详细介绍,包括CentOS7的学习资料
链接:https://blog.csdn.net/weixin_51486343/article/details/109815397
- 之前在搭建虚拟VMware虚拟环境的时候,已经添加了CentOS镜像文件,接下来我们需要在虚拟机设置里面把“已连接”选项勾上
- 这个时候你会发现在桌面出现了“CentOS 7 x86_64"这个像光盘一样的东西
- 进入终端,开始下步操作
- mount /dev/cdrom /mnt/
##把光盘挂载到/mnt目录下
- cd /etc/yum.repos.d/
##进入到/etc下的yum.repos.d的目录下
- mkdir repos.bak
##创建一个叫做repos.bak的新目录
- mv *.repo repos.bak
##将带有.repo的所有文件移动到repos.bak目录下
- 创建yum源仓库如下
- cd /etc/yum.repos.d/
- vim local.repo
- 里面什么都没有,需要我们进行编辑,按“i”进入编辑模式开始逐行编辑
- 还需要删除yum缓存并进行更新
- 好了,再来安装一个文件验证一下
成功
三、配置在线yum源仓库
- 网络yum源具有比镜像yum更新更全的软件包
- 而且安装非常简单,在有网络的环境下建议使用
- 以下为阿里云yum
- 首先第一步,将在线yum源配置文件下载到本地(直接复制粘贴,有点长)
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
--2020-12-11 14:57:15-- https://mirrors.aliyun.com/repo/Centos-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 117.91.177.244, 58.223.210.227, 58.216.4.238, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|117.91.177.244|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2523 (2.5K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”
100%[====================================>] 2,523 --.-K/s 用时 0s
2020-12-11 14:57:16 (802 MB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])
[root@localhost ~]#
- 接下来我们需要将之前的本地yum源配置文件挪作,以让系统能读取到我们刚下载的在线
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo local.repo repos.bak ##这里可以看到多了一个“CentOS-Base.repo,就它”
[root@localhost yum.repos.d]# mv local.repo repos.bak/
- 最后一步,清除之前的yum缓存,然后再新建阿里云yum缓存即可(需静静等待一会儿)
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base extras updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache
已加载插件:fastestmirror, langpacks
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
base/7/x86_64/primary_db FAILED
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Name or service not known"
正在尝试其它镜像。
(1/10): base/7/x86_64/group_gz | 153 kB 00:00
(2/10): extras/7/x86_64/other_db | 134 kB 00:00
(3/10): extras/7/x86_64/filelists_db | 224 kB 00:00
(4/10): base/7/x86_64/other_db | 2.6 MB 00:00
(5/10): updates/7/x86_64/filelists_db | 2.1 MB 00:00
(6/10): updates/7/x86_64/other_db | 226 kB 00:00
(7/10): base/7/x86_64/primary_db | 6.1 MB 00:00
base/7/x86_64/filelists_db FAILED
http://mirrors.aliyuncs.com/centos/7/os/x86_64/repodata/d6d94c7d406fe7ad4902a97104b39a0d8299451832a97f31d71653ba982c955b-filelists.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
extras/7/x86_64/primary_db FAILED
http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/6de1755ab3e4e9bd0ee8ff31b6c979fe8a2e132b66629bf4b659b0a7878fe70f-primary.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
updates/7/x86_64/primary_db FAILED
http://mirrors.aliyuncs.com/centos/7/updates/x86_64/repodata/21d17a17af2a9bb0da67c098868bc431078c8dfc5ed7e36ee9b25300d6913b72-primary.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
(8/10): extras/7/x86_64/primary_db | 222 kB 00:00
(9/10): base/7/x86_64/filelists_db | 7.2 MB 00:00
(10/10): updates/7/x86_64/primary_db | 3.7 MB 00:00
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
元数据缓存已建立
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# yum -y install dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-58.el7.centos 将被 升级
---> 软件包 dhcp.x86_64.12.4.2.5-82.el7.centos 将被 更新
--> 正在处理依赖关系 dhcp-libs(x86-64) = 12:4.2.5-82.el7.centos,它被软件包 12:dhcp-4.2.5-82.el7.centos.x86_64 需要
--> 正在处理依赖关系 dhcp-common = 12:4.2.5-82.el7.centos,它被软件包 12:dhcp-4.2.5-82.el7.centos.x86_64 需要
--> 正在处理依赖关系 libisc-export.so.169()(64bit),它被软件包 12:dhcp-4.2.5-82.el7.centos.x86_64 需要
--> 正在处理依赖关系 libdns-export.so.1102()(64bit),它被软件包 12:dhcp-4.2.5-82.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 bind-export-libs.x86_64.32.9.11.4-26.P2.el7_9.2 将被 安装
---> 软件包 dhcp-common.x86_64.12.4.2.5-58.el7.centos 将被 升级
--> 正在处理依赖关系 dhcp-common = 12:4.2.5-58.el7.centos,它被软件包 12:dhclient-4.2.5-58.el7.centos.x86_64 需要
---> 软件包 dhcp-common.x86_64.12.4.2.5-82.el7.centos 将被 更新
---> 软件包 dhcp-libs.x86_64.12.4.2.5-58.el7.centos 将被 升级
---> 软件包 dhcp-libs.x86_64.12.4.2.5-82.el7.centos 将被 更新
--> 正在检查事务
---> 软件包 dhclient.x86_64.12.4.2.5-58.el7.centos 将被 升级
---> 软件包 dhclient.x86_64.12.4.2.5-82.el7.centos 将被 更新
--> 解决依赖关系完成
依赖关系解决
===========================================================================================================================================================================================
Package 架构 版本 源 大小
===========================================================================================================================================================================================
正在更新:
dhcp x86_64 12:4.2.5-82.el7.centos base 515 k
为依赖而安装:
bind-export-libs x86_64 32:9.11.4-26.P2.el7_9.2 updates 1.1 M
为依赖而更新:
dhclient x86_64 12:4.2.5-82.el7.centos base 286 k
dhcp-common x86_64 12:4.2.5-82.el7.centos base 176 k
dhcp-libs x86_64 12:4.2.5-82.el7.centos base 133 k
事务概要
===========================================================================================================================================================================================
安装 ( 1 依赖软件包)
升级 1 软件包 (+3 依赖软件包)
总下载量:2.2 M
Downloading packages:
No Presto metadata available for base
警告:/var/cache/yum/x86_64/7/base/packages/dhcp-4.2.5-82.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
dhcp-4.2.5-82.el7.centos.x86_64.rpm 的公钥尚未安装
(1/5): dhcp-4.2.5-82.el7.centos.x86_64.rpm | 515 kB 00:00:00
(2/5): dhclient-4.2.5-82.el7.centos.x86_64.rpm | 286 kB 00:00:00
(3/5): dhcp-libs-4.2.5-82.el7.centos.x86_64.rpm | 133 kB 00:00:00
(4/5): dhcp-common-4.2.5-82.el7.centos.x86_64.rpm | 176 kB 00:00:00
bind-export-libs-9.11.4-26.P2.el7_9.2.x86_64.rpm 的公钥尚未安装
(5/5): bind-export-libs-9.11.4-26.P2.el7_9.2.x86_64.rpm | 1.1 MB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 5.1 MB/s | 2.2 MB 00:00:00
从 http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <[email protected]>"
指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
来自 : http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : 12:dhcp-libs-4.2.5-82.el7.centos.x86_64 1/9
正在更新 : 12:dhcp-common-4.2.5-82.el7.centos.x86_64 2/9
正在安装 : 32:bind-export-libs-9.11.4-26.P2.el7_9.2.x86_64 3/9
正在更新 : 12:dhclient-4.2.5-82.el7.centos.x86_64 4/9
正在更新 : 12:dhcp-4.2.5-82.el7.centos.x86_64 5/9
清理 : 12:dhcp-4.2.5-58.el7.centos.x86_64 6/9
清理 : 12:dhclient-4.2.5-58.el7.centos.x86_64 7/9
清理 : 12:dhcp-common-4.2.5-58.el7.centos.x86_64 8/9
清理 : 12:dhcp-libs-4.2.5-58.el7.centos.x86_64 9/9
验证中 : 12:dhcp-common-4.2.5-82.el7.centos.x86_64 1/9
验证中 : 32:bind-export-libs-9.11.4-26.P2.el7_9.2.x86_64 2/9
验证中 : 12:dhclient-4.2.5-82.el7.centos.x86_64 3/9
验证中 : 12:dhcp-libs-4.2.5-82.el7.centos.x86_64 4/9
验证中 : 12:dhcp-4.2.5-82.el7.centos.x86_64 5/9
验证中 : 12:dhcp-common-4.2.5-58.el7.centos.x86_64 6/9
验证中 : 12:dhcp-4.2.5-58.el7.centos.x86_64 7/9
验证中 : 12:dhcp-libs-4.2.5-58.el7.centos.x86_64 8/9
验证中 : 12:dhclient-4.2.5-58.el7.centos.x86_64 9/9
作为依赖被安装:
bind-export-libs.x86_64 32:9.11.4-26.P2.el7_9.2
更新完毕:
dhcp.x86_64 12:4.2.5-82.el7.centos
作为依赖被升级:
dhclient.x86_64 12:4.2.5-82.el7.centos dhcp-common.x86_64 12:4.2.5-82.el7.centos dhcp-libs.x86_64 12:4.2.5-82.el7.centos
完毕!
[root@localhost yum.repos.d]#