Java可以作为非root用户安装到Chef吗?

时间:2016-02-12 16:29:27

标签: java chef chef-recipe

Chef支持以非root用户身份执行:
https://docs.chef.io/ctl_chef_client.html#run-as-non-root-user

但是如果Chef配方需要具有root访问权限的操作,那么它将无效。

安装Java的Chef配方之一是否支持非root安装?我没有在他们的文档中找到回复。

3 个答案:

答案 0 :(得分:1)

https://supermarket.chef.io/cookbooks/java, with java_home attribute value set to user accessible directory then it should be good.

答案 1 :(得分:1)

一般来说,大多数社区食谱都希望以root身份运行,因此您可能需要自己编写。

答案 2 :(得分:0)

我已经能够通过在recipes / default.rb中使用以下代码来安装java作为非root用户:

arch = node['java']['arch']
jdk_version = node['java']['jdk_version']
tarball_url = node['java']['jdk'][jdk_version][arch]['url']
tarball_checksum = node['java']['jdk'][jdk_version][arch]['checksum']
bin_cmds = []
java_home = node['java']['java_home']

java_ark 'jdk' do
  url tarball_url
  checksum tarball_checksum
  bin_cmds bin_cmds
  app_home java_home
  owner node['current_user']
  action :install
end

在attributes / default.rb文件中:

set['java']['jdk_version'] = '7'
set['java']['java_home'] = "/home/jpmat/jdk#{node['java']['jdk_version']}"
set['java']['oracle']['accept_oracle_download_terms'] = 'true'