linuxman.gif (21978 bytes)

Voltar ao Índice


7 CONFIGURAÇÃO APÓS INSTALAÇÃO

Depois de pronta a instalação, pode-se fazer algumas configurações adicionais. Este capítulo descreve várias tarefas de configuração de sistema que podem ser necessárias.

7.1 Construindo um kernel customizado

Com a introdução do kernel modularizado no Linux 2.0.x surgiram importantes mudanças na construção de kernels customizados. Antes era necessário compilar o kernel caso se desejasse acessar um hardware ou sistema de arquivos em particular. Para alguns hardwares o tamanho do kernel poderia atingir um certo nível de criticidade. O suporte já embutido no kernel poderia ser uma solução ineficiente sob o ponto de vista de utilização de recursos do sistema. Com as facilidades disponibilizadas no kernel 2.0.x, caso haja algum componente de hardware ou do sistema de arquivos pouco usado, os drivers e módulos são carregados somente quando necessários, melhorando a performance e otimizando a utilização de recursos do sistema. Para informações adicionais sobre módulos do kernel vide o capítulo 10, seção 10.6.

7.1.1 Construindo um kernel modularizado

Caso não se tenha interesse em utilizar a modularização de kernel, por favor veja a seção 7.1.3 para uma explicação detalhada sobre os aspectos de construção e instalação de um kernel monolítico. Este roteiro assume que todos os headers do kernel e pacotes com os fontes estão localizados no diretório /usr/src/linux.

É importante começar a construção do kernel com a árvore de fontes em condições bem conhecidas. Para isso pode-se utilizar o comando make mrproper, o qual removerá todos os arquivos de configuração de reconstruções anteriores que estejam residentes nas árvores de diretórios.

Após é necessário criar o arquivo de configuração que irá determinar quais componentes serão incluídos no kernel. Dependendo do hardware e das preferências pessoais pode-se optar por um dos três métodos disponíveis:

MAKE CONFIG

Um programa texto interativo, onde os componentes são apresentados um a um. Basta pressionar Y (sim), N (não) ou M (módulo).

MAKE MENUCONFIG

Um programa gráfico, composto por menus, onde os componentes são apresentados em listas de categorias, sendo possível selecionar os componentes desejados da mesma maneira que são apresentados no programa de instalação do Conectiva Red Hat Linux. Basta selecionar o elemento correspondente ao item desejado: Y (sim), N (não) ou M (módulo).

MAKE XCONFIG

Um programa X Window, onde os componentes são listados em diferentes níveis de menus e os componentes são selecionados utilizando-se o mouse. Mais uma vez as seleções possíveis são Y (sim), N (não) e M (módulo).

Atenção: para poder utilizar Kerneld (vide seção 10.6 para maiores detalhes) e módulos de kernel é obrigatório responder Y (sim) ao suporte ao Kerneld e versão modular (CONFIG_MODVERSIONS) durante a configuração do sistema.

Se estiver construindo um kernel para máquinas com processadores clones do Intel (Cyrix, AMD,...), é recomendado escolher 386 como tipo de processador.

Se desejar construir um kernel com um arquivo de configuração (/usr/src/linux/.config) previamente criado com um dos métodos acima, pode-se omitir o comando mrproper e make config, utilizando somente o comando make dep, seguido de make clean para preparar os fontes para a reconstrução do kernel.

O próximo passo consiste na compilação dos fontes selecionados em uma máquina que possa ser utilizada para reinicializar-se com o novo kernel. O método aqui descrito é o mais simples para recuperação em caso de algum problema ocorrer. Outras formas de recuperação podem ser encontradas no Kernel-HOWTO ou no Makefile em /usr/src/linux.

rm -rf /lib/modules/2.0.29-old

mv /lib/modules/2.0.29 /lib/modules/2.0.29-old

Se o sistema possuir um driver modular para adaptador SCSI, construa um novo image do initrd (vide seção 7.1.2). Porém há poucas razões para construir-se um driver de kernel modular para adaptadores SCSI.

Para ter disponível o kernel anterior a fim de evitar problemas, caso o novo kernel tenha algum tipo de erro, é recomendável manter a configuração original. Adicionar um novo kernel ao LILO é muito simples: renomeie o kernel original no diretório /boot, copie o novo kernel para o diretório /boot, adicione algumas linhas ao arquivo /etc/lilo.conf e execute /sbin/lilo.

Seguem alguns exemplos dos defaults do /etc/lilo.conf que seguem com o Conectiva Red Hat Linux:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=100

image=/boot/vmlinuz

label=linux

root=/dev/hda1

read-only

Se for necessário alterar o /etc/lilo.conf, devido a construção de um novo image do initrd, é necessário adicionar algumas linhas ao final do aquivo, indicando de onde o novo kernel será carregado. No exemplo a seguir o arquivo /boot/vmlinuz foi renomeado para /boot/vmlinuz.old e mudado o seu label para CRHL-anterior. Foi então adicionado uma linha com o initrd para o novo kernel:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=100

image=/boot/vmlinuz

label=CRHL

initrd=/boot/initrd

root=/dev/hda1

read-only

image=/boot/vmlinuz.old

label=CRHL-anterior

root=/dev/hda1

read-only

Agora quando o sistema for inicializado, basta pressionar [Tab] e o prompt do LILO boot: mostrará duas opções:

LILO boot:

CRHL    CRHL-anterior

Para inicializar utilizando o novo kernel (CRHL) basta pressionar [Enter], ou aguardar o timeout; caso se deseje utilizar o kernel antigo (CRHL-anterior), basta informar CRHL-anterior e pressionar [Enter].

Segue um resumo dos passos:

Para testar o novo kernel basta reinicializar o equipamento e verificar as mensagens geradas pelo sistema, assegurando-se de que o hardware foi detectado adequadamente.

7.1.2 Criando uma imagem do initrd

Uma imagem do initrd é necessária para carregar módulos SCSI durante a inicialização do sistema. O shell script /sbin/mkinitrd pode gerar uma imagem do initrd adequada para o sistema desde que as seguintes condições sejam satisfeitas:

alias scsi_hostadapter BusLogic

Para construir uma nova imagem do initrd, execute /sbin/mlinitrd com os parâmetros, tais como:

/sbin/mkinitrd /boot/novoinitrd-image 2.0.12

onde /boot/novoinitrd-image é arquivo utilizado para a nova imagem e 2.0.12 é o kernel cujos módulos (a parti de /lib/modules) devem ser usados na criação da imagem do initrd (não é necessariamente o mesmo da versão atualmente em uso pelo kernel).

7.1.3 Construindo um kernel monolítico

Para construir um kernel monolítico observe os seguintes passos.

7.2 Configuração do XFree86

Há quatro métodos de configuração do Xfree86 disponíveis: Xconfigurator, XF86Setup, xf86config ou manualmente.

Xconfigurator, XF86Setup e xf86config são funcionalmente equivalentes e funcionam perfeitamente bem. Caso se tenha dúvidas sobre alguns desses processos uma boa fonte de informações pode ser encontrada em http://www.xfree86.org.

Xconfigurator é um programa orientado por menus de tela cheia, que navega através dos parâmetros do X Server. XF86Setup é um programa gráfico que requer o modo VGA 16 cores para poder ser executado. xf86config é um programa texto, que roda em linha de comando e não é tão simples como os anteriores.

Caso algum desses programas não consiga criar o arquivo de configuração adequado, a placa de vídeo provavelmente não é suportada ou é necessário criar o arquivo manualmente. Normalmente o problema é de suporte, então é aconselhável verificar se a placa de vídeo é suportada antes de tentar gerar o arquivo manualmente. Caso a placa de vídeo não seja suportada pelo Xfree86 sugerimos a utilização de um servidor X comercial como por exemplo o Metro-X. Caso se tenha dúvidas sobre o suporte à placa de vídeo, o ideal é consultar o site http://www.xfree86.org.

7.2.1 Servidor X

Uma vez selecionada a placa de vídeo adequadamente no momento da instalação é importante estar seguro de que a mesma placa de vídeo foi selecionada na execução do Xconfigurator ou do xf86config.

Caso se tenha instalado a placa de vídeo incorreta para o servidor X, é necessário corrigir antes que o servidor X seja configurado. Por exemplo com o CD montado em /mnt/cdrom, executam-se os seguintes comandos:

cd /mnt/cdrom/RedHat/RPMS

rpm -ivh XFree86-S3-3.1.2-1.i386.rpm

ln -sf ../../usr/X11R6/bin/XF86_S3 /etc/X11/X

Estes comandos instalarão o servidor S3 e criarão os links simbólicos adequados.

7.2.2 Xconfigurator

Para configurar o X Window é necessário inicialmente selecionar a placa de vídeo. Basta correr a lista de placas suportadas até encontrar-se a adequada. A Seção 7.2.2.1 pode ajudar na definição da seleção adequada ao hardware. Se a placa não estiver listada é possível que ela não seja suportada pelo Xfree86. Neste caso pode-se tentar a última opção da seleção (Unlisted Card) ou um servidor X comercial.

O próximo passo é selecionar o monitor. Se o monitor não estiver listado na relação de suportados, é possível selecionar um monitor genérico ou optar-se por Custom, informando-se os parâmetros. Esta opção é indicada para aqueles que tenham um bom conhecimento do funcionamento interno de monitores CRT. A média dos usuários provavelmente utilizará uma das seleções genéricas da lista.

Após é necessário informar a quantidade de memória de vídeo disponível. Bastar mover a área iluminada para o item apropriado e pressionar [Enter] ou [F12] para continuar.

No próximo passo é aconselhável utilizar o default (No Clockship Setting), porém usuários mais experientes podem selecionar um clockship específico.

7.2.2.1 Selecionando o seu servidor

Caso não se esteja seguro sobre qual é o chipset disponível, a melhor maneira de descobrir é examinando a placa de vídeo. A tabela a seguir apresenta uma lista de chipsets e placas utilizadas pelo servidor. Escolha aquela que mais se adeqüe ao hardware disponível:

Servidor

Chipset

VGA16

Todas as placas VGA com 256Kb (somente 16 cores)

SVGA

Trident 8900 & 9400, Cirrus Logic, C & T, ET400, outros

Mach8

Placas ATI usando chipset Mach8

Mach32

Placas ATI usando chipset Mach32

Mach64

Placas ATI usando chipset Mach64

8514

Placas IBM 8514/A e clones

S3

Placas #9, tais como Diamonds, Orchids, Outros

AGX

Todas as placas XGA

P9000

Diamond Viper (exceto a 9100) e outras

W32

Todas as placas ET4000/W32, exceto as não standard

7.2.2.2 Finalizando

Caso se deseje aumentar a taxa de atualização do monitor, é possível editar o arquivo de configuração manualmente ou executar o Xconfigurator novamente e escolher um monitor da lista que se aproxime mais das especificações do monitor disponível.

O passo final do processo de configuração é escolher o modo de vídeo que se deseja incluir no arquivo XF86config. Utilizando-se as setas pode-se mover o cursor para cima e para baixo na lista sobre cada profundidade desejada (8, 16 e 24 bits). Utilizando-se [Barra de espaços] selecionam-se as resoluções individuais e com [Tab] pode-se mover entre os campos de profundidade de cores. Após selecionar os modos desejados, basta mover o cursor para o botão de OK e pressionar [Enter] ou utilizar [F12] como atalho. Surgirá uma tela informando como alternar as configurações de vídeo e parar o servidor X.

7.3 Configurando o mouse

Para configurar o mouse (ou reconfigurar o mouse após sua instalação) entre com o comando /usr/sbin/mouseconfig. Role a lista para baixo usando teclas de seta até que o seu tipo de mouse seja destacado. Se você tiver qualquer mouse ligado a uma porta de estilo PS/2, você deve selecionar PS/2 como seu tipo de mouse. Se você tem um mouse ligado a uma porta de mouse numa placa de vídeo ATI, você deve selecionar ATI Bus Mouse. Se você tiver um mouse com 2 botões e quiser emular o Terceiro botão de mouse (do meio) com um clique simultâneo em ambos, tecle [Tab] para mover o cursor para emular 3 botões de checkbox e tecle [Espaço] para selecionar.

7.4 Sendmail

Um arquivo sendmail.cf padrão será instalado em /etc/. A configuração do default deve funcionar melhor com sites SMTP, porém não funcionará com sites de UUCP; será preciso gerar um novo sendmail.cf se você quiser usar transferências de correio de UUCP. Para gerar um novo sendmail.cf, você precisará instalar os pacotes m4 e fontes do sendmail. Leia o arquivo README nas fontes de sendmail, para maiores detalhes em criar arquivos de configuração de sendmail.Também, O' Reilly & Associados publica uma boa referência de sendmail intitulado como Sendmail por Bryan Costales, disponível em http://www.lojalinux.com.br

Uma configuração comum de sendmail é feita de um modo muito simples na máquina de passagem de correio para todas as máquinas em sua rede. Por exemplo, na Conectiva Solutions temos um mecanismo mail.conectiva.com.br responsável pelocorreio. Nesse mecanismo nós simplesmente necessitamos adicionar os nomes das máquinas pelo qual o mail.conectiva.com.br manipula o correio a /etc/sendmail.cw. Eis um exemplo:

# sendmail.cw - inclui um apelido para sua máquina

# here.

parolin.conectiva.com.br

marumbi.conectiva.com.br

xinguara.conectiva.com.br

Então nas outras máquinas: parolin, marumbi e conectiva, nós precisaremos edita o /etc/sendmail.cf para "mascarar" como mail.conectiva.com.br quando for enviado um e-mail, e redirecionar qualquer processamento local de mails em conectiva.com.br. Encontre as linhas DH e de DM em /etc/sendmail.cf e as digite:

# who I send unqualified names to

# (null means deliver locally)

DRmail.conectiva.com.br

# who gets all local email traffic

DHmail.conectiva.com.br

# who I masquerade as (null for no masquerading)

DMconectiva.com.br

Com esta configuração, toda mensagem mandada aparecerá como se fosse enviada de conectiva.com.br, e qualquer mensagem enviada a parolin.conectiva.copm.br ou os outros hosts será entregue para mail.conectiva.com.br.

Por favor certifique-se de que você configurou seu sistema para masquerade para que qualquer mail enviado tenha como origem o servidor mail. Por exemplo, arquivos de log que são enviados periodicamente para root@parolin.conectiva.com.br pelo daemon parecerão enviado por root@mail.conectiva.com.br

7.5 Controlando o Acesso aos Serviços

Como medida de segurança, a maioria dos serviços de rede são administrados por um programa protetor chamado TCP wrapper. Os serviços protegidos são listados em /etc/inetd.conf que especifica se /usr/sbin/tcpd.tcpd pode permitir ou negar acesso à um serviço, e a configuração em /etc/hosts.allow e tc/hosts.deny . Pelo default do Conectiva Red Hat Linux permite-se todos os serviços solicitados. Para desativar ou limitar serviços você pode editar /etc/hosts.allow. Eis um arquivo /etc/hosts.allow como exemplo:

ALL: redhat.com .conectiva.com.br

in.talkd: ALL

in.ntalkd: ALL

in.fingerd: ALL

in.ftpd: ALL

Esta configuração permite todas as conexões de máquinas redhat.com.br e *.conectiva.com.br. Também permite talk, finger e ftp entre todas máquinas.

O tcpd permite um controle de acesso muito mais sofisticado, usando uma combinação de /etc/hosts.allow e /etc/hosts.deny. Veja as páginas de manual tcpd(8) e hosts_access(5) para maiores detalhes.

7.6 FTP Anônimo

A configuração do FTP anônimo é simples. Basta instalar o pacote rpm chamado anon-ftp (que deve ser feito durante a instalação). Uma vez instalado, o FTP anônimo estará ativo e rodando.

Há alguns arquivos que podem ser configurados no servidor de FTP.

/etc/ftpaccess

Define a maior parte do controle de acesso ao servidor ftp. Algumas coisas que podem ser feitas: configurar grupos lógicos para controlar acesso de diversos sites, limitar o número de conexões simultâneas de FTP, configurar a transferência de logging, e muito mais. Leia a página de manual (man) do ftpaccess para maiores detalhes.

/etc/ftphosts

O arquivo de ftphosts é usado para permitir ou negar acesso a certas contas de outros hosts. Leia a página de manual (man) do ftphosts para maiores detalhes.

/etc/ftpusers

Este arquivo lista todos os usuários que não têm permissão de executar transmissões ftp. Por exemplo, root é listado em /etc/ftpusers como padrão. Isso significa que não pode ser executado ftp nesta máquina como superusuário. Isto é uma boa medida de segurança.

7.7 World Wide Web

O Conectiva Red Hat Linux Linux pode atuar como cliente ou servidor web.

7.7.1 World Wide Web Browsers

Uma variedade de browsers web estão disponíveis para Linux, incluindo browsers livremente distribuídos tais como arena, lynx, e grail, além do Netscape que teve seu fonte recentemente liberado.

7.7.2 World Wide Web Server

Se você instalou o servidor Apache web (do pacote Apache), então seu serviço de Web já está ativo e rodando! O ponto exato da web de seu browser está em http://localhost.

A página padrão mostrada é /home/httpd/html/index.html. Pode-se editar este arquivo (substituí-lo completamente). Todos os programas de CGI, ícones, e páginas html são armazenados em /home/httpd, mas isto pode ser mudado nos arquivos de configuração do Apache, tudo é armazenado em /etc/httpd/conf/. Os logs ativados em httpd são mantidos em /var/log/httpd/. Configurar um site web é tão fácil quanto adicionar as próprias páginas HTML e links ao diretório /home/httpd/html/ . Para maiores informações sobre o uso do Web Server nós recomendamos o guia : The Definity Guide por Chuck Musciano & Bill Kennedy , publicado por O' Reilly & Associates..

7.8 Configuração NFS

O NFS (Network File System) - Sistema de Arquivos de Rede é um meio de compartilhamento de arquivos entre máquinas, como se estivessem em um drive local. O Linux pode ser tanto um servidor como um cliente NFS, o qual significa que se pode exportar sistemas de arquivos para outros sistemas, assim como montar sistemas de arquivos exportados de outras máquinas.

7.8.1 Montagem de Sistemas de Arquivos NFS

Use o comando mount para montar um sistema de arquivos NFS de outra máquina:

mount xinguara:/mnt/export /mnt/local

xinguara é o hostname do servidor de arquivo NFS, o /mnt/export é o sistema de arquivos que xinguara está exportando, e /mnt/local é um diretório na máquina local onde queremos montar o sistema de arquivos. Depois de rodado o comando mount (e se tivermos as permissões adequadas de xinguara) podemos entrar com ls /mnt/local e receber um lista dos arquivos em /mnt/export em xinguara.

7.8.2 Exportando Sistemas de Arquivos NFS

O arquivo que controla exportação de sistemas de arquivos é o /etc/exports. Seu formato é:

directory hostname(opções)

Por exemplo:

/mnt/export xinguara.conectiva.com.br

permitiria a xinguara.conectiva.com.br montar o /mnt/export, mas:

/mnt/export xinguara.conectiva.com.br(ro)

permitiria a xinguara montar o /mnt/export somente para leitura.

Cada vez que se altera o /etc/exports, é necessário determinar ao NFS daemons que obtenha uma nova informação. Uma maneira simples de fazer isto é parar e iniciar o daemon:

/etc/rc.d/init.d/nfs stop

/etc/rc.d/init.d/nfs start

Uma outra forma de executar a tarefa:

killall -HUP rpc.nfsd rpc.mountd

Uma boa referência é o Managing NFS and NIS Services (Administrando NFS e Serviços de NIS) por Hal Stern, publicado por O' Reilly & Associates.

7.9 Rodando programas em tempo de inicialização

O arquivo /etc/rc.d/rc.local é executado em tempo de inicialização, após a finalização do processo de partida do sistema ou sempre que forem alterados os runlevels. Podem ser adicionados novos comandos de inicialização aqui. Por exemplo, pode-se querer inicializar daemons adicionais, ou uma impressora. Além do mais, caso se queira configurar uma porta serial, pode-se editar o /etc/rc.d/rc.serial, e este será executado automaticamente em tempo de inicialização.

O padrão do /etc/rc.d/rc.local simplesmente cria um título de título com a versão do kernel e o tipo de máquina.