J'utilise des marionnettes pour installer un JDK et un tomcat actuels.
package {
[ "openjdk-6-jdk", "openjdk-6-doc", "openjdk-6-jre",
"tomcat6", "tomcat6-admin", "tomcat6-common", "tomcat6-docs",
"tomcat6-user" ]:
ensure => present,
}
J'aimerais maintenant ajouter
JAVA_HOME="/usr/lib/java"
export JAVA_HOME
pour /etc/profile
, juste pour mettre cela hors du chemin. Je n'ai pas encore trouvé de réponse simple dans les documents. Existe-t-il un moyen recommandé de procéder?
En général, comment dire à la marionnette de placer ce fichier là ou de le modifier? J'utilise marionnette pour un seul nœud (en mode autonome) juste pour l'essayer et pour garder un journal de la configuration du serveur .
Réponses:
Ajoutez un fichier
/etc/profile.d/
avec le suffixe.sh
. Il sera fourni dans le cadre de / etc / profile dans Red Hat et Debian et ses dérivés, je ne peux pas le dire sur d'autres distributions. De manière générale, si possible, il est préférable d'ajouter des extraits plutôt que de remplacer des fichiers distribués car cela a tendance à être plus sûr à l'avenir.Donc, en marionnette, ce qui suit ferait:
C'est ce que vous cherchez ou avez-vous besoin de plus de détails?
la source
.pp
source.La solution de Mark est la meilleure pour ajouter des trucs au profil de tout le monde, mais si jamais vous avez besoin de vous assurer que certaines lignes sont dans un fichier, Puppet Labs a un excellent module appelé stdlib qui inclut file_line qui fera ce dont vous avez besoin. Auparavant, j'ai utilisé echo et grep dans le type exec pour ce faire, mais file_line est tellement plus facile et plus propre.
Voici l'aide pour cela:
la source