Posso construir um pacote rpm que possua um arquivo que não pode ser instalado?

Posso construir um pacote rpm que possua um arquivo que não pode ser instalado?

Tenho uma situação em que preciso criar um arquivo de configuração preenchido com valores padrão na inicialização do meu aplicativo. Este não é um arquivo de configuração típico onde nos preocupamos profundamente com quaisquer modificações feitas pelos usuários. Durante a atualização, quero simplesmente remover o arquivo de configuração para que o novo código seja inicializado e recrie automaticamente o arquivo de configuração com os padrões novamente (não é minha decisão - apenas seguindo os pedidos com relutância).

Existe uma maneira de construir um pacote rpm que possui um arquivo que não é instalado para que, durante a desinstalação, ele remova esse arquivo?

Eu sei que sempre posso adicionar um scriptlet de pré-remoção que remove o arquivo - eu só queria saber se posso fazer com que o rpm faça isso automaticamente para mim.

Responder1

Você pode fazer isso usando a %ghostdiretiva:

%files
%ghost /path/to/future.file

dedocumentação:

A diretiva %fantasma

Como mencionamos na seção chamada Lista %files, se um arquivo for especificado na lista %files, esse arquivo será automaticamente incluído no pacote. Há momentos em que um arquivo deveria pertencer ao pacote, mas não ser instalado - arquivos de log e arquivos de estado são bons exemplos de casos em que você pode desejar que isso aconteça.

Responder2

Não, não é possível.

Aliás: RPM serve para entregar aplicativos e biblioteca. Para gerenciamento de configuração, você deve usar Ansible.

informação relacionada