FreeBSD way of life – instalação e dicas

GNU/Linux sempre foi um dos meus sistemas operacionais favoritos. A minha distro Linux de uso diário é o Debian. Eu gosto muito do “controle das coisas” que ele propicia, mas tenho altos e baixos com a visão estreita que a distro tem sobre Free Open Source. Eles levam o assunto muito a sério, como podemos ver nas notícias que eles, finalmente, “libertaram” todo o kernel Linux. Bem, esse post não veio para falar de Linux. Conhecendo Linux, é inevitável não conhecermos o Unix, o precursor disso tudo. O Unix é o “pai-de-todos”. A partir dele, conhecemos o BSD (SO criado pelo pessoal da UC Berkeley – Universidade da Califórnia), o Minix (criado por Andrew Tanenbaum, com propósitos educacionais), o Linux (criado por Linus Torvalds, a partir de seus interesses no Minix) e ainda existem vários outros que foram criados em cima da ideia do Unix. Vejam só, o Mac OS sempre foi baseado no Unix, mas passou a ser baseado no BSD a partir da sua versão X. Então podemos dizer que o Unix ainda é bastante presente nas nossas vidas (ainda não tanto entre os usuários comuns, mas vem ganhando espaço a cada dia). A partir do BSD, que acabou tornando-se um sistema operacional bastante restrito devido à várias fabricantes o terem adotado na época, foi criado o FreeBSD, que procurou a liberdade para o BSD, e o mantém livre até o momento. E é nesse cara que vou me focar a partir daqui.

Instalação Básica

A versão atual do FreeBSD é a 8.1 e pode ser baixada aqui. Eu preferi baixar a versão bootonly. Antes de continuarmos, recomendo que experimentem a instalação em uma máquina virtual, para evitar dores de cabeça mais tarde. Se gostares do sistema, poderás instalar na tua máquina real, seguindo praticamente os mesmos passos (e cuidando para não sobrescrever os SO’s existentes), daí já com a experiência de ter instalado uma vez. Aviso que FreeBSD definitivamente não é um SO recomendado para iniciantes, então muita cautela. Também coloco aqui que o FreeBSD é um sistema demorado e difícil de configurar. Tu não terás um sistema rodando antes de perder uns 2 dias (na melhor das hipóteses) configurando e instalando, enfrentar o grande dragão Smaug em sua Montanha Solitária, derrotar Saruman e seu terrível exército de uruk-hais abomináveis e derrubar o grande Olho Vermelho de Sauron, o Senhor do Escuro, em sua Torre Escura Barad-dûr, e seus terríveis Espectros do Anel, não necessariamente nesta ordem.

Bem, voltando ao que interessa:

  1. Uma vez iniciado o disco, ele irá inicializar o sistema básico, irá perguntar o país e irá cair em um menu com várias opções: um manual de referência e as opções de instalação. Selecionaremos a opção de instalação “Standard”.
  2. Os próximos três passos serão de reserva de espaço em disco, seleção do boot manager e configuração das partições do FreeBSD. Como eu estou utilizando uma VM, simplesmente pedi para usar todo o disco, usar o boot manager padrão (Standard) e usar a configuração automática para as partições do FreeBSD. Cuide para não sobrescrever teus SO’s já existentes, caso já esteja instalando na tua máquina. O FreeBSD reconhecerá automaticamente tua tabela de partições no fdisk.
  3. Após configuradas as partições, ele pedirá para escolher a distribuição a ser instalada. Eu recomendo selecionar (e marcar pressionando a tecla “Espaço”) a distribuição “User” e selecionar os manuais em inglês no menu seguinte. Quando selecionado, aperte “Tab” para selecionar o botão “Ok” e pressione “Enter”.
  4. A próxima janela irá perguntar se queres instalar as coleções do ports. O ports é uma árvore de direrórios para instalar novos softwares, como explicarei mais tarde. Selecione “Yes” nesta etapa, pois o ports será necessário mais tarde.
  5. A janela de seleções de distribuições será apresentada novamente, pressione “Tab” para selecionar o “Ok” e aperte “Enter”, para irmos à próxima etapa da instalação.
  6. A janela que será apresentada pedirá para selecionarmos a mídia de instalação do sistema. Como baixamos a versão bootonly, vamos selecionar via FTP. Atenção: pode ser que, na hora de baixar os pacotes dos servidores FTP, ocorram erros ao tentar contactar o site. Isso provavelmente significa que tem algum firewall bloqueando a conexão. Para superar isso, voltamos para esta janela e selecionamos via FTP Passivo (FTP Passive).
  7. Na próxima etapa, devemos selecionar o servidor que iremos baixar os pacotes. Recomendo usar o “Main Site” (ftp.freebsd.org).
  8. O instalador irá perguntar se queres tentar conexões IPv6 na interface. Como ainda é difícil termos suporte a esta tecnologia, vamos selecionar “No”.
  9. A próxima pergunta é se queremos tentar a configuração via DHCP. Para esta pergunta, respondemos “Yes”.
  10. Então, nos será pedido para colocar o nome do máquina em “Host”. O domínio e as outras informações já deverão estar preenchidos automaticamente, mas não custa conferir se está tudo certo. Navegue pelos itens com o “Tab”, deixe em branco o campo de “Extra options” e selecione “Ok” e pressione “Enter”.
  11. Será feita uma pergunta de última chance antes de se gravar as mudanças em disco. This is the point of no return. Se estiveres certo com tudo que foi feito, apenas pressione “Enter”.
  12. Aguarde, a instalação irá começar. Isso levará algum tempo, dependerá da tua velocidade de conexão e da capacidade de processamento da tua máquina. Aproveite e tome um cafézinho… :) A instalação até aqui não foi muito dolorosa, o pior ainda está por vir…. :P
  13. Ao final, uma tela parabenizando pela finalização da instalação será apresentada. Agora vamos configurar algumas outras coisas… Apresentarei cada pergunta e cada resposta em cada um dos próximos itens.
  14. Network gateway? “No”.
  15. Configure inetd and network services? “No”.
  16. SSH login? “Yes”. :D
  17. Anonymous FTP? “No”.
  18. NFS server? “No”.
  19. NFS client? “No”.
  20. Customize console settings? “No”.
  21. Set time zone now? “Yes”.
  22. As próximas janelas são de configuração do relógio, selecione “No” para a pergunta se o relógio da CMOS está em UTC (ou “Yes”, se tu tens certeza de que está). Selecione região e fuso nas próximas janelas; o instalador irá perguntar se a sigla BRST faz sentido, responda “Yes”.
  23. Configure mouse? “Yes”.
  24. Na próxima tela, selecione “Enable”, teste e verifique existe um ponteirinho se mexendo na tela. Caso ok, selecione “Ok” e selecione “Exit” no menu anterior.
  25. A próxima janela irá perguntar se tu queres navegar pelos repositórios de pacotes para adicionar alguma coisa à instalação. Selecione “Yes”. Navegando nas categorias da próxima janela, selecione: gnome e marque gnome2-2.30.1_1 na lista seguinte. Isso marcará todas as dependências dele. Selecione alguns temas para GTK e Metacity que estão disponíveis na lista, são bastante bons. Pressione “Ok” e voltaremos a tela de categorias anterior. Selecionamos a categoria x11, e marcamos o pacote xorg-7.5. Suas dependências serão marcadas.
  26. Na próxima janela, confirme os pacotes a serem instalados pressionando “Ok”. Caso o instalador pergunte, vamos selecionar novamente o “Main Site” para baixar os pacotes. O instalador comentará que as configurações de rede aparentemente já foram feitas, confirme isso pressionando “Ok”.
  27. Mais uma longa espera… Eu disse que isso iria demorar… Hehehehe… Repare agora que não conseguimos ter ideia nenhuma se já estamos quase terminando ou recém começando. Bad FreeBSD! No donuts for you! Repare que, ainda por cima, os pacotes do X11 não são marcados por padrão quando selecionamos o Gnome2. Muy malo!
  28. Após a instalação dos pacotes, vamos criar novos usuários para o sistema e novos grupos. Mantendo a tradição “Linux”, vamos primeiro criar um grupo especial para o usuário (em geral, com o mesmo nome do usuário) e vamos criar o usuário, adicionando o grupo criado anteriormente como grupo do usuário. Por exemplo usuário bgarber e grupo bgarber.
  29. Agora estamos de volta ao menu inicial. Simplesmente selecione “Exit install” e aperte “Enter”.
  30. O instalador irá avisar que vai reiniciar a máquina, pressione “Ok” e certifique-se de remover os discos, para não entrares na instalação novamente.

Pronto, temos o sistema básico funcionando. O que eu achei de errado no instalador do FreeBSD é que, enquanto ele está instalando pacotes adicionais, não se dá pra ter ideia de quanto já foi concluído. Podiam ter um pouco mais de informações estas telas! Além de tudo, ao fazer reboot, verás que a interface gráfica não carregará imediatamente… Isso por que teremos que configurar mais algumas coisas, o que explicarei logo em seguida…

pkg_add, pkg_deleteports

Bem, depois da instalação do sistema, acho que faz sentido falarmos um pouco sobre a instalação de pacotes no FreeBSD. São oferecidas duas formas de instalar novos softwares: ou a partir dos pacotes pré-compilados usando pkg_add, ou compilá-los manualmente usando a árvore do ports. Antes de usarmos estas ferramentas, é interessantes rodarmos os seguintes comandos:

# freebsd-update fetch install
# portsnap fetch extract

O primeiro comando irá atualizar o sistema e o segundo irá baixar e instalar a árvore de diretórios do ports.

Falando, então, do pkg_add. Ele é usado para instalar novos pacotes e, em geral, é executado da seguinte forma:

# pkg_add -r <packet_name>

Portanto, se eu fornecer “vim” no lugar do “<packet_name>”, o FreeBSD irá instalar, a partir dos repositórios remotos (reconhecido pelo argumento “-r”) o “vim”. O pkg_add irá resolver as dependências e instalá-las.

De forma inversa ao pkg_add, o pkg_delete é utilizado para remover pacotes instalados no sistema. Cuidado, pois ele se recusará a desinstalar um pacote que possui outros pacotes que dependam dele. Recomendo a leitura dos manuais dos comandos. :)

O ports é uma versão mais “mão-grande” do pkg_add. Enquanto o pkg_add fornece pacotes pré-compilados, o ports baixa, compila e instala cada dependência para um programa que deve ser instalado. Mas não se iluda, isso pode parecer muita coisa, mas muitas vezes é o mais recomendado. O ports em si não é um comando, é uma estrutura de diretórios. Dentro de /usr/ports veremos uma lista de diretórios, dividindo os pacotes por categorias. Entramos no diretório da categoria, entramos no diretório do pacote, executamos make install clean e o pacote e suas dependências não satisfeitas serão baixadas, compiladas e instaladas. Um exemplo, usando o pacote do vim:

# cd /usr/ports/editors/vim
# make clean install

Pronto. Recomendo dar uma olhada nas categorias e uma navegada pelos diretórios. Instalar pacotes pelo ports vai demorar um pouco mais do que de costume, mas vale a pena. Para remover algum pacote, basta executar make deinstall, dentro do diretório do pacote.

Configurando o X.org, o GDM e o Gnome

Como vocês devem ter reparado, ter instalado os pacotes do Gnome e do X.org não fez com que nenhuma interface gráfica fosse carregada, no momento. Isso é porque o FreeBSD não configurou para carregar os módulos deles em tempo de boot. para carregar a interface gráfica por padrão no momento do boot, basta adicionar as seguintes linhas no arquivo /etc/rc.conf:

dbus_enable="YES"
hald_enable="YES"
gdm_enable="YES"
gnome_enable="YES"

Além disso, devemos configurar o kern.maxfiles. Esta é uma das variáveis dos “tunables“, o que quer dizer que podemos otimizar a performance do FreeBSD. Devemos atualizar este valor, que indica o máximo de arquivos que podem ser abertos ao mesmo tempo no sistema. A alteração é feita no arquivo /boot/loader.conf, adicionando a seguinte linha:

kern.maxfiles=20000

Por fim, teremos que adicionar no /etc/fstab para montar o /proc. Isso se faz necessário, pois sem isso o GDM não exibirá os usuários do sistema.

proc   /proc   procfs   rw   0   0

Dicas Finais

  • Use o /usr/ports. É a melhor maneira de instalar novos programas.
  • Permita que um usuário possa fazer “su -” (para acessar a conta de root) adicionando-o no grupo wheel.
  • Se estiver numa VM VirtualBox, instale os guest additions! Basta irmos no ports do FreeBSD /usr/ports/emulators/virtualbox-ose-additions; executar make install clean; executar Xorg -configure; copiar o xorg.conf.new para o /etc/X11; e atualizar o /etc/X11/xorg.conf, trocando a opção “Driver” da sessão “Device” para “vboxvideo” e a opção “Driver” da sessão “InputDevice” para “vboxmouse“.
  • Às vezes o GDM não inicia assim, tão automaticamente. Recompilá-lo pelo ports (/usr/ports/x11/gdm; make deinstall; make reinstall clean) é uma boa ideia. :D Quando fizer o reboot, pode ser que ele ainda assim não inicie de primeira, entre como root e execute gdm restart. Agora ele tem que iniciar e provavelmente passará a funcionar no boot.
  • Minha experiência diz que coisas obscuras podem acontecer enquanto estiveres usando o FreeBSD. Não tenha medo de buscar as informações na internet!
  • Tenha paciência. O FreeBSD é um sistema lento quando instalado pelos pacotes pré-compilados. Recompilar o kernel, otimizando para o teu caso, é uma boa ideia (tem um manual de como fazer isso aqui).

Bem, este foi um artigo bastante longo e cansativo. Aproveite seu novo sistema operacional. :D

One thought on “FreeBSD way of life – instalação e dicas

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>