使用盐设置环境变量

2024-04-25 14:52:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一些盐栈公式来安装tomcat包。但是在安装之后,我必须在/etc/default/tomcat7文件中设置JAVA_HOME。有没有设置JAVA_HOME的选项?或者在环境变量(即在.bashrc或.profile文件中)中有任何修改或添加JAVA_HOME的选项吗?

我的pillar.example文件将包含以下详细信息:

    tomcat_version: 7
    java_home: '/usr/lib/jvm/java-7-oracle'

Tags: 文件defaulthome选项环境变量etcjavaprofile
2条回答

作为设置.bashrc或.profile的替代方法,您可以直接在/etc/default/tomcat7中设置JAVA_HOME值:

tomcat_configuration:
  file.append:
    - name: /etc/default/tomcat7
    - text: export JAVA_HOME={{ pillar['java_home'] }}

如果由于某些原因file.append不合适,salt提供file.replace(0.18.0中的新功能)file.blockreplace

取决于环境变量的范围:

如果是针对单个用户的,那么导出到用户的local.bash_配置文件就可以了,例如

JAVA_HOME:
# File.append searches the file for your text before it appends so it won't append multiple times
  file.append:
    - name: /root/.bash_profile
    - text: export JAVA_HOME={{ pillar['java_home'] }}

在使用上述变量之前,您可能需要注销该用户。

另一方面,如果您想全局导出该变量。您可能想使用/etc/profile.d

JAVA_HOME:
  file.append:
    - name: /etc/profile.d/myglobalenvvariables.sh
    - text: export JAVA_HOME={{ pillar['java_home'] }}

尽管我建议在创建新脚本时使用file.managed。当然,您仍然需要将所有用户注销,以便传播变量。

相关问题 更多 >