<para>Bem-vindo ao Editor de Init System V do &kde;, normalmente conhecido (e referenciado daqui em diante) por &ksysv;. Esta seção introduz alguns conceitos e explica o que você pode 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á tornando-se o padrão do mundo do &Linux; para controlar a inicialização de software na inicialização. 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 viajarei pela história aqui (principalmente porque não a conheço :-). </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 usuário pode tentar atualizar uma máquina para o init do System V sem reinstalar e reformatar. O kernel do &Linux; procura o init em <filename class="directory">/etc</filename> primeiro, por isso você deve certificar-se de retirar o init antigo, se lá existir algum. </para>
<para>O init do SysV também difere do init do <acronym>BSD</acronym> na medida em que os arquivos de configuração estão numa sub-pasta de <filename class="directory">/etc</filename> em vez de residir diretamente nesta pasta. Esta sub-pasta chama-se <filename class="directory">rc.d</filename>. Nela, o usuário 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. Basicamente, você precisa de um script por cada serviço que precise iniciar na inicialização da máquina ou quando entra em outro nível de execução. 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 executado uma vez e depois se encerra. Esse tipo de coisa deve ir para o arquivo <filename>rc.local</filename>. </para>
<para>O <filename>rc.local</filename> deve estar em <filename class="directory">/etc/rc.d</filename> se deseja ter um. A maioria dos sistemas inclui um mesmo que não faça muita coisa. Você pode também inserir um arquivo <filename>rc.serial</filename> em <filename class="directory">/etc/rc.d</filename> se precisar fazer algo relacionado com as portas seriais na inicialização. </para>
<para>O nível de execução padrão é escolhido no <filename>/etc/inittab</filename>. Você deve ter uma linha no topo do tipo: </para>
<screen>id:3:initdefault:</screen>
<para>A partir dela você deve ver a segunda coluna e ver que o nível de execução padrão é o 3, como costuma ser na maioria dos sistemas. Se quiser mudá-lo, você pode editar o <filename>/etc/inittab</filename> manualmente e mudar o 3. Cuidado ao mexer no inittab. Se corrompê-lo, você pode corrigí-lo reinicializando o sistema e digitando: </para>
<para>Isto <emphasis>deve</emphasis> permitir-lhe inicializar no modo mono-usuário de modo a que possa corrigir o problema. </para>
<para>Agora, como ele executa os scripts corretos? Se você digitar <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 você irá reparar é que não existem arquivos reais na pasta. Tudo o que existe são ligações para os scripts 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 script deve ser iniciado e um <literal>K</literal> significa que deve ser parado. O número é simplesmente para ordenação. O init irá iniciar todos os serviços baseando-se na ordem em que eles aparecem. Você pode duplicar os números, mas isso só trará confusão de algum modo. Você 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 ele inicia e termina os serviços? Simples. Cada um dos scripts é feito de maneira a aceitar um argumento que pode ser <option>start</option> e <option>stop</option>. De fato, você pode executar esses scripts 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 script com o argumento <option>stop</option>. Se tiver um <option>S</option> ele invoca o script 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 propiciarem usos múltiplos. Eu posso ter um nível de execução <quote>servidor</quote> que executa o httpd, o sendmail, a rede, &etc;. Também poderei ter um <quote>usuário</quote> que execute o <application>tdm</application>, a rede, &etc;. </para>
<para>A utilização do &ksysv; com um mouse ou outro dispositivo do gênero é simples: basta arrastar um dos elementos da área <guilabel>Serviços Disponíveis</guilabel> para um dos seis níveis de execução para o iniciá-lo (ou terminá-lo, respectivamente) nesse nível de execução. </para>
<para>Você pode também mover os scripts entre níveis de execução ou mudar a posição num determinado nível, arrastando-os pela interface. O que isso faz é remover o elemento da sua posição (ou nível de execução) original. Isto não acontece quando arrasta um elemento da área <guilabel>Serviços Disponíveis</guilabel>. </para>
<para>Os elementos são movidos quando arrasta-os para uma nova área. Para copiar um serviço para um nível diferente, você debe selecionar <guimenuitem>Copiar</guimenuitem> do menu do aplicativo <guimenu>Editar</guimenu> ou do menu de contexto e <guimenuitem>Colar</guimenuitem> no nível de destino. </para>
<para>O <quote>número de ordem</quote> de um elemento às vezes pode não ser calculável. Neste caso você deve editar os números de ordem dos elementos envolventes antes de tentar inserir de novo o serviço. </para>
<para>Você pode excluir elementos arrastando-os para a área do <guiicon>Lata de Lixo</guiicon> (simbolizada por um ícone que representa uma lata do lixo). </para>
<para>Atualmente <emphasis>não</emphasis> existe maneira de recuperar os itens arrastados para a <guiicon>Lata de Lixo</guiicon>, por isso tenha cuidado! </para>
<para>Você pode usar a tecla <keycap>Tab</keycap> para mudar de painel para painel (<guilabel>Serviços Disponíveis</guilabel>, <guilabel>Nível de execução 1 Iniciar</guilabel>, <guilabel>Nível de execução 1 Parar</guilabel>, &etc;) e as teclas dos cursores para mover a seleção para cima e para baixo. </para>
<para>Para mover um elemento para um nível 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 nível de destino (com <keycombo action="simul">&Ctrl; <keycap>V</keycap></keycombo>). </para>
<para>Para mudar manualmente o número de ordem ou o nome de um elemento, clique <keycap>Enter</keycap> para abrir a janela de propriedades. Utilize a tecla <keycap>Tab</keycap> para alternar pelos diferentes campos. Feche a janela clicando <keycap>Enter</keycap> para aceitar as modificações ou em <keycap>Esc</keycap> para cancelá-las. </para>
<para>Devido ao perigo de perda de dados, todas as opções do menu <guimenu>Arquivo</guimenu> pedem uma confirmação antes de realizar a sua tarefa. </para>
<para><action>Torna suas alterações permanentes.</action>O salvamento não gera nenhum arquivo de cópia de segurança, por isso use esta opção com cuidado. </para>
<para>Todas as opções são salvas no <filename>$<envar>TDEHOME</envar>/.trinity/share/config/ksysvrc</filename>. Os padrões são obtidos a partir do arquivo global (<filename>$<envar>TDEDIR</envar>/share/config/ksysvrc</filename>), se disponível, ou são gerados dentro do &ksysv;. As alterações aos padrões são salvas no seu <filename>ksysvrc</filename> local. </para>
<segmentedlist><segtitle>Keyword</segtitle> <segtitle>Default</segtitle> <segtitle>Description</segtitle> <seglistitem> <seg>ScriptPath</seg> <seg><filename class="directory">/etc/rc.d/init.d</filename></seg> <seg>Path to the scripts used for starting and stopping services.</seg> </seglistitem> <seglistitem> <seg>RunlevelPath</seg> <seg><filename class="directory">/etc/rc.d</filename></seg> <seg>Path to the runlevel subfolders.</seg> </seglistitem> </segmentedlist>
<segmentedlist><segtitle>Keyword</segtitle> <segtitle>Default</segtitle> <segtitle>Description</segtitle> <seglistitem> <seg>Changed</seg> <seg>red</seg> <seg>Color used for changed entries</seg> </seglistitem> <seglistitem> <seg>New</seg> <seg>blue</seg> <seg>Color used for new entries</seg> </seglistitem> </segmentedlist>
<segmentedlist><segtitle>Keyword</segtitle> <segtitle>Default</segtitle> <segtitle>Description</segtitle> <seglistitem> <seg>ToolBar</seg> <seg>true</seg> <seg>If the toolbar is enabled or not</seg> </seglistitem> <seglistitem> <seg>StatusBar</seg> <seg>true</seg> <seg>If the statusbar is enabled or not</seg> </seglistitem> <seglistitem> <seg>ShowLog</seg> <seg>true</seg> <seg>If the log window is shown or not</seg> </seglistitem> <seglistitem> <seg>PanningFactor</seg> <seg>80</seg> <seg>100 - PanningFactor = percentage of window reserved for the logfile display</seg> </seglistitem> </segmentedlist>
<para>Digite <userinput>linux single</userinput> na linha de comando do <acronym>LILO</acronym> e clique <keycap>Enter</keycap> para iniciar em modo mono-usuário. Edite o arquivo <filename>/etc/inittab</filename> e altere o nível de execução padrão para um valor seguro. O <literal>3</literal> funciona normalmente. </para>
<para>Se está usando distribuições como a da SuSE ou a Delix (DLD), também deve alterar um arquivo específico da distribuição no diretório <filename class="directory">/etc</filename>. Dê uma olhada no manual da sua distribuição para mais detalhes. </para>
<para>A abordagem de inicialização de serviços usada pelas distribuições acima citadas torna mais fácil a configuração de serviços com as ferramentas de configuração proprietárias que estas distribuições contêm, mas infelizmente não é um padrão. Os autores do &ksysv; planejam escrever uma extensão genérica para esta abordagem no futuro, mas não fiquem desde já na expectativa. </para>
<para>Se está usando uma distribuição diferente, verifique se possui todos os arquivos de configuração necessários para o serviço, e se estão nos locais corretos. Alguns servidores como por exemplo o <application>Apache</application> (<acronym>aka</acronym> <command>httpd</command>) simplesmente terminam sem dizer nada se os seus arquivos de configuração não existirem ou estiverem mal configurados. </para>
<para>Isto varia 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 email ao autor a informação adicional para que possa ser referenciada neste manual. </para>