CHKCONFIG / UPDATE-RC.D / UPSTART

Nesta vídeo aula de 47 minutos explico como utilizar os gerenciadores de runlevels, chkconfig (normalmente utilizado nas distribuições baseadas no RedHat), update-rc.d (utilizada na maioria das distribuições, principalmente as baseadas no Debian), e o upstart que tem assustado a maioria dos usuários quando pensam em alterar o nível de algum serviço para ser inicializado durante o boot do sistema. Esta é a única vídeo aula da internet que aborda com clareza e objetividade este assunto tão complexo para alguns, garanto que após assisti-lá nunca mais ficará em dúvida. Além da vídeo aula, coloquei um material em texto explicitamente detalhado, caso tenha alguma dúvida, sugestão ou crítica, pode entrar em contato que terei imenso prazer em responder. Para a criação desta vídeo aula utilizei as seguintes ferramentas: Virtualbox (Máquina Virtual), CentOs (Sistema operacional baseado na distribuição RedHat), Ubuntu Server (Versão servidor do Ubuntu), Kdenlive (edição do vídeo), Ffmpeg (Conversão do vídeo), Gimp e Photofilmstrip (Editor de imagens e Gerador de Slides para a criação da vinheta).

--------------------------------

CENTOS - System V

NÍVEIS

*** ID - Init Default - Definimos o nível de execução padrão durante a inicialização do sistema

vi /etc/inittab

id:0:initdefault: - Use somente para teste, observe que o sistema será desligado, ou seja, fica nesse loop constante (normalmente utilizado com o init 0 na linha de comando)

id:1:initdefault: - Single mode

id:2:initdefault: - Modo texto, não tem suporte a compartilhamento de arquivos

id:3:initdefault: - Modo texto padrão, usado em servidores, full, com todos os serviços

id:4:initdefault: - Modo personalizado (não é usado normalmente)

id:5:initdefault: - Essa é a opção padrão para inicializar o ambiente gráfico ou X

id:6:initdefault: - Fica reiniciando se você deixar por padrão (Usado com init 6 na linha de comando)

*** System Initialization

si::sysinit:/etc/rc.d/rc.sysinit

#################################################

CHKCONFIG

LISTAGEM GERAL

chkconfig --list

LISTAR SSH

chkconfig --list sshd

MUDAR NÍVEL

chkconfig --level 5 sshd off

DEIXAR TUDO OFF

chkconfig --level 2345 sshd off

DEIXAR OS NÍVEIS 2345 ON

chkconfig --level 2345 sshd on

ARQUIVOS

inittab

rc.sysinit

rc.local

rc

DIRETÓRIOS

rc.d

/etc/rc.d/init.d

rc.serial

/etc/init.d - Debian/Ubuntu

COMANDOS INIT

init 0

init 1

init 2

init 3

init 4

init 5

init 6

DESLIGAR

init 0 = shutdown -h now / halt -p / poweroff

REBOOT

init 6 = shutdown -r now / reboot

SINGLE MODE

init 1

/sbin/init 1

DESATIVAR TTY 1 2 3 4 5 6

#1:2345:respawn:/sbin/mingetty tty1

Basta colocar comentário nos outros

Defina o nível 05 X11, quando teclar CTRL+ALT+F1 não funcionará

#################################################

UPDATE-RC.D - UBUNTU SERVER

USO

/etc/init.d/apache start - Iniciar Serviço

/etc/init.d/apache stop - Parar serviço

/etc/init.d/apache restart - Reiniciar serviço

/etc/init.d/apache reload - - Recarregar (Não para o serviço)

/etc/init.d/apache force-reload - Força a recarga do serviço

GERENCIAR NÍVEIS DE EXECUÇÃO DE SCRIPTS

apt-get install ssh

Diretório de serviços que serão inicializados/parados

cd /etc/init.d

GERENCIAMENTO DOS SERVIÇOS

update-rc.d -f kdm remove

update-rc.d kdm start 99 2 . stop 99 0 1 3 4 5 6 .

ALTERAÇÃO DO NÍVEL DE INICIALIZAÇÃO

vi ../inittab

vi /etc/init.d/inittab

Reiniciar o sistema

init 6

Diretório dos níveis de execuções de serviços

cd /etc/

ls rc*

ls rc0.d/

ls rc1.d/

ls rc2.d/

ls rc3.d/

ls rc4.d/

ls rc5.d/

ls rc6.d/

VERIFICAR

ls /etc/rc0.d/|grep ssh

NA PRÁTICA

apt-get install apache2

vi /etc/init/rc-sysinit.conf

Runlevel 3

cd /etc/init.d

update-rc.d -f apache2 remove

update-rc.d apache2 start 99 2 . stop 99 0 1 3 4 5 6 .

reboot

/etc/init.d/apache2 status

vi /etc/init/rc-sysinit.conf

reboot

Posso usar também o padrão

update-rc.d apache2 defaults

/etc/rc0.d/K

/etc/rc1.d/K

/etc/rc6.d/K

/etc/rc2.d/S

/etc/rc3.d/S

/etc/rc4.d/S

/etc/rc5.d/S

Ou seja, nos níveis 0,1 e 6 não será inicializado o apache2

#################################################

UPSTART AO EXTREMO - UBUNTU SERVER

Upstart é o substituto do tradicional sistema de incialização de scripts System-V

INICIAR TTY4

start tty4

tecle CTL+ALT+F4

LISTAR TRABALHOS

initctl list

SCRIPT ESCUDO

cd /etc/init

vi firewall.conf

desctiption "Firewall Treinalinux"

start on runlevel [3]

stop on runlevel [012456]

pre-start exec /etc/init.d/escudo start

post-stop exec /etc/init.d/escudo stop

Teclar ESC :x para gravar e sair do arquivo

cd /etc/init.d

vi escudo

case "$1" in

start)

echo "Iniciando Firewall"

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

;;

stop)

echo "CUIDADO SUA MAQUINA ESTA SEM FIREWALL - ATENCAO!!!..."

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

;;

*)

echo "Digite start ou stop para ativar/desativar"

exit 1

;;

esac

ESC:x

Dar permissão para o arquivo

chmod +x escudo

INICIAR O SCRIPT PELO UPSTART

start firewall

initctl status firewall

stop firewall

CONFERIR RUNLEVEL

runlevel

N 2

REINICIAR

initctl status firewall

Observe que está parado

ALTERAR RUNLEVEL

vi /etc/init/rc-sysinit.conf

1

reboot

runlevel

initctl status firewall

ou

status firewall

iptables -L

RUNLEVEL / STARTUP / STARTED / STOPED

start on runlevel [023456]

stop on runlevel [!023456]

start on startup

stop on startup

start on stopped rcS

start on started tty1

TELINIT

Muda o rulevel direto pela linha de comando

telinit 2

runlevel

Aparece 3 2

reboot