【问题标题】:Could not get metalink in vagrant puppet无法在 vagrant puppet 中获取金属链接
【发布时间】:2015-03-25 07:08:54
【问题描述】:

我的 vagrant 文件有以下 puppet 内容。

yumrepo { "epel":
 enabled => '1'
}

$req_packages = [ "java-1.7.0-openjdk", "htop", "mysql-server", "php-devel", "mongo"]
package {
 $req_packages :
 ensure => "installed",
 require => Yumrepo[ "epel" ],
}

所有yum相关的操作都会有类似的错误信息。

==> default: Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install mongo' returned 1: Error: Nothing to do
==> default: Could not get metalink https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=x86_64 error was
==> default: 14: problem making ssl connection
==> default: 
==> default: Error: /Stage[main]//Package[mongo]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install mongo' returned 1: Error: Nothing to do
==> default: Could not get metalink https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=x86_64 error was
==> default: 14: problem making ssl connection

我使用的是config.vm.box = "centos63"

请问,我该如何解决上述问题?

我什至尝试禁用 ssl 验证。但是,我仍然遇到同样的错误。

yumrepo { "epel":
 enabled => '1',
 sslverify => False,
}

【问题讨论】:

    标签: vagrant puppet


    【解决方案1】:

    禁用与 EPEL(企业 Linux 的额外软件包) 的 SSL 连接即可解决问题。

    exec { "disable ssl":
     path => ["/usr/bin", "/bin"],
     command => "sudo sed -i \"s/mirrorlist=https/mirrorlist=http/\" /etc/yum.repos.d/epel.repo",
     user => 'vagrant',
     group => 'vagrant',
    }
    
    yumrepo { "epel":
     enabled => '1',
     sslverify => False,
     require => Exec[ "disable ssl" ],
    }
    

    注意,改变/etc/yum.repos.d/epel.repo的内容是解决这个问题的关键。 sslverify 标志并不是真正需要的。但是,我认为把它放在那里没有什么坏处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-01
      • 2023-03-26
      • 1970-01-01
      • 2014-07-25
      • 2013-02-22
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多