Ubuntu - Sun Java6 mit Puppet installieren
Ich bin gerade dabei die Installation einer Arbeitsstation / Notebooks mittels Puppet zu automatisieren. Ziel ist es nach der Installation der Grundversion von Ubuntu 10.10 mittels Puppet die Installation weiter Software sowie die Grundkonfiguration zu automatisieren. Für die erste Installation ist der Aufwand zur Erstellung der einzelnen Puppet Module sicherlich aufwendig. In Zukunft kann ich allerdings auf dieser Arbeit aufsetzen und einen neuen Rechner komplett angepasst an meine Bedürfnisse innerhalb weniger Minuten aufsetzen.
Bei der Installation von Java - ich verwende die offizielle Version von Sun / Oracle - bin ich auf ein Problem bei der Installation gestoßen. Die Installation von sun-java6-jre bricht mit einem Fehler ab, weil keine Möglichkeit zur Bestätigung der Sun Lizenz besteht.
Nach kurzer Recherche bei Google bin ich auf den Blog-Eintrag von Mike Renfro gestoßen, der dieses Problem bereits 2008 gelöst hat.
Die Interaktion zur Bestätigung der Lizenz kann in Puppet über ein responsefile realisiert werden.
Die hierzu notwendigen Eingaben können mittels debconf-get-selections
ermittelt werden.
Auf meinem bereits laufenden System mit installierter JRE und JDK konnte ich für Java6 die folgenden Einträge für die Datei ermitteln.
sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true
sun-java6-jdk shared/accepted-sun-dlj-v1-1 boolean true
sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true
sun-java6-jre sun-java6-jre/stopthread boolean true
sun-java6-jre sun-java6-jre/jcepolicy note
sun-java6-bin shared/error-sun-dlj-v1-1 error
sun-java6-jdk shared/error-sun-dlj-v1-1 error
sun-java6-jre shared/error-sun-dlj-v1-1 error
sun-java6-bin shared/present-sun-dlj-v1-1 note
sun-java6-jdk shared/present-sun-dlj-v1-1 note
sun-java6-jre shared/present-sun-dlj-v1-1 note
Wird diese Datei bei der Definition des Packages java-sun6-jre
bzw. java-sun6-jdk
mittels des Attributs responsefile
angegeben, klappt die Installation von Java auch über Puppet.