Verifique o modo não interativo nos scripts do mantenedor do pacote Debian

Verifique o modo não interativo nos scripts do mantenedor do pacote Debian

Se estou escrevendo um script mantenedor de pacote Debian (como um script de pré-instalação) para um pacote que crio, como posso fazer com que o script determine se ele deve estar rodando em modo não interativo (por exemplo, se apt-get installfoi invocado com -y, e coisas assim)?

Responder1

Se os scripts do seu mantenedor precisarem interagir com o usuário que está executando a instalação, a maneira recomendada de proceder é usar debconf; verInstalação condicional de arquivos e diretórios em pacotes Debianpara ponteiros. Isso pode parecer complicado, mas traz uma série de benefícios — não apenas lida debconfcom configurações não interativas (com uma DEBIAN_FRONTEND=noninteractiveinvocação explícita ou porque não há como interagir com um usuário), mas também oferece suporte a vários frontends e configurações gerenciadas por debconfpode ser definido antes da instalação (usando “pré-propagação”). Isso pode não ser relevante no seu caso, mas debconftambém oferece suporte a prompts em vários idiomas.

Observe que apt-getos sinalizadores são separados da interatividade do script do mantenedor; verDEBIAN_FRONTEND=noninteractive é redundante com apt-get -yqq?

informação relacionada