Estoy intentando escribir un script de actualización del sistema no interactivo.
Pregunta:
si lo siguiente funciona bien:
yes | dpkg --configure -a
¿Lo siguiente también funcionará muy bien ?:
yes | apt-get install --fix-broken
Responder
Tienes -y
o --yes
o --assume-yes
parámetros en apt-get
.
Pruebe algo como
sudo apt-get install -y <package-name>
Detalles:
El página de manual de apt-get (también puede consultar la página de manual con el man apt-get
comando) menciona:
-y, –si, –assume-yes
Sí automático a las solicitudes. Suponga que «sí» como respuesta a todas las preguntas y ejecute de forma no interactiva. Si ocurre una situación indeseable, como cambiar un paquete retenido o eliminar un paquete esencial, entonces apt-get abortará. Elemento de configuración: APT :: Get :: Assume-Yes.
Al contrario de este parámetro, también tiene
–assume-no
Automático» no «a todas las indicaciones. Elemento de configuración: APT :: Get :: Assume-No.
Editar
Para el comentario de Vlastimil, probé
sudo apt-get install --fix-broken --assume-yes
Y funciona. El --fix-broken
parte del comando se puede reemplazar con -f
y --assume-yes
con -y
o --yes
por conveniencia. Esto no instalará ningún paquete en particular pero «puede omitir cualquier paquete para permitir que APT deduzca una solución probable», como se menciona en la página del manual .