yum配置,文件,命令详解

前言

yum(Yellowdog Updater Modified)是一个基于 RPM 包管理的工具,广泛用于 CentOS、RHEL、Fedora 等 Linux 发行版的软件包管理。yum 的工作依赖于配置文件,这些文件控制了它的行为和如何从不同的软件源安装、更新和删除软件包。

一、YUM 配置文件

1. yum 配置文件的位置

YUM 的配置文件主要存储在 /etc/yum.repos.d/ 目录下,每个源有一个 .repo 文件,文件的内容决定了该源的配置。每个 .repo 文件代表一个 YUM 仓库配置。系统的主配置文件是 /etc/yum.conf,不过大部分配置都是通过各个仓库的 .repo 文件来实现的。

2. /etc/yum.conf 文件

/etc/yum.conf 文件是 YUM 的主配置文件,包含了一些全局的设置。它的典型内容如下:

[main]
# 设置 YUM 的缓存目录 
cachedir=/var/cache/yum 
# 设置 YUM 是否会在安装包之前验证 GPG 签名 
gpgcheck=1 
# 是否启用本地缓存,1 表示启用,0 表示禁用 
keepcache=0 
# 设置下载失败时的重试次数 
retries=3 
# 设置 YUM 的最大并发下载数 
# num_threads=10 
# 是否启用插件 
pluginpath=/usr/lib/yum-plugins 
# 启用插件 
plugins=1
  • cachedir: 设置缓存目录,YUM 会将下载的软件包缓存到这个目录中。
  • gpgcheck: 是否检查 GPG 签名,如果设置为 1,YUM 会验证每个 RPM 包的 GPG 签名。
  • keepcache: 是否保留已下载的安装包,0 表示安装后删除,1 表示保留安装包。
  • retries: 如果 YUM 下载失败,重试的次数。
  • pluginpath: 插件目录。
  • plugins: 是否启用插件,1 启用,0 禁用。

3. /etc/yum.repos.d/ 目录中的 .repo 文件

每个 .repo 文件代表一个 YUM 源,其基本格式如下:

[repo_name] 
name=Repository Name 
baseurl=http://path/to/repository 
enabled=1 
gpgcheck=1 
gpgkey=http://path/to/gpgkey
  • [repo_name]:仓库的名称,通常是该源的标识符。
  • name:仓库的描述名称,用于表示该仓库的目的。
  • baseurl:仓库的 URL 地址,指向 RPM 包所在的目录。它可以是 HTTP、FTP 或本地文件路径(例如 file:///path/to/repo/)。
  • enabled:是否启用该仓库,1 表示启用,0 表示禁用。
  • gpgcheck:是否检查 GPG 签名,1 表示启用签名检查,0 表示不检查。
  • gpgkey:用于验证软件包签名的 GPG 公钥 URL。

例如,如果要配置一个阿里云的 YUM 源,可以编辑 /etc/yum.repos.d/CentOS-Base.repo 文件并添加以下内容:

[base] name=CentOS-$releasever - Base baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ 
enabled=1 
gpgcheck=1 
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7 
[updates] name=CentOS-$releasever - Updates baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ 
enabled=1 
gpgcheck=1 
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

二、常用 YUM 命令详解

yum 命令是用于包管理的工具,下面是一些常见的 YUM 命令及其参数解释。

1. 安装软件包

yum install <package_name>

这个命令用于安装一个或多个软件包。<package_name> 是你想安装的软件包的名称。

例如,安装 vim

yum install vim

安装多个软件包:

yum install vim git wget

2. 卸载软件包

yum remove <package_name>

这个命令用于卸载指定的软件包。你可以提供一个或多个包名。

例如,卸载 vim

yum remove vim

3. 更新软件包

yum update

这个命令会更新所有已安装的软件包到最新版本。

如果只想更新某个特定的软件包:

yum update <package_name>

例如,更新 vim

yum update vim

4. 查看软件包信息

yum info <package_name>

显示软件包的详细信息,包括版本、描述和安装状态。

例如:

yum info vim

5. 搜索软件包

yum search <package_name>

这个命令搜索所有已配置的仓库中,符合 <package_name> 模糊匹配的软件包。

例如,查找与 vim 相关的包:

yum search vim

6. 列出已安装的软件包

yum list installed

列出所有已安装的软件包。

7. 列出可用软件包

yum list available

列出所有可从已启用的仓库中安装的包。

8. 列出可更新的软件包

yum list updates

列出所有可用的更新包。

9. 清除 YUM 缓存

yum clean all

清除 YUM 的缓存目录,删除所有的缓存数据。这个命令可以帮助解决由于缓存数据损坏或不一致导致的安装问题。

yum clean metadata

清除元数据缓存。

10. 生成 YUM 缓存

yum makecache

创建或更新 YUM 缓存。执行此命令后,YUM 将会尝试从所有启用的仓库下载并更新元数据(例如,软件包信息和仓库状态),以便在没有网络的情况下安装软件包。

11. 查看 YUM 仓库

yum repolist

显示已启用仓库的列表及其状态。

如果想查看所有仓库(包括已禁用的),可以使用:

yum repolist all

12. 列出仓库中的软件包

yum list <package_name> --disablerepo=<repo_name>

这个命令会列出指定仓库中是否存在某个软件包。

13. 禁用或启用仓库

/etc/yum.repos.d/ 中每个 .repo 文件都有 enabled 字段。你可以通过以下命令启用或禁用某个仓库:

  • 禁用仓库:
yum --disablerepo=<repo_name> <command>

例如,禁用 base 仓库后执行安装命令:

yum --disablerepo=base install vim
  • 启用仓库:
yum --enablerepo=<repo_name> <command>

三、YUM 源的优先级配置

YUM 源的优先级可以通过 yum-plugin-priorities 插件来设置。如果多个仓库提供相同的软件包,YUM 会优先选择优先级较高的仓库。

  1. 安装 yum-plugin-priorities 插件:

yum install yum-plugin-priorities
  1. 在 .repo 文件中设置优先级:

[repo_name] priority=10

优先级数值越小,优先级越高。priority 数值范围是 1 到 99。

四、总结

  • YUM 配置文件:YUM 配置文件分为 /etc/yum.conf 和 /etc/yum.repos.d/*.repo 文件,/etc/yum.conf 用于全局设置,而 .repo 文件则配置各个仓库的详细信息。
  • YUM 命令:YUM 提供了一系列命令来安装、更新、卸载软件包,管理仓库源,清理缓存等。
  • YUM 源管理:可以通过编辑 .repo 文件添加、修改、删除仓库,也可以控制仓库的启用/禁用以及优先级。
Linux系统中,Yum(Yellowdog Updater Modified)是一种广泛使用的软件包管理器,尤其在Red Hat系的发行版如CentOS和RHEL中非常常见。它简化了软件包的安装、更新、删除和依赖关系的处理。Yum通过配置文件来指定软件包的来源,通常这些配置文件位于 `/etc/yum.repos.d/` 目录下,且每个配置文件以 `.repo` 为扩展名。 ### Yum配置文件详解 Yum的主配置文件是 `/etc/yum.conf`,该文件中定义了全局设置,例如缓存目录、日志文件路径、是否启用插件等。例如: ```ini [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=5 ``` - `cachedir`:指定Yum缓存目录,用于存储元数据和下载的包。 - `keepcache`:是否保留缓存(0为不保留,1为保留)。 - `debuglevel`:调试信息的详细程度。 - `logfile`:日志文件路径。 - `exactarch`:是否严格匹配架构。 - `obsoletes`:是否处理过时的包。 - `gpgcheck`:是否启用GPG校验。 - `plugins`:是否启用插件。 - `installonly_limit`:限制同时安装的包数量。 除了主配置文件外,用户还可以在 `/etc/yum.repos.d/` 目录下创建多个 `.repo` 文件来定义不同的软件源。每个 `.repo` 文件可以包含多个仓库定义,每个仓库定义以 `[repositoryid]` 开头,并包含以下常见参数: ```ini [centos-local] name=CentOS-$releasever - Local baseurl=file:///mnt/cdrom enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ``` - `name`:仓库的名称。 - `baseurl`:仓库的URL,可以是HTTP、FTP或本地文件系统路径。 - `enabled`:是否启用该仓库(0为禁用,1为启用)。 - `gpgcheck`:是否启用GPG校验。 - `gpgkey`:GPG公钥文件的路径。 ### Yum常用命令指南 Yum提供了丰富的命令来管理软件包,以下是一些常用的命令: - **安装软件包**: ```bash yum install package_name ``` 这将安装指定的软件包及其依赖项。 - **更新软件包**: ```bash yum update package_name ``` 这将更新指定的软件包到最新版本。 - **删除软件包**: ```bash yum remove package_name ``` 这将卸载指定的软件包,但不会自动删除依赖项。 - **列出可用软件包**: ```bash yum list all ``` 这将列出所有可用的软件包。 - **搜索软件包**: ```bash yum search keyword ``` 这将搜索与关键词匹配的软件包。 - **显示软件包信息**: ```bash yum info package_name ``` 这将显示指定软件包的详细信息。 - **清理缓存**: ```bash yum clean all ``` 这将清除所有缓存数据,确保下次操作时重新下载元数据。 - **重建缓存**: ```bash yum makecache ``` 这将重新下载并缓存所有启用的仓库的元数据。 ### Yum配置实践 在实际操作中,用户可以通过编辑 `/etc/yum.repos.d/` 目录下的 `.repo` 文件配置Yum源。例如,创建一个名为 `CentOS-Local.repo` 的本地仓库配置文件: ```ini [centos-local] name=CentOS-$releasever - Local baseurl=file:///mnt/cdrom enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ``` 此配置将使用挂载在 `/mnt/cdrom` 上的本地光盘作为软件源。用户可以通过以下步骤完成配置: 1. **挂载光盘**: ```bash mount /dev/cdrom /mnt/cdrom ``` 2. **创建或编辑 `.repo` 文件**: 使用文本编辑器创建或编辑 `/etc/yum.repos.d/CentOS-Local.repo` 文件,并添加上述内容。 3. **清理并重建缓存**: ```bash yum clean all yum makecache ``` 4. **测试配置**: ```bash yum list all ``` 确保能够成功列出所有可用的软件包。 通过以上步骤,用户可以轻松地配置Yum源,并利用Yum的强大功能进行软件包管理。这种方法不仅适用于本地仓库,也适用于网络仓库,只需将 `baseurl` 指向正确的URL即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值