Quero ter certeza de em que ordem os serviços são iniciados durante o processo de inicialização nos sistemas baseados no Debian (Debian Squeeze em particular).
Desde já, obrigado.
Quero ter certeza de em que ordem os serviços são iniciados durante o processo de inicialização nos sistemas baseados no Debian (Debian Squeeze em particular).
Desde já, obrigado.
Respostas:
Em resumo:
ls /etc/rc*.d
Isso mostra o que começa em qual nível de execução e, em cada nível, a ordem é determinada pelo número após a letra (K é Kill, S é iniciado).
Você pode configurar o que é iniciado em cada nível de execução com sysv-rc-conf, que é instalável com o apt.
por exemplo, no meu sistema, o apache2 está vinculado em rc5.d como "S20apache2". Um link no mesmo diretório com o S19 seria iniciado antes dele, algo com o S21 seria iniciado depois dele.
Leitura adicional:
Os utilitários rcconf e sysv-rc-conf ajudariam?
# aptitude install rcconf sysv-rc-conf
Depois, você pode executá-los digitando rcconf
ou sysv-rc-conf
.
Você pode listar todos os serviços e seus status com este comando simples:
service --status-all
Do manual:
service --status-all executa todos os scripts init, em ordem alfabética, com o comando status . O status é [+] para serviços em execução, [-] para serviços interrompidos e [? ] para serviços sem um comando 'status'. Esta opção chama apenas o status para trabalhos sysvinit; trabalhos iniciados podem ser consultados de maneira semelhante com a lista initctl.
for i in `find /etc/rc*.d -name S*`; do basename $i | sed -r 's/^S[0-9]+//'; done | sort | uniq
Sample output:
acpid
anacron
avahi-daemon
boa
bootlogd
bootlogs
bootmisc.sh
checkfs.sh
checkroot-bootclean.sh
checkroot.sh
cryptdisks
cryptdisks-early
dbus
delayed-services
hostname.sh
hwclock.sh
keyboard-setup
killprocs
kmod
lightdm
mountall-bootclean.sh
mountall.sh
mountdevsubfs.sh
mountkernfs.sh
mountnfs-bootclean.sh
mountnfs.sh
mtab.sh
pppd-dns
procps
qemu-kvm
rc.local
rmnologin
rsyslog
single
sleep
stop-bootlogd
stop-bootlogd-single
udev
udev-mtab
x11-common