You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon Linux YUM仓库手动加载与仓库管理技术问题咨询

Amazon Linux YUM 仓库管理与常见问题解决

基础背景

Amazon Linux(含Amazon Linux 2)基于CentOS/RHEL发行版,沿用RPM包管理体系,默认使用YUM(Amazon Linux 2后期也支持DNF)作为包管理工具。


1. Amazon Linux上管理软件仓库的常规方法

查看仓库状态

  • 列出所有已配置仓库(含启用/禁用状态):
    yum repolist all
    
  • 仅查看已启用的仓库:
    yum repolist enabled
    

启用/禁用仓库

  • 临时启用指定仓库执行安装:
    sudo yum --enablerepo=仓库名 install 包名
    
  • 临时禁用指定仓库执行更新:
    sudo yum --disablerepo=仓库名 update
    
  • 永久修改仓库状态:编辑/etc/yum.repos.d/目录下的对应.repo文件,将enabled=0改为enabled=1(启用),反之则禁用。

2. 列出已安装软件包的命令

直接执行以下命令查看系统所有已安装RPM包:

yum list installed

如需过滤特定包,可配合管道:

yum list installed | grep 包名关键词

3. 处理yum update无法找到包的情况

按以下步骤排查修复:

  • 清理并重建YUM缓存:
    sudo yum clean all
    sudo yum makecache
    
  • 执行yum repolist enabled确认目标包所在仓库已启用
  • 检查网络连通性:确保EC2实例能访问对应仓库服务器,可通过ping repo.amazonaws.com(默认官方仓库)测试
  • 自定义仓库需检查.repo文件中baseurl是否正确,以及仓库服务器是否正常运行

4. Amazon Linux上手动管理软件仓库

添加自定义仓库

  1. 在/etc/yum.repos.d/目录下创建新的.repo文件,例如my-custom.repo:
    sudo vi /etc/yum.repos.d/my-custom.repo
    
  2. 写入仓库配置(根据实际信息修改):
    [my-custom-repo]
    name=My Custom Repository
    baseurl=http://你的仓库服务器地址/仓库路径
    enabled=1
    gpgcheck=0  # 若仓库有GPG签名,改为1并添加gpgkey路径
    
  3. 保存后执行yum makecache加载新仓库

删除自定义仓库

直接删除对应.repo文件即可:

sudo rm /etc/yum.repos.d/my-custom.repo

随后执行yum clean all && yum makecache更新缓存


5. 手动上传并加载自定义仓库到EC2 Amazon Linux,让yum update和yum list installed识别

步骤1:构建本地YUM仓库

  1. 在服务器(或EC2实例)上创建仓库目录,例如/var/www/html/my-repo
  2. 将需要的RPM包上传至该目录
  3. 安装createrepo生成仓库元数据:
    sudo yum install createrepo
    sudo createrepo /var/www/html/my-repo
    
  4. 后续添加新包后,执行createrepo --update /var/www/html/my-repo更新元数据

步骤2:让EC2实例访问仓库

  • 同VPC内的仓库可通过私有IP访问;公网仓库需确保EC2实例有公网权限
  • 也可将仓库上传至S3,通过静态网站托管或CloudFront提供访问(需配置EC2实例的S3读取权限)

步骤3:在目标EC2实例添加仓库配置

按照第4部分的自定义仓库添加方法,创建.repo文件,将baseurl指向你的仓库地址(如http://仓库IP/my-repo或https://s3-区域.amazonaws.com/存储桶名/my-repo)

步骤4:验证生效

  • 执行yum repolist enabled确认自定义仓库已列出
  • 执行yum list available查看仓库内的包
  • 安装包后,yum list installed会显示该包;执行yum update时,仓库内的更新版本会被识别

内容的提问来源于stack exchange,提问作者Alptraum0101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 13:50:35