# O Manual do &ksysv;

Peter
Putzer

    putzer@kde.org

José
Pires

    jncp@netcabo.pt

Tradução
2001-03-21
1.03.06
1998
2000
2001
Peter Putzer
&FDLNotice;

O &ksysv; é um editor gráfico para a configuração do init estilo SysV.

KDE
KSysV
'Runlevel'
Editor de 'runlevels'
init do System V

## Introdução

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;.

## Uma Breve Descrição do Init do System V

A explicação que se segue é copiada do tksysv (uma inspiração para o &ksysv;):

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 BSD.

Não se entrará na história aqui (principalmente porque o autor não a conhece :-).

O executável 'init' está localizado em `/sbin` e não em `/etc`. 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 `/etc` primeiro; por isso, o utilizador terá que confirmar e retirar o 'init' antigo, se lá estiver algum.

O 'init' do SysV também difere do 'init' do BSD, na medida em que os ficheiros de configuração estão numa subpasta de `/etc`, em vez de residir directamente nesta pasta. A tal subpasta chama-se `rc.d`. Nela, o utilizador irá encontrar o `rc.sysinit` e as seguintes pastas:

- `init.d/`

- `rc0.d/`

- `rc1.d/`

- `rc2.d/`

- `rc3.d/`

- `rc4.d/`

- `rc5.d/`

- `rc6.d`

A `init.d` 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 NFS, o &Sendmail;, o httpd, etc. Os serviços não incluem coisas como o `setserial`, que só precisa ser corrido uma vez e depois sai. Esse tipo de coisas deve ir para o ficheiro `rc.local`.

O `rc.local` deve estar em `/etc/rc.d`, se pretender ter um. A maioria dos sistemas inclui um, mesmo que não faça muita coisa. Também poderá inserir um ficheiro `rc.serial` em `/etc/rc.d`, se precisar de fazer algo relacionado com as portas série no arranque.

A cadeia de eventos é a seguinte:

1. O 'kernel' procura em vários locais pelo 'init' e corre o primeiro que encontrar.

2. O 'init' corre o `/etc/rc.d/rc.sysinit`.

3. O `rc.sysinit` faz um conjunto de coisas necessárias e depois executa o `rc.serial` (se existir)

4. O 'init' executa o `rc.local`

5. O 'init' executa todos os programas para o nível de execução predefinido

O nível de execução predefinido é escolhido no `/etc/inittab`. Deverá ter uma linha no topo do tipo:

    id:3:initdefault:

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 `/etc/inittab` à mão e mudar o 3. Cuidado ao mexer no 'inittab'. Se o corromper, podê-lo-á corrigir, reinicializando o sistema e escrevendo:

    LILO boot: linux single

Isto deve permitir-te arranque no modo mono-utilizador de modo a que possas corrigir o problema.

Agora, como é que ele corre os programas correctos? Se escrever ``ls` `-l`` em `rc3.d`, poderá ver algo do género:

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

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 `init.d`.

As ligações também têm um `S` e um número no início. O `S` significa que o programa deve ser iniciado e um `K` 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 `S` ou um `K` maiúsculos, para iniciar ou interromper os serviços que precisa.

Como é que ele inicia e termina os serviços? Simples. Cada um dos programas é feito de maneira a aceitar um argumento que pode ser `start` e `stop`. De facto, poderá executar esses programas manualmente, com um comando do estilo:

    /etc/rc.d/init.d/httpd.init stop

Para parar o servidor 'httpd'. O 'init' simplesmente lê o nome e se tiver um `K`, ele invoca o programa com o argumento `stop`. Se tiver um `S` ele invoca o mesmo programa com o argumento `start`.

### Porquê Todos Estes Níveis de Execução ?

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 servidor que corre o httpd, o 'sendmail', a rede, etc. Também poderei ter um utilizador, que corre o kdm, a rede, etc.

## Fundamental da Interface

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.

### Rato

A utilização do &ksysv; com um rato ou outro dispositivo do género é simples: basta você arrastar um dos elementos da área Serviços Disponíveis para um dos seis níveis de execução para o iniciar (ou terminar, respectivamente) nesse nível.

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 Serviços Disponíveis.

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 Copiar do menu da aplicação Editar ou do menu de contexto e Colar no nível de execução de destino.

O número de ordem 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.

Os números de ordem podem ir de 00 a 99, mas não podem ser superiores.

Você poderá apagar elementos, se os arrastar para a área do Caixote do Lixo (simbolizada por um ícone que representa um caixote do lixo).

De momento não existe maneira de recuperar os itens arrastados para o Caixote do Lixo, por isso tenha cuidado!

### Teclado

Poderá usar a tecla Tab para mudar de painel para painel (Serviços Disponíveis, Runlevel 1 Iniciar, Runlevel 1 Parar, etc.) e as teclas dos cursores para mover a selecção para cima e para baixo.

Para mover um elemento para um 'runlevel' diferente, execute Cortar sobre ele para a área de transferência (através de &Ctrl; X e depois Colar no 'runlevel' de destino (com &Ctrl; V).

Para mudar manualmente o número de ordem ou o nome dum elemento, carregue em Enter para abrir a janela de propriedades. Utilize a tecla Tab para alternar pelos diferentes campos. Feche a janela, carregando em Enter, para aceitar as modificações ou em Esc para as cancelar.

### As Opções do Menu

Uma descrição do menu do &ksysv;, opção a opção.

#### O menu Ficheiro

Por causa do perigo de perda de dados, todas as opções do menu Ficheiro pedem uma confirmação antes de realizarem a sua tarefa.

Ficheiro Reverter Configuração...

  Esquece todas as alterações que fez e reverte para a última configuração gravada.

&Ctrl; O Ficheiro Abrir...

  Abre uma configuração previamente gravada.

&Ctrl; S Ficheiro Gravar Configuração

  Torna as suas alterações permanentes.A gravação não gera nenhumas cópias de segurança, por isso use esta opção com cuidado.

Ficheiro Gravar Como...

  Grava uma cópia da sua nova configuração.

&Ctrl; L Ficheiro Gravar o Registo...

  Grava um registo

&Ctrl; P Ficheiro Imprimir o Registo...

  Imprime uma cópia do registo.

&Ctrl; Q Ficheiro Sair

  Sai do &ksysv;.

#### O Menu Editar

&Ctrl; Z Editar Desfazer

  Anula a última alteração realizada.

&Ctrl; Shift Z Editar Refazer

  Repete a última acção anulada.

&Ctrl; X Editar Cortar

  Corta o serviço seleccionado no momento para a área de transferência.

&Ctrl; C Editar Copiar

  Copia o elemento seleccionado para a área de transferência, sem o remover da sua posição original.

&Ctrl; V Editar Colar

  Cola o conteúdo da área de transferência na posição actual do cursor.

Editar Propriedades

  Abre a janela de propriedades do item seleccionado.

#### O Menu Ferramentas

Ferramentas Iniciar o Serviço...

  Inicia o serviço seleccionado

Ferramentas Parar o Serviço...

  Pára o serviço seleccionado

Ferramentas Reiniciar o Serviço...

  Reinicia o serviço seleccionado.

Ferramentas Editar o Serviço...

  Altera o serviço seleccionado

#### O menu Configuração

Configuração Mostrar a Barra de Ferramentas

  Liga e desliga a visibilidade da barra de ferramentas.

Configuração Mostrar a Barra de Estado

  Liga e desliga a visibilidade da barra de estado.

Configuração Mostrar o Registo

  Liga e desliga a visibilidade da janela do registo

Configuração Gravar a Configuração

  Grava a sua configuração actual.

Configuração Configurar os Atalhos...

  Personaliza a configuração do teclado na aplicação.

Configuração Configurar as Barras de Ferramentas...

  Personaliza a barra de ferramentas.

Configuração Configurar o Editor do SysV-Init...

  Personaliza o comportamento do &ksysv;

#### O menu Ajuda

&help.menu.documentation;

## Configuração

Todas as opções são gravadas no `$`KDEHOME`/.kde/share/config/ksysvrc`. As predefinições são obtidas a partir do ficheiro global (`$`KDEDIR`/share/config/ksysvrc`), se disponíveis, ou são geradas dentro do &ksysv;. As alterações às predefinições são gravadas no seu `ksysvrc` local.

### Secções Reconhecidas

As secções reconhecidas e as suas chaves, para além dos seus valores por omissão.

#### &lsqb;Path Settings&rsqb;

Palavra-Chave
Predefinição
Descrição
ScriptPath
/etc/rc.d/init.d
Localização dos programas utilizados para iniciar e parar serviços.
RunlevelPath
/etc/rc.d
Localização das subpastas de níveis de execução.

#### &lsqb;Colors&rsqb;

Palavra-Chave
Predefinição
Descrição
Changed
red
Cor utilizada para os itens alterados
New
blue
Cor utilizada para os itens novos

#### &lsqb;Geometry&rsqb;

Palavra-Chave
Predefinição
Descrição
Width
Largura da janela do &ksysv;
Height
Altura do &ksysv;

#### &lsqb;Other Settings&rsqb;

Palavra-Chave
Predefinição
Descrição
ToolBar
true
Se a barra de ferramentas está ou não activa
StatusBar
true
Se a barra de estado está ou não activa
ShowLog
true
Se a janela de registo é ou não mostrada
PanningFactor
80
100 - PanningFactor = percentagem da janela reservada para mostrar o ficheiro de registo

## Perguntas e Respostas

Andei a mexer com o nível de execução por omissão, e agora a minha máquina passa o tempo a reiniciar. O que devo fazer?

Escreva `linux single` na linha de comandos do LILO e carregue em Enter para arrancar no modo mono-utilizador. Edite o ficheiro `/etc/inittab` e altere o nível de execução por omissão para um valor seguro. O `3` resulta normalmente.

A minha máquina termina logo que inicia

Veja a pergunta 1 acima.

Escalonei alguns serviços para correrem no nível de execução X com o &ksysv;; porque é que não estão a funcionar?

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 `/etc`. Dê uma vista de olhos no manual da sua distribuição para mais detalhes.

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.

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 Apache (também conhecido por `httpd`), simplesmente terminam sem dizer nada se os seus ficheiros de configuração não existirem ou estiverem mal configurados.

## Semântica normalizada dos Níveis de Execução

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.

&RedHat;
  Runlevel 0:

    termina (desliga a máquina)

  Runlevel 1:

    Modo mono-utilizador.

  Runlevel 2:

    Multi-utilizador sem o NFS.

  Runlevel 3:

    Multi-utilizador com o suporte de rede completo.

  Runlevel 4:

    Não usado.

  Runlevel 5:

    Multi-utilizador com o suporte de rede completo e o X11.

  Runlevel 6:

    Reiniciar

## Licença e Créditos

&ksysv; Copyright © 1997-1998 Peter Putzer

- Peter Putzer, putzer@kde.org - Programador

Documentação:

- Peter Putzer, putzer@kde.org - Conteúdo original

- Eric Bischoff, e.bischoff@noos.fr - Editor

Tradução de José Nuno Pires jncp@netcabo.pt

&underFDL; &underGPL;

## Instalação

&install.intro.documentation; &install.compile.documentation;