| Níveis de Execução |
|
|
|
| Escrito por Rubens Queiroz de Almeida |
| Sáb, 22 de Janeiro de 2011 02:40 |
|
Sistemas Linux podem funcionar em vários níveis distintos de execução. Cada nível é caracterizado pelo conjunto de processos permanentes e funções oferecidas. Sistemas Red Hat Linux e derivados, utilizam seis níveis de execução, ou runlevels, como são mais conhecidos. Esta concepção tem suas origens no sistema Unix desenvolvido na AT&T (System V Unix). atd gpm keytable mars-nwe nfslock rstatd single sshd Uma rápida inspeção nos revela vários serviços conhecidos como sendmail, httpd e named. Cada nível de execução é controlado através de links simbólicos existentes nos seis diretórios (/etc/rc.d/rc1.d até /etc/rc.d/rc6.d). Examinemos o conteúdo do diretório /etc/rc1.d: # ls -l Como se pode ver, todo o conteúdo do diretório /etc/rc1.d consiste de links simbólicos apontando para scripts dentro do diretório /etc/rc.d/init.d. A primeira letra dos nomes dos links simbólicos pode ser ou "S" ou "K", indicando se o processo para o qual aponta deve ser ativado (Started) ou desativado (Killed). O número que se segue a esta letra indica a ordem em que os processos devem ser encerrados ou ativados. Em nosso exemplo o primeiro processo a ser desativado é o linuxconf. O primeiro a ser ativado, após terem sido encerrados todos os demais processos, é o script single. Cada um dos scripts residentes no diretório /etc/rc.d/init.d aceita geralmente três parâmetros: start, stop, restart. Estes parâmetros indicam, respectivamente, a ativação, desativação e desativação seguida de ativação do processo. Para determinar o nível de execução em que seu sistema está funcionando, utilize o comando /sbin/runlevel. Este comando irá consultar o arquivo/var/run/utmp para determinar o estado atual e o anterior.
Caso o estado anterior não possa ser determinado é exibida a letra "N" em seu lugar: # /sbin/runlevel 1. Descrição dos Níveis de Execução A seguir listamos os estados possíveis de um sistema Linux e sua descrição: 1.1. Nível 0 Neste nível o sistema está parado 1.2. Nível 1 Sistemas funcionando no nível 1 estão em modo monousuário, com um conjunto mínimo de processos ativos. O sistema de arquivos raiz (root) está montado em modo de leitura. Este nível de execução é normalmente utilizado quando a inicialização normal falha por alguma razão. 1.3. Nível 2 A maior parte dos serviços estão ativos, com exceção dos processos de rede (como nfs, nis, named e httpd). 1.4. Nível 3 Este é o nível normal de operação, com todos os processos ativos. 1.5. Nível 4 Este nível não é utilizado na maior parte das distribuições 1.6. Nível 5 Semelhante ao nível 3, com todos os processo ativos, porém com uma interface gráfica de logon 1.7. Nível 6 É executado neste nível um reboot do sistema.
init 6 Veja a lista dos links em /etc/rc.d/rc6.d:
K00linuxconf Como se pode ver, a maioria dos links inicia-se com a letra "K", indicando que os processos serão desativados. Apenas um link inicia-se por "S", S00reboot, que aponta para o script /etc/init.d/halt. Similarmente, para colocar o sistema em modo monousuário init 1 3. Nível de Execução Padrão O nível em que o sistema irá funcionar é indicado pela entrada id:3:initdefault: do arquivo /etc/inittab. Neste sistema o nível padrão de execução é 3. Para alterar este nível de execução basta alterar o número "3" para o valor desejado. Nunca altere este valor para "0" ou "6", que indicam, respectivamente, o sistema parado ou em modo de encerramento.
# cd /etc/rc.d/rc3.d Este script realmente existe e é normalmente utilizado para inserir os serviços locais. Pela numeração (99), este script sempre será o último a ser ativado. Importante, certifique-se de escolher uma numeração que posicione a ativação do script na ordem correta. Se o serviço é dependente do funcionamento da rede ele deve necessariamente ser ativado após estes serviços estarem ativos.
# cd /etc/rc.d/init.d Em nosso exemplo nos dirigimos ao diretório onde ficam todos os scripts de ativação de processos e invocamos o script httpd com o parâmetro "restart". Um artifício engenhoso para realizar esta tarefa nos é fornecido, através de um alias, em sistemas Conectiva Linux. Este alias, disponível no ambiente do usuário root, chama-se cds: alias cds='cd /etc/rc.d/init.d && ls' Como podemos ver, o alias realiza dois passos: a mudança para o diretório /etc/rc.d/init.d e a listagem de seu conteúdo. Desta forma podemos visualizar o nome de todos os scripts disponíveis, facilitando a invocação do script apropriado. Simples, mas extremamente útil. |
| Última atualização em Sáb, 22 de Janeiro de 2011 13:41 |


