
Si estoy escribiendo un script de mantenimiento de paquetes Debian (como un script de preinstalación) para un paquete que creo, ¿cómo puedo hacer que el script determine si se supone que debe ejecutarse en modo no interactivo (por ejemplo, si apt-get install
se invocó con -y
, y cosas asi)?
Respuesta1
Si los scripts de su mantenedor necesitan interactuar con el usuario que ejecuta la instalación, la forma recomendada de proceder es utilizar debconf
; verInstalación condicional de archivos y directorios en paquetes Debianpara sugerencias. Esto puede parecer complicado, pero aporta una serie de beneficios: no solo maneja debconf
configuraciones no interactivas (con una DEBIAN_FRONTEND=noninteractive
invocación explícita o porque no hay forma de interactuar con un usuario), sino que también admite varias interfaces y configuraciones administradas por debconf
se puede configurar antes de la instalación (usando “presiembra”). Es posible que esto no sea relevante en su caso, pero debconf
también admite indicaciones en varios idiomas.
Tenga en cuenta que apt-get
las banderas son independientes de la interactividad del script del mantenedor; ver¿DEBIAN_FRONTEND=noninteractive es redundante con apt-get -yqq?