Esse tipo de coisa não deve ser feito em (pre|post)|(inst|rm)
scripts. Os scripts (pre|post)|(inst|rm)
devem ser idempotent e nãointerativos .
Em vez disso, o que você quer fazer é fornecer um template debconf que requer que as questões sejam respondidas para que o pacote seja totalmente instalado.
Se você quiser um exemplo, veja os sun-java*
packages. Você pode ver o template debconf aqui: dlj.templates .
Os pacotes sun-java*
apresentam especificamente uma licença que deve ser aprovada antes de o Java ser instalado.
Aqui está uma pergunta de exemplo diferente do modelo (porque a licença é muito longa para ser reproduzida aqui):
Template: shared/accepted-sun-dlj-v1-1
Type: boolean
Default: false
_Description: Do you accept the DLJ license terms?
In order to install this package, you must accept the license terms, the
"Operating System Distributor License for Java" (DLJ), v1.1. Not accepting
will cancel the installation.
-
Template
é o nome do objeto no banco de dados debconf. Deve ser único. -
Type
é o tipo de valor. Neste caso, é um booleano que significa que o debconf irá fazer uma pergunta sim / não. -
Default
fornece a resposta inicialmente selecionada quando apresentada ao usuário (ou a resposta escolhida automaticamente se a prioridade não for alta o suficiente para a pergunta ser vista). -
_Description
é o título da caixa de diálogo. - O restante é o texto apresentado na caixa de diálogo. Deve ser recuado com um único espaço.
- Os modelos são separados por linhas vazias (por exemplo,
\n\n
)
Para mais informações, consulte a documentação especificação do debconf do Debian e o seção Referência do desenvolvedor 6.5 .