文章目录
- 前言:什么是软件包
- yum 的介绍
- yum源
- yum源的配置
- 第三方源的配置
- 官方源的配置
- 镜像站点
- 安装wget包
- 备份本地yum源
- 配置网易yum源
- 重新生成yum缓存
前言:什么是软件包
- 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
- 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
- 软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系.
- yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.
yum 的介绍
YUM 是一个命令行软件包管理工具,主要用于基于 RPM 的 Linux 发行版(如 CentOS、Red Hat Enterprise Linux、Fedora 等)。YUM 是 “Yellowdog Updater, Modified” 的缩写。它的主要功能包括:
- 自动解决依赖关系:YUM 能够自动解决安装软件包时遇到的依赖问题。
- 简化软件管理:用户可以轻松地安装、更新和删除软件包。
- 支持多个仓库:YUM 支持从多个软件仓库(repositories)下载和安装软件包。
- 易于更新系统:通过简单的命令,用户可以轻松地更新系统中的所有软件包。
常用的 YUM 命令包括:
-
yum list | grep <软件包名>:查找软件包。
-
yum install <软件包名>:安装软件包。
-
yum remove <软件包名>:删除软件包。
-
yum update <软件包名>:更新软件包。
-
yum search <关键词>:搜索软件包。
-
yum info <软件包名>:显示软件包的详细信息。
yum源
YUM 提供了一个简单而强大的方式来管理系统的软件包,特别适合服务器和需要频繁更新的软件环境。
YUM 源(YUM Repository)是存储软件包及其相关元数据的服务器。YUM 源为 YUM 工具提供软件包的下载地址和必要的依赖信息,确保在安装或更新软件时能够自动处理依赖关系。通过配置 YUM 源,用户可以从特定的服务器或镜像站点下载和安装软件包。
YUM 源的主要组成部分:
软件包:实际的 RPM 软件包文件。
元数据:描述软件包的文件,包括包名、版本、依赖关系等信息。
配置 YUM 源:
YUM 源配置文件通常位于 /etc/yum.repos.d/
目录下,每个源都有一个 .repo 后缀的文件。每个文件包含一个或多个 YUM 源的配置信息。我们打开这个文件来看一看
配置文件中的关键字段:
- [base]:源的唯一标识符,可以是任意名称。
- name:对源的描述。
- baseurl:源的 URL 地址,可以是 HTTP、FTP 或本地文件路径。
- enabled:是否启用该源(1 表示启用,0 表示禁用)。
- gpgcheck:是否进行 GPG 签名验证(1 表示启用,0 表示禁用)。
- gpgkey:GPG 公钥的 URL 地址,用于验证软件包的签名。
使用 YUM 源:
配置好 YUM 源后,可以使用 YUM 命令进行软件包管理。例如:
yum repolist:列出已配置的所有 YUM 源。
yum install <软件包名>:从已配置的 YUM 源安装软件包。
常用的 YUM 源:
官方源:由操作系统发布方提供的官方软件包源。
第三方源:由社区或其他组织提供的软件包源,如 EPEL(Extra Packages for Enterprise Linux)。
配置和管理好 YUM 源,可以确保系统的软件包管理更加高效和灵活。
yum源的配置
第三方源的配置
配置第三方源,如epel
,我们直接使用yum下载就好
yum install epel-release
官方源的配置
镜像站点
清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/
网易开源镜像站:https://mirrors.163.com/
阿里开源镜像站:https://developer.aliyun.com/mirror/
安装wget包
wget
是一个用于从网络上下载文件的命令行工具,支持 HTTP、HTTPS 和 FTP 协议。它是 GNU 项目的一部分,非常适合在终端或脚本中使用,尤其是在需要批量下载文件或在不稳定的网络环境下进行下载时
yum -y install wget
-O
:将下载的文件保存为指定的文件名。-c
:断点续传。-r
:递归下载。-l
:递归下载的层级深度。--limit-rate=<rate>
:限制下载速度。-b
:后台下载。- e <command>
:执行一个命令,例如设置代理。
备份本地yum源
在配置系统文件之前,为了防止后续的操作中出现纰漏,所以最好还是将我们要动的文件先拷贝一份
配置网易yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.163.com/.help/CentOS7-Base-163.repo
重新生成yum缓存
// 删除缓存数据
yum clean all
// 创建元数据缓存
yum makecache
在 Linux 中, yum clean all
命令的作用是清除 Yum 缓存中的所有数据。
具体来说,它会执行以下操作:
- 清除软件包缓存:删除本地存储的已下载软件包的信息。
- 清除元数据缓存:包括软件包的描述、依赖关系、版本等相关的元数据信息。
执行这个命令有助于解决 Yum 在操作过程中可能出现的缓存相关问题,例如缓存数据损坏、过期或与实际软件源不一致等,从而确保 Yum 能够获取最新和准确的软件包信息来进行安装、更新等操作。但需要注意的是,执行该命令后,再次执行 Yum 操作时可能需要重新下载相关数据。
在 Linux 中, yum makecache
的作用是生成 Yum 缓存。
它会从配置的软件源获取软件包的元数据(如软件包的名称、版本、依赖关系等),并将这些信息缓存在本地,以加快后续的 Yum 操作(如软件包的查询、安装、更新等)的速度。
通过生成缓存,Yum 在后续执行相关任务时,可以更快地获取所需的信息,而不必每次都从软件源重新获取,从而提高了操作的效率。
如果更新 Yum 源但不清除缓存且不重新创建缓存,可能会出现以下情况:
- 可能会导致 Yum 在获取软件包信息时使用旧的、不准确的缓存数据,从而无法获取到最新的软件包版本和相关信息,可能导致安装或更新软件时出现错误或使用过时的软件版本。
- 由于缓存中的元数据与新的 Yum 源不一致,可能会出现依赖关系解析错误,影响软件的正常安装和更新。
- 部分新添加到源中的软件包可能不会在 Yum 的操作中显示,因为缓存中没有它们的相关信息。
所以,为了确保 Yum 能够准确、有效地从更新后的源获取软件信息,建议在更新 Yum 源后,清除旧缓存并重新创建新的缓存。