Verifique el modo no interactivo en los scripts del mantenedor de paquetes de Debian

Verifique el modo no interactivo en los scripts del mantenedor de paquetes de Debian

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 installse 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 debconfconfiguraciones no interactivas (con una DEBIAN_FRONTEND=noninteractiveinvocación explícita o porque no hay forma de interactuar con un usuario), sino que también admite varias interfaces y configuraciones administradas por debconfse puede configurar antes de la instalación (usando “presiembra”). Es posible que esto no sea relevante en su caso, pero debconftambién admite indicaciones en varios idiomas.

Tenga en cuenta que apt-getlas banderas son independientes de la interactividad del script del mantenedor; ver¿DEBIAN_FRONTEND=noninteractive es redundante con apt-get -yqq?

información relacionada