gpt4 book ai didi

linux - 由于验证,Puppet-Apt 安装包失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:53 26 4
gpt4 key购买 nike

环境:

在虚拟机中运行 CentOs 7.2 服务器,该虚拟机具有使用 CNTLM 设置的本地代理。我已经安装了 vagrant 版本 1.8.1。此外,我还安装了 vagrant-proxyconf 插件。

目标:

使用 vagrant 在 CentOs 7.2 服务器上设置虚拟机。

是:虚拟机中的虚拟机。

现状:

Vagrantfile 的片段:

...
config.proxy.http = http://10.0.2.2:3128
config.proxy.https = http://10.0.2.2:3128
config.proxy.no_proxy = localhost, 127.0.0.*, 10.0.2.*
...

# puppet config
config.vm.provision :puppet, :module_path => "../puppet/modules" do |puppet|
puppet.manifests_path = "../puppet/manifests"
puppet.manifest_file = "base.pp"
# In facts are the proxy settings with host and port.
puppet.facter = facts
end

我的 puppet list 的片段:

class box-configuration {
...
class { 'apt':
always_apt_update => true;
}

# Always a apt-key update before installing packages
exec { 'apt-key_update':
command => "/usr/bin/apt-key update && /usr/bin/apt-get update",
require => Class['apt'],
}
apt::ppa { 'ppa:openjdk-r/ppa': }

package { ["unzip", "curl", "openjdk-8-jdk"]:
ensure => present,
require => [Class['apt'], Exec['apt-key_update']],
}
...
}

问题:

当我在终端中运行 vagrant up 时,我收到包 openjdk-8-jdk 的以下错误: enter image description here

所有其他软件包都可以成功安装。

失败后,我用 vagrant ssh 连接到虚拟机,用 sudo apt-get install openjdk-8-jdk 手动安装这个包,然后我得到了以下提示:

 Install these packages without verification [y/N]? 

apt-get install openjdk-8-jdk 想要验证是否从 base.pp 中最近添加的存储库下载包。

我应该为此做什么?我已经添加了 Exec['apt-key_update'] 要求...

编辑:当我使用 vagrant ssh 连接到虚拟机以手动进行更新时 apt-key update && apt-get update 我得到以下输出:

apt-key update apt-get update

最佳答案

当你安装 java 包时,你没有对 apt::ppa { 'ppa:openjdk-r/ppa': } 的依赖,所以你可以做一个 dep

apt::ppa { 'ppa:openjdk-r/ppa': }
exec { 'apt-key_update':
command => "/usr/bin/apt-key update && /usr/bin/apt-get update",
require => [Class['apt'], Apt::ppa['ppa:openjdk-r/ppa']],
}
package { ["unzip", "curl", "openjdk-8-jdk"]:
ensure => present,
require => [Class['apt'], Exec['apt-key_update']],
}

编辑:我在 ubuntu/trusty64 机器上测试过,我使用了 apt module (你需要确保它已安装)和以下 puppet 文件

class box-configuration {

class { 'apt':
update => {
frequency => 'always',
},
}

# Always a apt-key update before installing packages
exec { 'apt-key_update':
command => "/usr/bin/apt-key update && /usr/bin/apt-get update",
require => [Class['apt'], Apt::Ppa['ppa:openjdk-r/ppa']]
}
apt::ppa { 'ppa:openjdk-r/ppa': }

package { ["unzip", "curl", "openjdk-8-jdk"]:
ensure => present,
require => [Class['apt'], Exec['apt-key_update']],
}
}

include box-configuration

一切顺利,java8 已安装 - 您可以看到 gist所有安装过程

关于linux - 由于验证,Puppet-Apt 安装包失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37214078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com