Я использую Puppet для установки текущего JDK и Tomcat.
package {
[ "openjdk-6-jdk", "openjdk-6-doc", "openjdk-6-jre",
"tomcat6", "tomcat6-admin", "tomcat6-common", "tomcat6-docs",
"tomcat6-user" ]:
ensure => present,
}
Теперь я хотел бы добавить
JAVA_HOME="/usr/lib/java"
export JAVA_HOME
чтобы /etc/profile
просто убрать это с дороги. Я не нашел прямого ответа в документах, пока. Есть ли рекомендуемый способ сделать это?
В общем, как мне сказать puppet поместить этот файл туда или изменить этот файл? Я использую Puppet для одного узла (в автономном режиме), чтобы просто попробовать его и вести журнал настроек сервера .
Ответы:
Добавьте файл
/etc/profile.d/
с суффиксом.sh
. Он будет получен как часть / etc / profile в Red Hat и Debian и его производных, чего не скажешь о других дистрибутивах. Вообще говоря, если это вообще возможно, лучше добавлять фрагменты, а не заменять распределенные файлы, поскольку это более безопасно в будущем.Таким образом, в кукольный, следующее будет делать:
Это то, что вы ищете или вам нужно больше деталей?
источник
.pp
источника.Решение mark лучше всего подходит для добавления материала в профиль каждого, но если вам когда-нибудь понадобится убедиться, что некоторые строки находятся в файле, в Puppet Labs есть отличный модуль stdlib, который включает file_line, который будет делать то, что вам нужно. Ранее я использовал echo и grep в типе exec для этого, но file_line намного проще и чище.
Вот помощь для этого:
источник