ubuntu - Cómo hacer que apt-get acepte nuevos archivos de configuración en una instalación desatendida de debian desde Repo
install non-interactive (3)
También puede haber configurado para hacerlo creando /etc/apt/apt.conf.d/local
y agregando:
Dpkg::Options {
"--force-confdef";
"--force-confold";
}
Estoy escribiendo un script para una instalación desatendida de un paquete que está en nuestro Repo, es un paquete de software con una de las configuraciones marcadas de Debian. ¿Hay alguna opción que pueda pasar a apt-get / aptitude para que acepte los nuevos archivos de configuración?
Básicamente, necesito un apt / aptitude equivalente de dpkg --force-confnew
Necesito responder la siguiente pregunta planteada mientras apt-get installation con un Y
Archivo de configuración `/opt/application/conf/XXX.conf ''
==> Archivo en el sistema creado por usted o por un script.
==> Archivo también en el paquete provisto por el mantenedor del paquete.
Qué te gustaría hacer acerca de eso ? Tus opciones son:
Y or I : install the package maintainer''s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : background this process to examine the
La acción predeterminada es mantener su versión actual.
Información adicional:
Además, estoy pasando la contraseña de sudo en una tubería para ejecutar el comando
echo "mysudopass" | sudo -S apt-get mypackage
Esto indica un error en la instalación cuando la instalación se encuentra en la fase de configuración interactiva.
Estoy en la versión apt de Ubuntu 10.04: apt 0.7.25.3
Por qué no puedo usar dpkg: estos debien se deben instalar desde Repo y no tengo debian locales en mi máquina
Gracias chicos por su ayuda con antelación!
Creo que la línea de comando apt-get que estás buscando es
apt-get -o Dpkg::Options::="--force-confnew" install your-package
En cuanto a su problema sudo -S, quizás intente agregar algunos espacios alrededor del ''|'' personaje. ¿No es así, la pregunta ¿Cómo pasar la contraseña a su / sudo / ssh sin anular el TTY? puede ser útil.
Probé las sugerencias en las otras respuestas y descubrí que no era suficiente cuando intentaba instalar el paquete localepurge.
Después de usar debconf-set-selections para establecer lo que necesitaba, tuve que usar lo siguiente:
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install localepurge
Solo con la variable de entorno DEBIAN_FRONTEND configurada como no interactiva, podría forzar a localepurge a hacer lo que le pedí. Esto puede ser cierto para otros paquetes.
Por supuesto, con un script puede exportar la variable si así lo desea, pero tenga en cuenta que podría interferir con otros paquetes. Por ejemplo:
#!/bin/sh
export DEBIAN_FRONTEND=noninteractive
apt-get -o Dpkg::Options::="--force-confnew" install -y localepurge foo bar
Donde -y dice apt-get para dejar de hacer preguntas (ver la página man ).