5

We are trying to script the install of the sun jdk on Ubuntu 9.04 and have it automatically accept the license agreement. I have seen something around the net about creating a file that the package looks for, but none of them were complete. Does anyone know how to get this working?

4

The Sun Java packages keep track of whether you've agreed to the license agreement using Debconf. You can bypass that check by running

echo "sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true" | debconf-set-selections

before installing sun-java6-jre or whatever Sun Java package you want.

2

I've tested this in ubuntu 10.04 and works fine:

#!/bin/sh

DEBIAN_FRONTEND=noninteractive

echo "sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true" | debconf-set-selections

echo "sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true" | debconf-set-selections

apt-get install -y sun-java6-bin
0

My first thought is using a package for your native distribution, as Java is compiled anyway there is not much advantage unless you need a very particular version. If that were the case, you could also create your own package.

I typically redirect STDIN. For example:

/command/to/run <<_EOF
answer1
answer2
_EOF

For particularly tricky things an alternative to that is expect.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.