Chef cookbook - reload PATH

后端 未结 3 661
小蘑菇
小蘑菇 2021-01-14 07:06

I just installed java using chef cookbook and updated PATH environment variable for all users (added new file to /etc/profile.d/).

Is it possible to tell chef to rel

相关标签:
3条回答
  • 2021-01-14 07:10

    I'm not 100% sure you can update the PATH variable for future chef runs, but you can set it up manually using the environment attribute within the execute stanza. This can also be used on other Resources as well. See: http://docs.opscode.com/chef/resources.html#execute

    From the Chef Docs,

    environment
    A hash of environment variables: {"ENV_VARIABLE"=>"VALUE"}.
    (These environment variables must exist for a command to execute successfully.)
    Default value: nil.
    

    Run a command which requires an environment variable

    execute "slapadd" do
      command "slapadd < /tmp/something.ldif"
      creates "/var/lib/slapd/uid.bdb"
      action :run
      environment ({'HOME' => '/home/myhome'})
    end
    
    0 讨论(0)
  • 2021-01-14 07:15
    execute "run_updated_bash" do
        command "bash /etc/profile.d/myscript.sh"
    end
    

    Have you tried something like this? It could be run after you place your file in /etc/profile.d/

    0 讨论(0)
  • 2021-01-14 07:34

    I found that it is not possible to update ENV variables pemanently (to be available after chef finishes), but it is possible to update variables for future commands of current chef run.

    ruby_block  "set-env-" do
      block { ENV[variable_name] = variable_value }
      not_if { ENV[variable_name] == variable_value }
    end
    
    0 讨论(0)
提交回复
热议问题