apt-get install -y 不适用于许可协议,如何实现自动化?

Bla*_*man 3 ubuntu

对于大多数需要是/否答案的包,这对我来说很好用:

sudo apt-get install -y ....
Run Code Online (Sandbox Code Playgroud)

但是,如果您需要一个让您接受许可的软件包,您如何自动同意?

例如,sun java:

sudo apt-get install -y sun-java6-bin sun-java6-jdk sun-java6-jre sun-java6-plugin
Run Code Online (Sandbox Code Playgroud)

这需要我选择确定,然后是。

qua*_*nta 6

有一些方法可以做到这一点:

  1. debconf通过在安装前执行以下命令来预先回答:

    echo sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true | \
        /usr/bin/debconf-set-selections
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用expect

    #!/usr/bin/expect -f
    sudo apt-get -y install sun-java6-jre
    expect "[y/n]"
    sleep 1
    send -- "yes\r"
    
    Run Code Online (Sandbox Code Playgroud)