Aciona ações automaticamente quando o pacote é instalado ou o usuário é adicionado

1

Ao instalar o mysql-server no Debian Wheezy, o usuário "mysql" é criado sem um diretório inicial. Na minha configuração, logo após o MySQL ser instalado, uma nova tarefa é executada e depende do usuário mysql ter o / var / lib / mysql como o diretório inicial.

No momento, esta tarefa falha. Eu tenho que ajustar o usuário mysql e re-executar minha tarefa novamente. Então, o que eu estou procurando é um método embutido no Debian que me permite "pré-configurar" o diretório home do usuário mysql (que é criado por um dos pacotes mysql) ou criar um trigger que reaja ao evento do mysql. -server sendo instalado (ou o usuário mysql sendo criado, eu não me importo).

Eu sei que eu poderia modificar o pacote mysql ou envolver a instalação do mysql em algum tipo de script ou manifesto de fantoche; no entanto, coisas como essa não são adequadas para minha configuração. Eu preciso de um método Debian limpo para fazer isso.

Existe algo existente que pode ser acionado na instalação do pacote ou na criação do usuário? Pensei em assistir arquivos mysql via inotify como uma solução alternativa; no entanto, acho que inotify seria demais para o meu probleminha aqui.

Atualmente estou vendo os dpkg-triggers, mas não tenho certeza se esta é a solução correta.

    
por Valentin 03.04.2014 / 23:00

1 resposta

2

Você pode criar o usuário mysql antes da instalação do pacote. Se você olhar o script preinst do pacote, isso não quebrará nada:

# creating mysql user if he isn't already there
if ! getent passwd mysql >/dev/null; then
    # Adding system user: mysql.
    adduser \
        --system \
        --disabled-login \
        --ingroup mysql \
        --no-create-home \
        --home /nonexistent \
        --gecos "MySQL Server" \
        --shell /bin/false \
        mysql  >/dev/null
fi

link

    
por 04.04.2014 / 20:03