【问题标题】:Foreman - replacing repo with local mirrorsForeman - 用本地镜像替换 repo
【发布时间】:2018-08-11 00:16:27
【问题描述】:

我们使用 foreman (v1.14.1) 进行配置,并且我们有一个可用于基本操作系统的 CentOS 7 安装介质。 安装时,它确实在 /etc/yum.repos.d 中安装了带有在线镜像的默认存储库,但我想用我们的本地镜像替换它。

我跑过this workflow (from 2012) 它使用以下sn-p遍历当前主机操作系统的所有媒体并设置写出repo定义。

<% @host.os.media.each do |media| -%>
[<%= media.name.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') %>]
name=<%= media.name %>
baseurl=<%= @host.os.medium_uri @host, media.path %>
enabled=1
gpgcheck=0
<% end -%>

我为这个操作系统设置了几个安装媒体,每个都有一个特定的 repo URI(Base、Updates、Plus、Extras...)。

在 kickstart 的 %post install 部分调用了 sn-p,但是当我想构建主机时,我收到以下错误:

Failure parsing Kickstart default: The snippet 'FF_repos' threw an error: 
undefined method 'media' for Operatingsystem::Jail (Redhat).

我知道“@host.os.media.each”对于迭代不同的媒体是不正确的,但我该怎么做呢? 任何帮助表示赞赏:)

【问题讨论】:

    标签: ruby erb theforeman


    【解决方案1】:

    无法让它工作,所以我只是更改了我的 sn-p "FF_repos" 以直接将 repos 定义烘焙到磁盘上的相应 repo 文件中。

    我在 %post 部分添加了以下内容,然后删除默认存储库并保留我们的。

    rm -f /etc/yum.repos.d/*
    <%= snippet("FF_repos") %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 2017-08-28
      • 2021-03-03
      • 2020-11-29
      • 1970-01-01
      • 2015-12-29
      相关资源
      最近更新 更多