<para>Bem-vindo ao Editor de Init System V do &kde;, normalmente conhecido (e referenciado daqui em diante) por &ksysv;. Esta secção introduz alguns conceitos e explica o que poderá fazer com o &ksysv;. </para>
<title>Uma Breve Descrição do Init do System V</title>
<para>A explicação que se segue é <quote>copiada</quote> do <application>tksysv</application> (uma inspiração para o &ksysv;): </para>
<para>O 'init' do System V está a tornar-se a norma do mundo do &Linux; para controlar a inicialização do 'software' no arranque. Isto porque é mais fácil de usar e mais poderoso e flexível que o 'init' tradicional do <acronym>BSD</acronym>. </para>
<para>Não se entrará na história aqui (principalmente porque o autor não a conhece :-). </para>
<para>O executável 'init' está localizado em <filename class="directory">/sbin</filename> e não em <filename class="directory">/etc</filename>. Isto é importante, porque o utilizador pode tentar actualizar uma máquina para o 'init' do System V sem reinstalar e formatar de novo. O 'kernel' do &Linux; procura o 'init' em <filename class="directory">/etc</filename> primeiro; por isso, o utilizador terá que confirmar e retirar o 'init' antigo, se lá estiver algum. </para>
<para>O 'init' do SysV também difere do 'init' do <acronym>BSD</acronym>, na medida em que os ficheiros de configuração estão numa subpasta de <filename class="directory">/etc</filename>, em vez de residir directamente nesta pasta. A tal subpasta chama-se <filename class="directory">rc.d</filename>. Nela, o utilizador irá encontrar o <filename>rc.sysinit</filename> e as seguintes pastas: </para>
<para>A <filename class="directory">init.d</filename> contém um conjunto de 'scripts' ou programas. Basicamente, o utilizador precisa de um programa por cada serviço que precise de iniciar no arranque ou quando entrar noutro nível de execução ('runlevel'). Os serviços incluem coisas como a rede, o <acronym>NFS</acronym>, o &Sendmail;, o httpd, etc. Os serviços não incluem coisas como o <command>setserial</command>, que só precisa ser corrido uma vez e depois sai. Esse tipo de coisas deve ir para o ficheiro <filename>rc.local</filename>. </para>
<para>O <filename>rc.local</filename> deve estar em <filename class="directory">/etc/rc.d</filename>, se pretender ter um. A maioria dos sistemas inclui um, mesmo que não faça muita coisa. Também poderá inserir um ficheiro <filename>rc.serial</filename> em <filename class="directory">/etc/rc.d</filename>, se precisar de fazer algo relacionado com as portas série no arranque. </para>
<para>O nível de execução predefinido é escolhido no <filename>/etc/inittab</filename>. Deverá ter uma linha no topo do tipo: </para>
<screen>id:3:initdefault:</screen>
<para>A partir daqui, deverá ver a segunda coluna e ver que o nível de execução por omissão é o 3, como costuma ser na maioria dos sistemas. Se o quiser mudar, poderá editar o <filename>/etc/inittab</filename> à mão e mudar o 3. Cuidado ao mexer no 'inittab'. Se o corromper, podê-lo-á corrigir, reinicializando o sistema e escrevendo: </para>
<para>Isto <emphasis>deve</emphasis> permitir-te arranque no modo mono-utilizador de modo a que possas corrigir o problema. </para>
<para>Agora, como é que ele corre os programas correctos? Se escrever <userinput><command>ls</command> <option>-l</option></userinput> em <filename class="directory">rc3.d</filename>, poderá ver algo do género: </para>
<para>O que irá reparar é que não existem ficheiros reais na pasta. Tudo o que existe são ligações para os programas na pasta <filename class="directory">init.d</filename>. </para>
<para>As ligações também têm um <literal>S</literal> e um número no início. O <literal>S</literal> significa que o programa deve ser iniciado e um <literal>K</literal> significa que deve ser parado. O número é simplesmente para fins de ordenação. O 'init' irá iniciar todos os serviços, baseando-se na ordem em que eles aparecem. Poderá duplicar os números, mas isso só lhe trará confusão de algum modo. Só precisa de um número de dois algarismos, em conjunto com um <literal>S</literal> ou um <literal>K</literal> maiúsculos, para iniciar ou interromper os serviços que precisa. </para>
<para>Como é que ele inicia e termina os serviços? Simples. Cada um dos programas é feito de maneira a aceitar um argumento que pode ser <option>start</option> e <option>stop</option>. De facto, poderá executar esses programas manualmente, com um comando do estilo: </para>
<para>Para parar o servidor 'httpd'. O 'init' simplesmente lê o nome e se tiver um <literal>K</literal>, ele invoca o programa com o argumento <option>stop</option>. Se tiver um <option>S</option> ele invoca o mesmo programa com o argumento <option>start</option>. </para>
<title>Porquê Todos Estes Níveis de Execução ?</title>
<para>Algumas pessoas querem uma maneira fácil de configurar as máquinas para serem multi-usos. Eu posso ter um nível de execução <quote>servidor</quote> que corre o httpd, o 'sendmail', a rede, etc. Também poderei ter um <quote>utilizador</quote>, que corre o <application>tdm</application>, a rede, etc. </para>
<para>Aqui, o utilizador aprende como usar o &ksysv;, o que não deve ser complicado, dado que foi desenhado para ser tão amigável quanto possível. </para>
<para>A utilização do &ksysv; com um rato ou outro dispositivo do género é simples: basta você arrastar um dos elementos da área <guilabel>Serviços Disponíveis</guilabel> para um dos seis níveis de execução para o iniciar (ou terminar, respectivamente) nesse nível. </para>
<para>Também poderá mover os programas entre níveis de execução ou mudar a posição num dado nível, arrastando-os pela interface. O que faz é remover o elemento da sua posição (ou nível de execução) original. Isto não acontece quando arrastar um elemento da área <guilabel>Serviços Disponíveis</guilabel>. </para>
<para>Os elementos são movidos quando os arrastar para uma nova área. Para o utilizador copiar um serviço para um nível de execução diferente, terá de seleccionar <guimenuitem>Copiar</guimenuitem> do menu da aplicação <guimenu>Editar</guimenu> ou do menu de contexto e <guimenuitem>Colar</guimenuitem> no nível de execução de destino. </para>
<para>O <quote>número de ordem</quote> dum elemento às vezes pode não ser calculável. Neste caso, terá de editar os números de ordem dos elementos envolventes antes de tentar inserir de novo o serviço. </para>
<para>Você poderá apagar elementos, se os arrastar para a área do <guiicon>Caixote do Lixo</guiicon> (simbolizada por um ícone que representa um caixote do lixo). </para>
<para>De momento <emphasis>não</emphasis> existe maneira de recuperar os itens arrastados para o <guiicon>Caixote do Lixo</guiicon>, por isso tenha cuidado! </para>
<para>Poderá usar a tecla <keycap>Tab</keycap> para mudar de painel para painel (<guilabel>Serviços Disponíveis</guilabel>, <guilabel>Runlevel 1 Iniciar</guilabel>, <guilabel>Runlevel 1 Parar</guilabel>, etc.) e as teclas dos cursores para mover a selecção para cima e para baixo. </para>
<para>Para mover um elemento para um 'runlevel' diferente, execute <guimenuitem>Cortar</guimenuitem> sobre ele para a área de transferência (através de <keycombo action="simul">&Ctrl; <keycap>X</keycap></keycombo> e depois <guimenuitem>Colar</guimenuitem> no 'runlevel' de destino (com <keycombo action="simul">&Ctrl; <keycap>V</keycap></keycombo>). </para>
<para>Para mudar manualmente o número de ordem ou o nome dum elemento, carregue em <keycap>Enter</keycap> para abrir a janela de propriedades. Utilize a tecla <keycap>Tab</keycap> para alternar pelos diferentes campos. Feche a janela, carregando em <keycap>Enter</keycap>, para aceitar as modificações ou em <keycap>Esc</keycap> para as cancelar. </para>
<para>Por causa do perigo de perda de dados, todas as opções do menu <guimenu>Ficheiro</guimenu> pedem uma confirmação antes de realizarem a sua tarefa. </para>
<para><action>Torna as suas alterações permanentes.</action>A gravação não gera nenhumas cópias de segurança, por isso use esta opção com cuidado. </para>
<para>Todas as opções são gravadas no <filename>$<envar>TDEHOME</envar>/.trinity/share/config/ksysvrc</filename>. As predefinições são obtidas a partir do ficheiro global (<filename>$<envar>TDEDIR</envar>/share/config/ksysvrc</filename>), se disponíveis, ou são geradas dentro do &ksysv;. As alterações às predefinições são gravadas no seu <filename>ksysvrc</filename> local. </para>
<para>Escreva <userinput>linux single</userinput> na linha de comandos do <acronym>LILO</acronym> e carregue em <keycap>Enter</keycap> para arrancar no modo mono-utilizador. Edite o ficheiro <filename>/etc/inittab</filename> e altere o nível de execução por omissão para um valor seguro. O <literal>3</literal> resulta normalmente. </para>
<para>Se estiver a usar distribuições como a da SuSE ou a Delix (DLD), também terá de alterar um ficheiro específico da distribuição na pasta <filename class="directory">/etc</filename>. Dê uma vista de olhos no manual da sua distribuição para mais detalhes. </para>
<para>A aproximação de inicialização de serviços usada pelas distribuições acima citadas torna mais fácil a configuração de serviços para as ferramentas de configuração proprietárias que estas distribuições contêm, mas infelizmente não é um comportamento-padrão. Os autores do &ksysv; planeiam escrever uma extensão genérica para esta aproximação no futuro, mas não fique para já na expectativa. </para>
<para>Se estiver a usar uma distribuição diferente, verifique se tem todos os ficheiros de configuração necessários pelo serviço, e se estão nos locais correctos. Alguns servidores, como por exemplo o <application>Apache</application> (também conhecido por <command>httpd</command>), simplesmente terminam sem dizer nada se os seus ficheiros de configuração não existirem ou estiverem mal configurados. </para>
<para>Estes variam de distribuição para distribuição, por isso esta é uma lista incompleta das distribuições comuns de &Linux;. Se tiver distribuições adicionais, envie por e-mail ao autor a informação adicional para que possa ser referida neste manual. </para>