Używam marionetki, aby zainstalować bieżący JDK i tomcat.
package {
[ "openjdk-6-jdk", "openjdk-6-doc", "openjdk-6-jre",
"tomcat6", "tomcat6-admin", "tomcat6-common", "tomcat6-docs",
"tomcat6-user" ]:
ensure => present,
}
Teraz chciałbym dodać
JAVA_HOME="/usr/lib/java"
export JAVA_HOME
aby /etc/profile
tylko dostać to z drogi. W dokumentach nie znalazłem jednak prostej odpowiedzi. Czy istnieje zalecany sposób to zrobić?
Ogólnie, jak mam powiedzieć marionetce, aby umieścił tam ten plik lub zmodyfikował ten plik? Używam marionetki dla pojedynczego węzła (w trybie autonomicznym) tylko po to, aby go wypróbować i zachować dziennik konfiguracji serwera .
Odpowiedzi:
Dodaj plik
/etc/profile.d/
z przyrostkiem.sh
. Będzie pozyskiwany jako część / etc / profile w Red Hat i Debianie oraz pochodnych, czego nie można powiedzieć na innych dystrybucjach. Ogólnie rzecz biorąc, jeśli to w ogóle możliwe, lepiej jest dodawać fragmenty zamiast zastępować pliki rozproszone, ponieważ jest to w przyszłości bardziej bezpieczne.Tak więc w marionetce:
To, czego szukasz lub potrzebujesz więcej szczegółów?
źródło
.pp
źródła.rozwiązanie mark jest najlepsze do dodawania elementów do profilu każdego, ale jeśli kiedykolwiek będziesz musiał upewnić się, że niektóre wiersze znajdują się w pliku, Puppet Labs ma świetny moduł o nazwie stdlib, który zawiera file_line, który zrobi to, czego potrzebujesz. Wcześniej do tego celu używałem echo i grep, ale file_line jest o wiele łatwiejszy i czystszy.
Oto pomoc na to:
źródło