【问题标题】:Can Java be installed as non-root user with Chef?可以使用 Chef 以非 root 用户身份安装 Java 吗?
【发布时间】:2016-03-01 20:08:36
【问题描述】:

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

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

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

【问题讨论】:

  • 你能告诉我们你的步骤吗?

标签: java chef-infra chef-recipe


【解决方案1】:

https://supermarket.chef.io/cookbooks/java,将 java_home 属性值设置为用户可访问的目录,那么它应该是好的。

【讨论】:

  • 但默认配方尝试使用 root 作为所有者,即使 java_home 是自定义的。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    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
    

    并且在属性/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'
    

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      相关资源
      最近更新 更多