我们正在尝试编写脚本,安装 Ubuntu 9.04 上的 sun jdk,并让其自动接受许可协议。我在网上看到过一些关于创建软件包查找的文件的内容,但没有一个是完整的。有人知道如何让它工作吗?
答案1
Sun Java 软件包使用 Debconf 跟踪您是否同意许可协议。您可以通过运行来绕过该检查
echo "sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true" | debconf-set-selections
在安装sun-java6-jre
或任何您想要的 Sun Java 包之前。
答案2
我已经在 ubuntu 10.04 中测试过并且运行良好:
#!/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
答案3
我首先想到的是使用适用于您本地发行版的软件包,因为 Java 无论如何都会被编译,除非您需要非常特殊的版本,否则没有太大的优势。如果是这种情况,您也可以创建自己的软件包。
我通常会重定向 STDIN。例如:
/command/to/run <<_EOF
answer1
answer2
_EOF
对于特别棘手的事情,另一种方法是预计。