<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN">
<book lang="pt-BR">

<bookinfo>
<title>Manual do KSysV</title>
<authorgroup>
<author>
<firstname>Peter</firstname>
<surname>Putzer</surname>
<affiliation><address><email>putzer@kde.org</email></address></affiliation>
</author>
</authorgroup>
<date>18/11/1998</date>
<releaseinfo>0.03.22</releaseinfo>
<abstract>
<para>Este manual descreve o Editor de Iniciação de Sistemas V,
KSysV versão 0.3.22</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>KSysV</keyword>
<keyword>System administration</keyword>
<keyword>Runlevels</keyword>
</keywordset>
</bookinfo>

<chapter id="introducao">
<title>Introdução</title>

<para>Bem-vindo ao meu editor de níveis de execução System V, comumente conhecido
e referenciado doravante como KSysV. Esta seção introduz alguns conceitos e
explica o que você pode fazer com o KSysV.</para>

<para>A explanação a seguir foi tomada emprestada do <literal remap="tt">tksysv</literal>, que inspirou
o KSysV:</para>

<sect1 id="uma-breve-descrio-da-iniciao-do-sistema-v">
<title>Uma breve descrição da Iniciação do Sistema V</title>

<para>O estilo de iniciação do Sistema V está tornando-se rapidamente o padrão
no mundo Linux, como modelo de controle da partida da máquina. Isso porque
é mais fácil de usar, poderoso e flexível que a iniciação BSD 
tradicional.</para>

<para>Não vou contar a história toda aqui (até porque eu não sei :-).</para>

<para>O programa executável <literal remap="tt">init</literal> está localizado no diretório
<literal remap="tt">/sbin</literal> e não no <literal remap="tt">/etc</literal>. Isso é importante, pois permite atualizar uma
máquina de modo que inicie no estilo System V, sem precisar
reinstalar todo o sistema, e sem formatar nada. O kernel do Linux procura
pelo <literal remap="tt">init</literal> no diretório <literal remap="tt">/etc</literal> em primeiro lugar, portanto certifique-se 
de que você removeu seu <literal remap="tt">init</literal> velho de lá, se ainda havia um.</para>

<para>A iniciação SysV também difere da iniciação BSD na medida em que seus
arquivos de configuração estão num subdiretório de <literal remap="tt">/etc</literal>, ao 
invés de residirem diretamente em <literal remap="tt">/etc</literal>. Este diretório é chamado
<literal remap="tt">rc.d</literal>. Lá você encontrará o arquivo <literal remap="tt">rc.sysinit</literal> e os
seguintes subdiretórios:</para>

<para><screen>init.d/
rc0.d/
rc1.d/
rc2.d/
rc3.d/
rc4.d/
rc5.d/
rc6.d/
</screen>
</para>

<para><literal remap="tt">init.d</literal> contém uma coleção de scripts. Basicamente, você precisa um
script para cada serviço que você possa precisar iniciar na partida da máquina,
ou ao entrar em outro nível de execução. Os serviços incluem coisas como 
serviços de rede, NFS, sendmail, http etc. Não incluem coisas como
<literal remap="tt">setserial</literal> que devem ser executados somente uma vez. Esse tipo de programa
deve constar no arquivo <literal remap="tt">rc.local</literal>.</para>

<para><literal remap="tt">rc.local</literal> deve estar no diretório <literal remap="tt">/etc/rc.d</literal> se você
tiver um. A maioria dos sistemas possuem esse arquivo mesmo que ele não
faça muita coisa. Você também pode incluir um arquivo <literal remap="tt">rc.serial</literal>
no diretório <literal remap="tt">/etc/rc.d</literal>, se você precisa executar quaisquer
procedimentos de configuração das portas seriais na partida da máquina.</para>

<para>A cadeia de eventos ocorre assim:</para>

<para><itemizedlist>
<listitem>
<para> o kernel procura pelo <literal remap="tt">init</literal> em diversos lugares e executa o
primeiro que encontrar;</para>
</listitem>
<listitem>
<para> o <literal remap="tt">init</literal> executa o script <literal remap="tt">/etc/rc.d/rc.sysinit</literal></para>
</listitem>
<listitem>
<para><literal remap="tt">rc.sysinit</literal> executa algumas tarefas necessárias e então 
executa o script <literal remap="tt">rc.serial</literal>, se ele existir;</para>
</listitem>
<listitem>
<para><literal remap="tt">init</literal> executa o script <literal remap="tt">rc.local</literal>;</para>
</listitem>
<listitem>
<para><literal remap="tt">init</literal> executa todos os scripts do nível de execução padrão.</para>
</listitem>
</itemizedlist>
</para>

<para>O nível de execução padrão é decidido em <literal remap="tt">/etc/inittab</literal>. Você deve
ter uma linha próxima ao início do arquivo, parecida com esta:</para>

<para><screen>id:3:initdefault:
</screen>
</para>

<para>Aqui você olha para o segundo parâmetro e vê que o nível de execução
padrão é 3, que deve ser o caso de muitos sistemas. Se você quer mudá-lo,
você pode editar o arquivo <literal remap="tt">/etc/inittab</literal> manualmente e mudar o
número 3. Tenha cuidado ao fazer isso. </para>

<para>Se você bagunçar esse arquivo,
poderá ter uma chance de consertá-lo, logo ao início da partida da
máquina, perfazendo os seguintes passos:</para>

<para><screen>LILO boot: linux single
</screen>
</para>

<para>Isto *deve* permitir a você entrar em modo monousuário, de modo que
você possa pelo menos editar e consertar o arquivo.</para>

<para>Agora, como é que ele executa todos os scripts ? Se você executar o comando
'<literal remap="tt">ls -l</literal>' no diretório <literal remap="tt">/etc/rc.d/rc3.d</literal>, verá algo como</para>

<para><screen>lrwxrwxrwx 1 root root 13 13:11 S10network -&gt; ../init.d/network 
lrwxrwxrwx 1 root root 16 13:11 S30syslog -&gt; ../init.d/syslog 
lrwxrwxrwx 1 root root 14 13:32 S40cron -&gt; ../init.d/cron
lrwxrwxrwx 1 root root 14 13:11 S50inet -&gt; ../init.d/inet
lrwxrwxrwx 1 root root 13 13:11 S60nfs -&gt; ../init.d/nfs
lrwxrwxrwx 1 root root 15 13:11 S70nfsfs -&gt; ../init.d/nfsfs
lrwxrwxrwx 1 root root 18 13:11 S75keytable -&gt; ../init.d/keytable
lrwxrwxrwx 1 root root 23 13:11 S80sendmail -&gt; ../init.d/sendmail.init
lrwxrwxrwx 1 root root 18 13:11 S90lpd -&gt; ../init.d/lpd.init
lrwxrwxrwx 1 root root 11 13:11 S99local -&gt; ../rc.local
</screen>
</para>

<para>O que você vai notar é que não há arquivos reais no diretório. Todos eles
são <emphasis>links</emphasis> para scripts que estão de fato no diretório init.d. Os <emphasis>links</emphasis>
também tem um "S" e um número no começo do nome. A letra "S" significa 
que o serviço correspondente deve ser iniciado, enquanto um "K" significaria
que ele deve ser parado. O número serve apenas para estabelecer uma ordem
de execução entre os scripts. O <literal remap="tt">init</literal> iniciará todos os serviços baseado
na ordem em que eles aparecem. Você pode duplicar números, mas isso apenas
deixaria você confuso. Você precisa apenas de um número de dois dígitos,
e uma letra maiúscula "S" ou "K" para iniciar e parar os serviços.</para>

<para>Como ele inicia e pára os serviços ? Simples. Cada um dos scripts é escrito
de modo a aceitar um argumento que pode ser "start" ou "stop". Você pode
executar esses scripts manualmente via linha de comando:</para>

<para><screen>/etc/rc.d/init.d/httpd.init stop
</screen>
</para>

<para>para parar o servidor httpd. O Init lê o nome, e se ele tem um "K",
chama o script com o argumento "stop". Se ele tem um "S", chama o script
com o argumento "start".</para>

<sect2>
<title>Por que tantos níveis de execução ?</title>

<para>Algumas pessoas precisam de uma forma fácil de configurar máquinas
para múltiplos propósitos. Eu poderia ter um nível de execução
"servidor" que executa somente httpd, sendmail, serviços de rede
etc. Então eu posso ter outro nível de execução, "usuário",  que rode
xdm, serviços de rede etc. </para>
</sect2>
</sect1>
</chapter>

<chapter id="FundamentosdeUso">
<title>Fundamentos de Uso</title>

<para>Aqui você aprenderá como usar o KSysV, o que não deve ser difícil
já que ele foi projetado de modo a ser o mais amigável possível.</para>

<sect1 id="mouse">
<title>Mouse</title>

<para>Usar o KSysV com um mouse ou outro dispositivo apontador é fácil,
para não dizer trivial: basta arrastar um item da área de "Scripts" 
para um dos seis níveis de execução para iniciá-lo (ou reiniciá-lo,
ou pará-lo) naquele nível de execução.</para>

<para>Você também pode mover scripts entre níveis de execução, ou mudar
a ordem em determinado nível, via arrasto. Isso remove o item de seu
nível de execução original (ou da posição original, depende o caso).
Isso não acontece quando você arrasta um item da área de "Scripts".
Os itens dos níveis de execução arrastados para lugares diferentes
serão removidos de seu lugar original ainda que o item já exista
na área-alvo.</para>
</sect1>

<sect1 id="teclado">
<title>Teclado</title>

<para>Ainda não redigido.</para>
</sect1>

<sect1 id="os-itens-do-menu">
<title>Os itens do Menu</title>

<para>Ainda não redigido.</para>
</sect1>
</chapter>

<chapter id="Configurao">
<title>Configuração</title>

<para>Ainda não redigido.</para>
</chapter>

<chapter id="Apndice">
<title>Apêndice</title>

<para>Ainda não redigido.</para>

<sect1 id="perguntas-e-respostas">
<title>Perguntas e Respostas</title>

<para>Ainda não redigido.</para>
</sect1>

<sect1 id="semantica-padro-dos-nveis-de-execuo">
<title>Semântica Padrão dos Níveis de Execução</title>

<para>Ainda não redigido.</para>
</sect1>

<sect1 id="licena">
<title>Licença</title>

<para>Consulte a licença GNU que você deve ter recebido junto com o pacote
kdeadmin do KDE.</para>
</sect1>
</chapter>

<chapter id="Crditos">
<title>Créditos</title>

<para>KSysV Copyright (c) 1997,98 Peter Putzer</para>

<sect1 id="desenvolvedores">
<title>Desenvolvedores</title>

<para><itemizedlist>
<listitem>
<para>Peter Putzer, <literal remap="tt"><ulink url="mailto:putzer@kde.org">putzer@kde.org</ulink></literal> - Desenvolvedor
</para>
</listitem>
</itemizedlist>
</para>
</sect1>

<sect1 id="autores">
<title>Autores</title>

<para><itemizedlist>
<listitem>
<para>Peter Putzer, <literal remap="tt"><ulink url="mailto:putzer@kde.org">putzer@kde.org</ulink></literal> - Redator
</para>
</listitem>
<listitem>
<para>Eric Bischoff, <literal remap="tt"><ulink url="mailto:ebisch@cybercable.tm.fr">ebisch@cybercable.tm.fr</ulink></literal> - Editor
</para>
</listitem>
<listitem>
<para>Elvis Pfützenreuter, <literal remap="tt"><ulink url="mailto:epx@netville.com.br">epx@netville.com.br</ulink></literal> - Tradução para Português do Brasil
</para>
</listitem>
</itemizedlist>
</para>
</sect1>
</chapter>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
