2014-01-16 242 views
13

我在寫一些將安裝tomcat包的鹽堆公式。但安裝後我必須在/ etc/default/tomcat7文件中設置JAVA_HOME。有沒有設置JAVA_HOME的選項?或者是否有任何選項可以修改或添加環境變量(即.bashrc或.profile文件中的JAVA_HOME)?使用saltstack設置環境變量

我pillar.example文件將這些細節:

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

回答

8

作爲替代設置的.bashrc或.profile,你可以簡單地在/ etc /默認/ tomcat7直接設置JAVA_HOME值:

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

如果由於某種原因file.append不適合,鹽提供file.replace(0.18.0新增)file.blockreplace

6

取決於環境變量的範圍:

如果其爲單個用戶,然後出口到用戶本地的.bash_profile會工作,例如

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。當然,您仍然需要記錄所有用戶,以便傳播變量。