Automatizar la instalación de apt-get con --assume-yes

68

Estoy tratando de escribir un script bash para instalar una lista de software. Estoy usando --assume-yespara pasar las indicaciones.

La siguiente línea de alguna manera no funciona:

sudo apt-get install python-software-properties --assume-yes

Si lo intento apt-getsin --assume-yesfunciona, pero el mensaje me pide que:

please [Enter] to continue or ctrl+c to cancel adding it

¿Cómo agrego Entercomo comando cuando ejecuto en apt-get installlugar de usar --assume-yes?

Rengas
fuente
please [Enter] to continue or ctrl+c to cancel adding itsolo aparece si está intentando agregar un PPA.
Avinash Raj

Respuestas:

89

Su problema es que la opción debe ser antes de los paquetes, no después, esta es la sintaxis correcta:

apt-get <options> command package=version/release

Entonces, para que funcione debería ser:

sudo apt-get --assume-yes install python-software-properties

apt-get es indulgente al mezclar comandos y opciones, pero para equivocarse, siempre debe usar las opciones antes del comando y nunca poner opciones o comandos después del nombre del paquete.

Braiam
fuente
51

Agregue la -ybandera al apt-get install <package-name>comando como se muestra a continuación, no recibirá ningún aviso al instalar paquetes.

sudo apt-get install -y <package-name>

De apt-get --help

-y  Assume Yes to all queries and do not prompt
Avinash Raj
fuente
¿Hay alguna diferencia entre --assume-yesy -y?
Peter Mortensen el
3
@PeterMortensen hacen lo mismo. Desde la página de manual:-y, --yes, --assume-yes Automatic yes to prompts
davejagoda
1
Tenga en cuenta que esto puede no ser suficiente y es posible que también deba agregar -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"a sus comandos. Ver raphaelhertzog.com/2010/09/21/… para más detalles.
TTimo
@TTimo Wow! ¡¡¡6 días después de que publicaste ese comentario, llego y descubro que ¡esa es exactamente la respuesta que necesitaba! ¡Si pudiera votar más tu comentario, lo haría!
Crimbo
Siéntase libre de editar la respuesta con opciones adicionales.
Avinash Raj
1

Por otra forma silenciosa y efectiva de la siguiente manera:

sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq python-software-properties < /dev/null > /dev/null
Myster-Mayur
fuente