Ao término da instalação procede-se à primeira inicialização do sistema a partir do disco rígido. Se tudo correu bem, nos encontraremos diante de um prompt de login. Quem está habituado a encontrar um sistema pré-configurado ao fim da instalação do sistema operacional poderá sentir-se um pouco deslocado com o NetBSD. Seguindo as intruções deste guia, no entanto, poder-se-á configurar rapidamente o sistema, ao mesmo tempo em que se aprende como funciona.
Se alguma coisa deu errado na instalação, pode ocorrer que o sistema não se inicialize. Um dos problemas mais comuns é a instalação incorreta do gerenciador de boot. Nesse caso, inserir o disquete de instalação no drive e reinicializar a máquina. Quando aparece a linha
booting fd0a:netbsd - starting in ...
pressionar a barra de espaço durante a contagem regressiva de 5 segundos. O boot se interrompe e aparece o prompt. Junto com o ponto de interrogação se visualiza a ajuda.
type "?" or "help" for help. > ? commands are: boot [xdNx:][filename] [-adrs] (ex. "sd0a:netbsd.old -s") ls [path] dev xd[N[x]]: help|? quit > boot wd0a:netbsd
Com o comando precedente indica-se ao sistema para se inicializar a partir do disco rígido ao invés do floppy. Se o sistema inicializa-se normalmente do disco rígido, trata-se apenas de um problema do gerenciador de boot. Caso contrário, provavelmente será necessário repetir a instalação. Para instalar novamente o gerenciador de boot ou modificar a sua configuração, usa-se o comando fdisk com a opção -B (ver Secção 20.4 para uma explicação detalhada).
Para o primeiro login é preciso utilizar o usuário root (a conta do administrador do sistema), o único definido no sistema ao término da instalação. Se durante a instalação foi definida uma senha para o root, é necessário inserí-la. Do contrário basta pressionar a tecla Enter.
NetBSD/i386 (Amnesiac) (ttyE0) login: root password ... We recommend creating a non-root account and using su(1) for root access. #
Até aqui a disposição do teclado permaneceu aquela da instalação, isto é, o teclado americano. Antes de começar a configurar o sistema, convém mudar a disposição para utilizar o teclado italiano executando o comando
# wsconsctl -k -w encoding=it encoding -> it
A lista completa das configurações do teclado suportadas encontra-se em /sys/dev/wscons/wsksymdef.h, mas as mais comuns são:
de
dk
fr
it
jp
sv
uk
us
no
es
Esta definição durará até a próxima inicialização. Para restabelecê-la automaticamente, inserir o comando acima no fim do arquivo /etc/wscons.conf: uma olhada nos comentários contidos no arquivo deveria ser suficiente para compreender seu mecanismo de funcionamento. Para aprofundar o argumento: wscons.conf(5). Por exemplo, para utilizar o teclado italiano basta acrescentar a seguinte linha ao arquivo /etc/wscons.conf:
encoding it
Podemos também personalizar algumas teclas, para acrescentar as chaves, o acento til etc., criando o arquivo /etc/itmap.it (o nome nós escolhemos à vontade) com o seguinte conteúdo:
keycode 12 = apostrophe question grave keycode 13 = igrave asciicircum asciitilde keycode 8 = 7 slash braceleft keycode 9 = 8 parenleft bracketleft keycode 10 = 9 parenright bracketright keycode 11 = 0 equal braceright
Enfim, acrescentar a linha que carrega o mapa no habitual arquivo /etc/wscons.conf:
mapfile /etc/itmap.it
Mais à frente veremos como fazer para que o NetBSD use por default o teclado italiano compilando um novo kernel e, também, como personalizar a disposição do teclado.
Ainda que possa parecer estranho, o comando mais importante nesse momento é o man, que mostra uma página de manual.
Comando man para ter informações sobre um comando e man -k tópico para ter um conjunto de comandos que têm a ver com um 'tópico' (pode-se também usar apropos tópico).
Naturalmente o primeiro comando a acionar é
# man man
O manual está subdividido em nove seções que não contêm informações apenas sobre comandos, mas também descrições de algumas características do sistema. Por exemplo, podemos consultar a página do hier(7) que descreve detalhadamente a arquitetura do sistema de arquivos do NetBSD
# man hier
Para quem tenha ficado um pouco perplexo, hier é a abreviação de hierarchy. Outras páginas informativas desse tipo são, por exemplo, release(7) e packages(7). Cada seção do manual tem ademais uma página intro que lhe descreve o conteúdo. Experimentar, por exemplo
# man 8 intro
Às vezes um argumento está presente em mais de uma seção do manual. Para visualizar o argumento da seção que interessa, é necessário indicar o número da seção no comando man. Por exemplo, time está presente na seção 1 (o comando de usuário time), na seção 3 (a função time na biblioteca C) e na seção 9 (a variável de sistema time). Se nos interessa uma função determinada, devemos especificar
# man 3 time
Para visualizar todas as seções
# man -a time
Ao término da instalação, o único usuário definido no sistema é o root, o administrador do sistema. Se no decorrer da instalação não foi definida uma senha para o root (o que não era possível nas versões anteriores à 1.5), chegou o momento de fazê-lo usando o comando passwd.
# passwd Changing local password for root. New password: Retype new password:
As senhas não são vistas sobre a tela quando são escritas. Mais â frente veremos como adicionar outros usuários.
A shell por omissão (default) do root é csh. Se isto não lhe diz nada, convém mantê-la e começar a estudar-lhe o funcionamento (em man csh). Trata-se de uma shell ótima para o uso interativo, ainda se lhe falta a history editing (falta remediada por tcsh, bash, ksh e da própria /bin/sh do NetBSD). Todavia, se a csh não lhe agrada, você pode mudar a shell do usuário root com o comando chsh. No todo, as shells disponíveis no sistema são
csh
sh
ksh
A nova shell será utilizada no próximo login. Enquanto isso não acontece convém dar o comando
# set filec
que habilita o completamento dos nomes na linha de comando (com a tecla Esc).
Naturalmente é possível instalar muitas outras shells (tcsh, bash, zsh, etc.) utilizando o sistema de gerenciamento de pacotes, que veremos mais adiante.
Este é um bom momento para criar/copiar os arquivos de configuração da shell (.cshrc, .login, etc.).
O NetBSD, como todos os sistemas Unix, utiliza um relógio de sistema ajustado à hora de Greenwich e não à hora local. Infelizmente isso não é possível se usamos uma dupla inicialização com, por exemplo, Windows, que exige que a hora do sistema seja ajustada à hora local. Para resolver este problema é necessário informar o NetBSD, agindo sobre a variável rtc_offset do kernel. Pode-se recompilar o kernel depois de ter modificado o arquivo de configuração ou modificar diretamente o kernel existente (a modificação tornar-se-á efetiva na próxima inicialização) com a operação ilustrada pelo próximo exemplo.
# gdb --write /netbsd GNU gdb 4.17 Copyright 1998 Free Software Foundation, Inc. ... This GDB was configured as "i386--netbsd"...(no debugging symbols found)... (gdb) set rtc_offset=-60 (gdb) quit
Note-se que o valor é indicado em minutos (-60) e representa, no caso, um fuso horário a oeste de Greenwich.
Para visualizar o valor corrente da variável:
# sysctl kern.rtc_offset kern.rtc_offset = -60
Nesse ponto simplesmente indicamos ao kernel como fazer para converter em UTC a hora do relógio do sistema. Se durante a instalação não foi definido o fuso horário, deve-se fazê-lo agora. Em todo caso convém verificar se a configuração está correta. No Brasil há quatro fusos horários, todos eles a oeste de Greenwich. Para a hora de Brasília, a configuração seria a seguinte (Nota do Tradutor):
# rm -f /etc/localtime # ln -s /usr/share/zoneinfo/Brasil/East /etc/localtime
Uma vez que o sistema estiver configurado corretamente, podem-se mudar a data e a hora com o comando seguinte:
# date [[[[[cc]yy]mm]dd]hh]mm
Nos sistemas BSD o arquivo /etc/rc.conf é quem controla o que é executado automaticamente na inicialização do sistema. Em um certo sentido pode-se dizer que ele é o coração da configuração do sistema.
O mecanismo de funcionamento desse arquivo mudou com a versão 1.5 do NetBSD. Nas versões anteriores à 1.5, todos os valores a definir encontravam-se no arquivo /etc/rc.conf. Inicialmente ele continha as configurações por default que o usuário deveria personalizar depois, modificando diretamente o próprio arquivo. A partir da versão 1.5 as configurações por default estão definidas no arquivo /etc/defaults/rc.conf. O /etc/rc.conf contém apenas as opções modificadas pelo usuário com respeito aos defaults. As opções modificadas ficam portanto definidas no /etc/rc.conf, usando-se o /etc/defaults/rc.conf ( que não deve ser modificado) como referência.
Um exame deste arquivo é altamente instrutivo e a leitura da página de manual correspondente, que descreve todas as opções, é enfaticamente aconselhada.
# man rc.conf
Ao término da instalação o sysinst já deveria ter efetuado as modificações fundamentais no arquivo. Atentar para que estejam presentes as seguintes linhas:
rc_configured=YES wscons=YES
Se "rc_configured" não está em YES o sistema entre em modo monousuário no fim do boot. A diretriz "wscons" configura o driver de console. Já que estamos aqui, se se que imprimir, convém inserir a diretriz:
lpd=YES
para ativar o dæmon de impressão.
Chegou o momento de indicar ao sistema o nome do nosso host. Há dois modos simples de fazê-lo. Se a máquina faz parte de uma rede, o nome da rede será obrigatório e o nome do host ser-nos-á provavelmente indicado pelo administrador. Se, ao contrário, se trata de um micro isolado (por exemplo, o computador de casa) pode-se escolher um nome de fantasia. Por exemplo, ape.insetti.net. Para ulteriores aprofundamentos ver o Capítulo 9.
A primeira maneira de se indicar o nome do host é inserindo a seguinte diretiva no arquivo /etc/rc.conf:
hostname=ape.insetti.net
No lugar de indicar o nome do host diretamente no arquivo de configuração, pode-se escrevê-lo no arquivo /etc/myname. Os dois métodos são inteiramente equivalentes.
# echo ape.insetti.net > /etc/myname
Nesta primeira seção
Configuramos o teclado
Mudamos a senha do root
Mudamos a shell do root (opcional)
Mudamos a hora do sistema
Definimos o fuso horário de localização
Verificamos o arquivo /etc/rc.conf
Definimos o nome do host
Ao término destas primeiras operações é necessário reinicializar o sistema:
# reboot