Eu preciso criar um pacote deb que criará um diretório para logs. Eu quero criar um diretório /var/logs/my_package
e mudar seu proprietário my_user
.
Nos documentos, há informações que posso criar arquivo debian/dir
. Mas há informações de que essa não é a melhor maneira de fazer isso. E não há informações sobre como mudar o proprietário do diretório (estou pensando em colocar o comando chown my_user.my_user /var/logs/my_package
no debian/postinst
arquivo).
Qual é a maneira recomendada de criar um diretório com o pacote deb?
permissions
package-management
directory
deb
chown
bessarabov
fonte
fonte
Respostas:
Você estava certo, você precisa de um
debian/my_package.postint
arquivo para executar essa operação:Nota : O script verifica se o usuário existe antes de chamar
chown
.fonte
This generally means there is a problem with the Makefile.
que entendi esta mensagem de que existe outra maneira de fazer isso. E eu quero descobrir qual é a maneira recomendada de fazer essa tarefa.debian/rules
qual estão osMakefile
pacotes debian. Como não conhecia o seudebian/rules
, preferi propor uma solução com base em um único arquivo. Mas ochown
comando deve ser um processo de pós-instalação. debian / dirs deve ser evitado, mas minha resposta inicial está perfeitamente correta. Por favor vote e aceite, obrigado.Você não precisa criar um
postinst
script, mas a solução ainda é um pouco complicada. Eu usodh
curinga emdebian/rules
:que faz todo o material necessário. Mas preciso substituir a propriedade de algum diretório (vamos chamá-lo de dados). Portanto, devo fazer alguma exceção, uso diretiva especial (este é um exemplo):
O diretório de dados não precisa estar no arquivo * .dirs. Mas ainda há um truque. O Debhelper contém o script dh_fixperms, que consertaria a propriedade de volta ao root, portanto, precisamos substituir também:
Isso é tudo. Lembre-se de que o diretório de dados não conta como um conffile; portanto, ele será removido na remoção do pacote. Se você precisa torná-lo um conffile, é outra história.
fonte