Existem algumas maneiras de resolver esse problema, mas, creio eu, todas elas se resumem à mesma coisa.
A maneira "Crude / Bare metal" de fazer isto - Dê uma olhada em / etc (idealmente como root), e você encontrará um número de diretórios rcX.d assim como um diretório "init.d". / p>
Se você olhar em um dos diretórios rcX.d, verá que ele está cheio de arquivos que são ligados simbolicamente a /etc/init.d/filename. O "S" no início do arquivo significa "start". O número que vem a seguir indica que os arquivos de pedidos devem ser executados.
Quando o sistema operacional inicia / altera o nível de execução, ele executa todo o arquivo para esse nível de execução, ou seja, para o nível de execução 2 será executado /etc/rc2.d/S* - Se o arquivo não estiver linkado, não será iniciado quando o nível de execução é iniciado. Para verificar o nível de execução atual, você pode digitar "runlevel", que retornará o nível de execução atualmente em execução.
Você provavelmente está interessado nos runlevels 2-5 - você pode encontrar uma lista dos runlevels aqui
Se você quiser adicionar um programa ao nível de execução apropriado, basta criar o link simbólico apropriado. A maneira que eu prefiro fazê-lo, porém, é instalar o "chkconfig". Eu não sei se isso é uma versão do script Redhat (sintaxe não é compatível, mas muito perto) - mas esse comando permitirá que você visualize e altere quais programas funcionam em runlevels.
chkconfig -l Irá mostrar todos os programas e seus runlevels, e chkconfig -l progname mostrará runlevels habilitados para um determinado programa.
Para fazer um programa rodar em um runlevel em particular (ou múltiplos runlevels) você pode usar o chkconfig progname Runlevels, ex. chkconfig sshd 2345 irá garantir que o sshd rode quando você entrar no nível de execução 2,3,4 ou 5.