4

我正在使用 Vagrant 和 Chef 来自动设置开发节点。我需要安装 Oracle Java,遗憾的是不能再从 Oracle 自动下载:

重要说明 自 2012 年 3 月 26 日起,您将无法再从 Oracle 网站直接下载 JDK,而无需使用成熟的浏览器。出于这个原因,java::oracle 配方会强制您设置一个可通过 HTTP 访问的私有存储库。最好使用角色覆盖虚拟 URL。

我想将下载的 JDK 与我的 Vagrantfile 捆绑在一起,以便可以自动安装它,而无需在内部 Web 服务器上发布 JDK。有没有办法可以将文件注入到 chef-solo 的文件缓存中,以便在安装配方时找到它?

chef-solo 食谱似乎不支持 file_cache_path 属性。我曾想过将其设置为 Vagrant 共享的文件夹,但这似乎不起作用。

4

2 回答 2

0

使用社区 java 食谱并设置

override['java']['oracle']['accept_oracle_download_terms'] = true

这就是我在所有服务器上安装 java 的方式。

于 2015-02-02T16:50:44.010 回答
0

对于我们安装的许多软件包,我们如何解决这个问题是创建一个本地 squid 代理服务器,供我们使用 Vagrant 启动的实例使用。

我们第一次下载包时,它会按照您的预期运行。但是在接下来的运行中,东西被缓存在本地并且运行得更快。

当然,这并不能解决您使用 Oracle JDK 的具体问题,因为您无法将其作为配方的一部分下载。

于 2013-03-13T02:46:53.420 回答