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?
Asked
Active
Viewed 836 times
3 Answers
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.

Evan Broder
- 821
- 5
- 5
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.

Warner
- 23,756
- 2
- 59
- 69