CentOS YUM详解及YUM仓库的搭建案例



YUM(Yellowdog Updater Modified)的历史背景(建议略过)

由于 YUM 英文名为 Yellowdog Updater Modified,而且历史由来确实有“Yellow Dog”的一部分(所以此处贴上历史背景,建议不用看),因此我叫它“黄狗”,当然这样叫并不规范只是一个乐子。

Yellow Dog Linux

  • Yellow Dog Linux: 是一个基于 RPM 包管理系统的 Linux 发行版,最初主要针对 PowerPC 架构(如早期的 Apple Macintosh 计算机)。它的包管理工具称为 Yellow Dog Updater(YUP)。

YUM 的起源

  • YUM 的创建: YUM 是由 Jeremy Katz 于 2003 年开发的。其目标是改进 Yellow Dog Linux 中的软件包管理工具 YUPYUM 旨在提供更易用、更强大的软件包管理功能,特别是在依赖关系管理方面。

名称的由来

  • Yellowdog: 取自 Yellow Dog Linux,YUM 最初是为其开发的。
  • Updater: 表示软件的主要功能是更新。
  • Modified: 表示 YUM 是对原有 Yellow Dog Updater 工具的改进版。

正文如下:


YUM仓库服务

YUM 基本概念

1. YUM (Yellowdog Updater Modified)

  • 基于 RPM 包管理:YUM 是基于 RPM 包管理的软件更新机制,主要用于自动化安装、更新和卸载软件包。
  • 自动解决依赖关系:YUM 可以自动处理软件包之间的依赖关系,避免手动安装依赖包的繁琐。
  • 集中管理的软件仓库:所有软件包都由集中管理的 YUM 仓库提供,用户可以从多个仓库获取所需软件。

2. YUM 软件仓库来源

  • 官方仓库:CentOS 或其他发行版官方提供的 RPM 包集合。
  • 第三方仓库:由第三方组织或社区提供的 RPM 包集合,如 EPEL(Extra Packages for Enterprise Linux)。
  • 用户自定义仓库:用户可以创建自己的 RPM 包集,并配置为 YUM 仓库。

3. Linux系统的安装源

CentOS 和 RHEL

  • CentOS 7 和 RHEL 7:默认使用 YUM 仓库源,安装包的格式是 .rpm 结尾的 RPM 包。
  • CentOS 8 和 RHEL 8:可以使用 DNF(Dandified YUM),这是 YUM 的下一代包管理工具,具备更快的依赖解析和其他改进功能,但仍然使用 .rpm 格式的包。

Ubuntu 和 Debian

  • APT 包管理:Ubuntu 和 Debian 使用的是 APT(Advanced Package Tool)软件包管理系统,安装包的格式是 .deb 结尾。APT 通过类似于 YUM 的方式管理软件包,但与 RPM 包管理系统不同。

YUM 仓库设置与配置

1. YUM 仓库的提供方式

  • FTP 服务:例如,ftp://your-repo-url/...
  • HTTP 服务:例如,http://your-repo-url/...
  • 本地目录:例如,file:///your-local-directory/...

2. YUM 仓库配置文件示例

配置示例

[test]
name=test
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1

3. 搭建本地与在线混合 YUM 仓库

  • 本地仓库配置:将本地目录配置为 YUM 仓库,例如使用 ISO 文件作为源。
[test1]
name=test1
baseurl=file:///mnt
gpgcheck=0
enabled=1
priority=1  # 优先级,数字越小优先级越高
  • 在线仓库配置:如阿里云的 EPEL 源。
[test2]
name=test2
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enabled=1
priority=2

YUM 命令与运用

1. 基本命令

  • 查看包列表
    • yum list:显示所有可用包或指定包名的信息。
  • 安装与更新包
    • yum install [包名]:安装指定软件包。
    • yum update [包名]:更新指定软件包。
    • yum upgrade [包名]:升级系统中的软件包,通常包括内核升级。
  • 卸载包
    • yum remove [包名]:卸载指定软件包。
  • 查看操作历史
    • yum history:查看当前 yum 操作历史。
    • yum history undo [序号]:撤销某次操作。
    • yum history redo [序号]:重新执行某次操作。

2. 群组操作命令

  • 包组列表
    • yum grouplist:显示所有可用包组。
  • 安装、更新、卸载包组
    • yum groupinstall [包组名]:安装指定包组。
    • yum groupupdate [包组名]:更新指定包组。
    • yum groupremove [包组名]:卸载指定包组。

3. YUM 下载方式

  • 方式一:下载并安装

    • yum install --downloadonly [软件包名]:下载但不安装,包存储在 /var/cache/yum/x86_64/7/ 目录下。
  • 方式二:仅下载

    • yumdownloader --destdir=/opt [软件包名]:指定目录下载指定软件包。
    • 参数 --destdir 是用来指定存放下载的安装包的目录。
  • 方式三:使用缓存功能

    默认情况下,yum会在安装完软件之后,自动清理掉安装包。但是也可以通过设置,让yum不清除安装后的安装包。

    • 配置 vim /etc/yum.conf,将 keepcache=0 修改为 keepcache=1,保留安装包。此时下载好的软件包默认安置在:/var/cache/yum。

案例:搭建 YUM 仓库

1. 搭建 FTP YUM 仓库

服务端配置

  • 安装 vsftpd

    yum install -y vsftpd
    
  • 创建并挂载目录

    该步骤涉及到ftp原理,用户远程访问时的,根目录就在 /var/ftp上,所以在此创建挂载目录。

    mkdir -p /var/ftp/centos7
    mount /dev/sr0 /var/ftp/centos7/
    systemctl start vsftpd
    

客户端配置

  • 备份原有 YUM 仓库

    cd /etc/yum.repos.d
    mkdir repo.bak
    mv *.repo /repo.bak/
    vim local.repo
    
  • 配置 FTP YUM 仓库

    vim /etc/yum.repos.d/local.repo
    [Local]
    name=local
    baseurl=ftp://192.168.110.128/centos7
    gpgcheck=0
    enabled=1
    

2. 搭建阿里云源 YUM 仓库

  • 安装 wget :

    wget是一个从网络上自动下载文件的自由工具,支持HTTP,HTTPS和FTP协议。

    yum install -y wget
    
  • 备份原有 YUM 仓库

    移动备份即可。

  • 联网后下载并配置阿里云仓库

    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOSyum是一种包管理器,用于在CentOS操作系统上安装、更新和删除软件包。yum使用一系列配置文件来确定软件包的来源和安装规则。 yum的主要配置文件是yum.conf,该文件位于/etc/yum.conf。在yum.conf中,可以设置各种参数,包括缓存目录、日志文件路径、是否进行GPG检查等。 所有yum的相关信息都存储在/etc/yum.repos.d目录下的配置文件中。这些配置文件包含了软件包的源信息,通常以.repo为后缀。在这些配置文件中,可以指定各个软件源的名称、URL、GPG检查等信息。 在使用yum安装软件包时,可以使用命令行参数指定软件包的来源和安装规则。例如,可以使用--enablerepo参数指定要启用的软件源,使用--disablerepo参数指定要禁用的软件源。还可以使用--nogpgcheck参数禁用GPG检查。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CentOsyum详解整理](https://blog.csdn.net/samxx8/article/details/52457305)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [centOS yum命令详解](https://blog.csdn.net/qq_44114279/article/details/105913624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值