Alterar serviço linux para iniciar no namespace na inicialização, em vez de apenas iniciar o normal

1

É possível dizer a um aplicativo para iniciar em um namespace de rede na inicialização, em vez de apenas iniciar o normal? Estou executando o daemon de transmissão no Ubuntu 14.04 LTS. Ele inicializa na inicialização, o que é ótimo, eu só preciso que ele inicie em um namespace. Eu tenho meu namespace sendo criado usando pre-up no arquivo / etc / network / interfaces. Parece que a maneira mais eficiente seria apenas alterar o que já está fazendo o serviço para iniciar a inicialização, mas posso estar errado.

    
por David Custer 12.05.2015 / 06:59

1 resposta

0

A parte "start on boot":

Escreva uma configuração do serviço Upstart e coloque-a em /etc/init . O livro de receitas tem exemplos. Como alternativa, modifique o transmission.conf existente, se houver um.

Para versões futuras do Ubuntu (15.04 e posteriores), você precisará usar o systemd. Escreva um transmission.service e coloque em /etc/systemd/system .

A parte "… em um netns":

Verificando o livro de receitas do Upstart , não há configurações relacionadas (além de um simples chroot). A maioria dos scripts de inicialização do Upstart na verdade ainda dependem de ferramentas externas para tais tarefas, então ip netns é bom.

O mesmo se aplica atualmente ao systemd. Embora tenha JoinsNamespaceOf = , você só pode especificar outra unidade de serviço e ainda não é um namespace nomeado.

    
por 12.05.2015 / 07:46