Nesse artigo veremos como utilizar o start-stop-daemon, um utilitário do Debian para controle de processos, no Slackware, permitindo que utilizemos os scripts de inicialização de serviços para Debian no Slackware.
O start-stop-daemon faz parte do pacote dpkg do Debian. Você pode visualizar os detalhes desse pacote na seção de pacotes do Debian[1]. Faça o download da última versão do dpkg na sua página correspondente no Debian[2]. Para esse texto, consideraremos a versão 1.10.28, que você pode baixar diretamente no link a seguir:
Após fazer o download do arquivo, é hora de compilar o start-stop-daemon. Siga os procedimentos (considerando que o nome do arquivo é dpkg_1.10.28.tar.gz):
$ tar zxf dpkg_1.10.28.tar.gz
$ cd dpkg-1.10.28/
$ ./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--with-start-stop-daemon \
--with-gnu-ld \
--with-zlib \
--with-bz2lib
$ make
Espere a compilação. Pode ser que o processo não seja concluído por falta de algumas bibliotecas do Debian. Caso isso aconteça, apenas verifique se foi criado o executável start-stop-daemon com o seguinte comando:
$ test -x utils/start-stop-daemon && echo Beleza
Beleza
Se aparecer escrito "Beleza" no seu prompt, continue com a instalação:
Instalando e testando
$ cd utils/
$ su
password: # cp start-stop-daemon /sbin
Pronto. Para fazer o teste do funcionamento, baixe um script de inicialização do Debian e tente executá-lo. Eu utilizei o script de inicialização do Squid. Apenas baixe o pacote Debian correspondente[3], abra-o com um utilitário de manipulação de pacotes compactados, como o Ark ou o File Roller, abra o arquivo data.tar.gz dentro do pacote, navegue pelo diretório etc/init.d/ e extraia o arquivo de inicialização para algum local. No meu caso, extrai para o diretório ~/tmp/, e fiz o teste do script, pedindo para o Squid ser reiniciado:
$ cd ~/tmp
$ su
password: # ./squid restart
# ./squid stop
# ./squid start
Caso tudo funcione, basta copiar o script de inicialização para o /etc/rc.d/, modificando o nome do arquivo para o padrão do Slackware, que é "rc.[processo]":
[3] Comentário enviado por gnomo_dead em 11/04/2006 - 08:39h
Parabens pelo artigo, muito bem estruturado simples e direto ;)
Mas particularmente nao gosto de misturar as coisas hehe, se eu quisesse coisas do debian eu usuaria o debian, mas jah q uso slack, faço tudo a moda slack mesmo =)
[5] Comentário enviado por davidsonpaulo em 12/04/2006 - 19:33h
gnomo_dead,
Valeu. Mas devo dizer que discordo de sua opinião. Nós que defendemos o uso do Software Livre devemos lembrar que o principal objetivo da liberdade de software é exatamente que os recursos de um possam ser utilizados em outro livremente.
A principal vantagem de usar Slackware é que, nessa distribuição, nós podemos fazer as coisas exatamente do jeito que queremos, incluindo aí usar scripts de inicialização de outras distros, desde que devidamente adaptados, o que vai economizar trabalho. Lembre-se: ter o sistema sob total controle não significa obrigatoriedade de fazer as coisas do jeito mais difícil.
A propósito, para quem quiser instalar o start-stop-daemon, eu fiz um pacote para Slackware que pode ser baixado em http://www.apareci.com/packageit/i386. Quem quiser testar pode também baixar o pacote para Squid que utiliza o start-stop-daemon no seu rc.squid. Baixe-o em http://www.apareci.com/packageit/i686.
[9] Comentário enviado por davidsonpaulo em 17/04/2006 - 11:11h
jllitvay,
No Slackware "normal" você pode rodar /etc/rc.d/rc.nfsd stop (por ser start ou restart) porque o script rc.nfsd existe! O rc.squid não existe, e você vai precisar fazer um ou pegar pronto de algum lugar (eu particularmente prefiro pegar pronto). Você só vai precisar do start-stop-daemon se quiser pegar o script (para o Squid, por exemplo) do Debian e rodar no Slackware. Se o seu Slackware já tem um script para o rc.samba, por exemplo, e está funcionando perfeitamente, pra que você vai pegar scripts de outras distros? Essa dica só vale para aqueles serviços que NÃO possuem script rc.* correspondente no Slackware.
Vale lembrar que nem todos os scripts do Debian usam o start-stop-daemon, de modo que vários deles podem ser utilizados no Slackware sem precisar instalar esse utilitário.
A dica também vale para outras distros. Nada impede que usem um script de inicialização do Fedora, por exemplo, mas daí eu já não sei que dependências haveriam para o correto funcionamento dos scripts.