Páginas

sexta-feira, 30 de novembro de 2012

Script para Redundância de Links Dedicados

Olá a todos!!!

Trago a vocês neste post um script que desenvolvi para fazer a redundância de links dedicados. Como sempre, esse script reflete o meu ambiente e talvez cada um deva adaptá-lo às suas próprias necessidades.

O script abaixo testa o gateway primário definido em "GW_PRIMARIO" executando um ping para o endereço definido em "IP_TESTE_PRIMARIO1", e caso o IP não responda, ele confirma o teste executando um ping em  "IP_TESTE_PRIMARIO2". Se o segundo IP também não responder, ele executa a função "GATEWAY", que coleta todas as rotas da tabela e cria um script de adição de rotas tendo como gateway de todas, o gateway secundário.

A mesma função também cria um script de remoção de rotas contendo o gateway primário para que não haja problemas no roteamento. O mesmo algoritmo foi utilizado para testar o gateway secundário

#!/bin/bash
# Script de redundancia de links dedicados
# Desenvolvido por Rodrigo Manzzato Alves Garcia em 08/10/2012

PATH=/sbin:/usr/sbin:/bin:/usr/bin
# Informe abaixo o gateway primario
GW_PRIMARIO=""
# Informe abaixo os IPs de teste do gateway primario
IP_TESTE_PRIMARIO1=""
IP_TESTE_PRIMARIO2=""
# Informe abaixo o gateway secundario
GW_SECUNDARIO=""
# Informe abaixo os IPs de teste do gateway secundario
IP_TESTE_SECUNDARIO1=""
IP_TESTE_SECUNDARIO2=""

# Armazenar gateway padrao na variavel GW_ATUAL
GW_ATUAL=`netstat -nr | awk '$1 ~ /^[0.0.0.0]/ {print $2}'`

# ATENCAO!!! A secao abaixo so deve ser alterada com absoluta certeza de que sabe o que esta fazendo!!!

# Funcao para troca do gateway
function GATEWAY()
{
        netstat -nr | awk -v gw2="$GW2" -v gw="$GW" 'NR > 1 {if ($2 == gw2) print "route add -net " $1 FS "netmask " $3 " gw " gw > "/etc/network/gateway";}'
        netstat -nr | awk -v gw2="$GW2" 'NR > 2 {if ($2 == gw2) print "route del -net " $1 FS "netmask " $3 " gw " gw2 > "/etc/network/gateway_del";}'
    while read ROTA2
        do
                echo -e "`$ROTA2`"
        done < /etc/network/gateway_del
    while read ROTA
        do
                echo -e "`$ROTA`"
        done < /etc/network/gateway
}

# Backup das rotas existentes
echo "#!/bin/bash" > /etc/network/rotas.sh
netstat -nr | awk 'length($2) > 7' | awk 'NR > 2 {print "route add -net " $1 FS "netmask " $3 " gw " $2}' >> /etc/network/rotas.sh

# Teste das redes
if [ $GW_ATUAL = "$GW_PRIMARIO" ]
    then
        ping -c4 $IP_TESTE_PRIMARIO1 >> /dev/null
        if [ $? = "0" ]
            then   
                echo `date` "Rede Primaria OK" >> /etc/network/gateway.log
            else   
                ping -c4 $IP_TESTE_PRIMARIO2 >> /dev/null
                if [ $? = "0" ]
                    then   
                        echo `date` "Rede Primaria OK" >> /etc/network/gateway.log
                    else    # Troca de Gateway   
                        GW=$GW_SECUNDARIO
                        GW2=$GW_PRIMARIO
                        GATEWAY
                        echo `date` "Rede Secundaria Ativada" >> /etc/network/gateway.log
                        exit
                fi
        fi
elif [ $GW_ATUAL = "$GW_SECUNDARIO" ]
    then   
        ping -c4 $IP_TESTE_SECUNDARIO1 >> /dev/null
        if [ $? = "0" ]
            then   
                echo `date` "Rede Secundaria OK" >> /etc/network/gateway.log
            else   
                ping -c4 $IP_TESTE_SECUNDARIO2 >> /dev/null
                if [ $? = "0" ]
                    then   
                        echo `date` "Rede Secundaria OK" >> /etc/network/gateway.log
                    else    # Troca de Gateway
                        GW=$GW_PRIMARIO
                        GW2=$GW_SECUNDARIO
                        GATEWAY
                        echo `date` "Rede Primaria Ativada" >> /etc/network/gateway.log
                        exit
                fi
        fi
fi

Espero que seja útil de alguma forma.

Até a próxima!!!

sexta-feira, 23 de novembro de 2012

Monitoramento Básico de Discos

Olá a todos!!!

Abaixo um pequeno script que eu fiz para que as informações sobre uso de discos rígidos sejam enviadas por e-mail de tempos em tempos. Esse script foi implementado por mim em um HP-UX 11.31 que roda um importante banco de dados. Vamos a ele:

#!/sbin/sh # Esse é o shell do root no HP-UX

# As três linhas abaixo configuram o cabeçalho do e-mail a ser enviado
echo "Subject: Uso dos Discos do Servidor" > message.txt
echo "From: root@servidor" >> message.txt
echo "To: admin@empresa.com.br" >> message.txt


echo "===================================" >> message.txt
echo "Uso dos Discos em `date`" >> message.txt
echo "===================================" >> message.txt
echo "\n" >> message.txt

df -Pk | awk 'NR > 1{ printf "%-20s%-7s%-20s%-20s%-4s\n", "Volume="$1, "\t\tMontagem="$6, "\t\tOcupado(KB)="$3, "\t\tLivre(KB)="$4, "\t\tUso="$5}' >> message.txt

sendmail -t < message.txt

Bom, é isso... Até a próxima!!!

quinta-feira, 22 de novembro de 2012

Java e Tomcat

Olá a todos!!!

Esse documento eu criei quando meu chefe pediu para instalar um servidor web Debian rodando Java e Tomcat. Pensei: "Fácil, apt-get install..." mas ele pediu para instalar as versões mais recentes dos pacotes, então achei melhor baixar dos sites. Abaixo a documentação que eu criei depois de ter terminado toda a configuração.


Instalação de Java e Tomcat no Debian

Java

Baixar o pacote do openjdk no endereço http://www.oracle.com/technetwork/java/javase/downloads

Descompactar o pacote no diretório /opt

Criar as variáveis de ambiente em /etc/profile

JAVA_HOME=/opt/jdk1.7.0_07
JRE_HOME=$JAVA_HOME/jre
export JAVA_HOME
export JRE_HOME

Crie os links para os comandos do Java: update-alternatives --install /usr/bin/java java /opt/jdk1.7.0_07/bin/java 1065 (o mesmo com o javac)

Teste o funcionamento com o comando java -version e javac -version

Tomcat

Baixe o pacote do Tomcat em http://tomcat.apache.org/

Descompacte o pacote em /opt

Mude o nome da pasta criada para “tomcat”

Dê permissão de execução em todos os scripts da pasta /opt/tomcat/bin:

chmod +x /opt/tomcat/bin/*.sh

Crie o usuário e grupo do Tomcat:

groupadd tomcat
useradd -g tomcat -d /opt/tomcat tomcat
usermod -G www-data tomcat
chown tomcat:tomcat /opt/tomcat -R

Crie o script de inicialização do Tomcat

#!/bin/bash

### BEGIN INIT INFO

# Provides: tomcat7

# Required-Start: $remote_fs $syslog

# Required-Stop: $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start daemon at boot time

# Description: Enable service provided by daemon.

### END INIT INFO


CATALINA_HOME=/opt/tomcat
export CATALINA_HOME
JAVA_HOME=/opt/jdk1.7.0_07
export JAVA_HOME
TOMCAT_OWNER=tomcat; export TOMCAT_OWNER
JAVA_OPTS=-Xms128M -Xmx128M; export JAVA_OPTS

start() {
echo -n "Starting Tomcat: "
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh

}
stop() {
echo -n "Stopping Tomcat: "
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh
}

##

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: tomcat {start|stop|restart}"
exit
esac

Coloque o comando no diretório /etc/init.d e ative a chamada do comando na inicialização:

update-rc.d tomcat defaults

Teste a instalação visitando no navegador o endereço http://ip_do_servidor:8080



É isso aí pessoal, até a próxima!!!

terça-feira, 20 de novembro de 2012

Script para Instalação do KVM

Olá a todos!!!

Para facilitar a instalação e configuração do KVM, eu criei um script para Debian/Ubuntu que prepara o ambiente, instala e configura os arquivos da libvirt e instala uma interface web de administração. O script é melhor aproveitado em uma máquina com o SO recém instalado.

Detalhes do Script:

- Em meu ambiente eu utilizo VMs com rede em bridge, e isso foi passado para o script (a performance de rede fica muito mais rápida com essa configuração)

- O script cria a bridge utilizando a primeira placa de rede do sistema

- Todos os blocos de comandos foram feitos em forma de funções para que ficasse mais fácil a sua manipulação.

- O script instala a interface web webvirtmgr (www.webvirtmgr.net) que oferece funcionalidades básicas como criação de VMs, manipulação de storages, console em VNC, etc.

- Toda a instalação levou de 30 a 40 minutos (com uma conexão de 10 mbps)

- Curiosamente em algumas instalações eu tive que reiniciar o servidor após a instalação, mas em outras isso não aconteceu.

Abaixo o código:

#!/bin/bash
# Instalador do KVM e Webvirtmgr Para Debian Squeeze+ e Ubuntu
# Desenvolvido por Rodrigo Garcia 20/11/2012

clear

function sources_install()
{
    VERSION=`cat /etc/debian_version`
    if [ $VERSION = "wheezy/sid" ]
    then
        break;
    else
        # Incluir repositorios "Testing" no sources.list (apenas para Debian)
        echo "# Testing" >> /etc/apt/sources.list
        echo "deb http://ftp.debian.org/debian/ testing main contrib non-free" >> /etc/apt/sources.list
        echo "#Testing Security updates" >> /etc/apt/sources.list
        echo "deb http://security.debian.org/ testing/updates main contrib" >> /etc/apt/sources.list
        apt-get update
        # Instalar pacotes necessarios
        apt-get install kvm libvirt-bin git python3.2 python-django virtinst apache2 libapache2-mod-python libapache2-mod-wsgi -y
    fi
}
function bridge()
{
    # Criar bridge br0
    IFACE=`ifconfig | awk 'NR==1 {print $1}'`
    echo "allow-hotplug br0" >> /etc/network/interfaces
    echo "iface br0 inet dhcp" >> /etc/network/interfaces
    echo "   bridge_ports $IFACE" >> /etc/network/interfaces    # Faz uma bridge com a primeira interface de rede do sistema
    echo "   bridge_fd 9" >> /etc/network/interfaces
    echo "   bridge_hello 2" >> /etc/network/interfaces
    echo "   bridge_maxage 12" >> /etc/network/interfaces
    echo "   bridge_stp on" >> /etc/network/interfaces
    ifup br0
}
function configure_daemon()
{
    # Configurar /etc/default/libvirt-bin
    echo "start_libvirtd=\"yes\"" > /etc/default/libvirt-bin
    echo "libvirtd_opts=\"-l -d\"" >> /etc/default/libvirt-bin
    #configurar daemon do libvirt
    sed -i '22 s/#//g' /etc/libvirt/libvirtd.conf
    sed -i '33 s/#//g' /etc/libvirt/libvirtd.conf
    sed -i '98 s/"0770"/"0777"/g' /etc/libvirt/libvirtd.conf
    sed -i '146 s/#//g' /etc/libvirt/libvirtd.conf
    sed -i '146 s/"sasl"/"none"/g' /etc/libvirt/libvirtd.conf
}
function webvirt_install()
{
    # Baixar e instalar webvirtmgr
    mkdir /var/www/webvirtmgr
    git clone git://github.com/retspen/webvirtmgr.git /var/www/webvirtmgr
    # Configurar banco de dados e criar superusuario (este é o único ponto do script em que há interação com o usuário)
    /var/www/webvirtmgr/manage.py syncdb
    chown www-data:www-data /var/www/webvirtmgr -R
    chmod 755 /var/www/webvirtmgr/webvirtmgr.db
    # Configuracao do Apache
    echo "WSGIScriptAlias / /var/www/webvirtmgr/wsgi/django.wsgi" > /etc/apache2/conf.d/webvirtmgr.conf
    echo "Alias /static /var/www/webvirtmgr/static/" >> /etc/apache2/conf.d/webvirtmgr.conf
    echo "Alias /media /var/www/webvirtmgr/media/" >> /etc/apache2/conf.d/webvirtmgr.conf
    echo "<Directory /var/www/webvirtmgr/wsgi>" >> /etc/apache2/conf.d/webvirtmgr.conf
    echo "  Order allow,deny" >> /etc/apache2/conf.d/webvirtmgr.conf
    echo "  Allow from all" >> /etc/apache2/conf.d/webvirtmgr.conf
    echo "</Directory>" >> /etc/apache2/conf.d/webvirtmgr.conf
}
function modules()
{
    # Reiniciar os módulos
    rmmod kvm-intel
    rmmod kvm
    modprobe kvm
    modprobe kvm-intel
}
function services()
{
    # Reiniciar os serviços
    service libvirt-bin restart
    service apache2 restart
}
sources_install
bridge
configure_daemon
webvirt_install
modules
services
exit 0;

Espero que gostem,

Até a próxima!!!

quinta-feira, 15 de novembro de 2012

Virtualização

Olá a todos!!!

O objetivo desse post é falar rapidamente sobre um sistema de virtualização muito bom mas que não é muito conhecido, o KVM. Como eu disse no post anterior, tenho algumas máquinas virtuais bem simples (porém importantes) rodando dentro de alguns servidores Linux. A plataforma utilizada é o VMWare Server 2, que se tornou obsoleta, não tem mais suporte e nem atualizações da VMWare.

Isso pode ser um grande problema, pois qualquer atualização de kernel, pode tornar a plataforma inoperante. Comecei então a pesquisar novas soluções de virtualização que pudesse utilizar em Debian e que tivesse uma performance boa. No meu desktop eu costumo utilizar o Virtual Box, é uma boa solução, mas na minha opinião não possui uma performance muito boa.

Já tinha ouvido falar da solução KVM (Kernel-based Virtual Machine), mas nunca tinha usado. Resolvi experimentar pois dei uma lida sobre ela e achei interessante o fato de que a virtualização se dá diretamente no kernel, o que aumenta em muito a performance.

Vou ensinar aqui a instalar o KVM no sistema Debian e Ubuntu (já que os métodos são idênticos). Vou utilizar o conceito de cliente-servidor para essa solução. Então no servidor é necessário instalar os pacotes kvm, libvirt e libvirt-bin:

# apt-get install kvm libvirt libvirt-bin -y

Para aceitar conexões de um cliente, são necessárias algumas alterações. No arquivo /etc/default/libvirt-bin deve-se acrescentar a opção "-l" na linha:

libvirtd_optd="-d"

Essa opção (-l) quer dizer ao daemon para escutar conexões tcp. A próxima alteração está no arquivo /etc/libvirt/libvirtd.conf. Deve descomentar as linhas:

# listen_tls= 0
# listen_tcp= 1
# auth_tcp= "none"

Essa última opção eu coloquei "none" porque ainda não consegui fazer com que a autenticação via sasl funcionasse, e isso estava prejudicando meus testes. Quando eu conseguir fazer funcionar eu posto explicando como se faz. Um detalhe, para facilitar o gerenciamento dos arquivos utilizados para discos virtuais e imagens de cds, eu criei um link simbólico da pasta onde devem ficar armazenados esses arquivos:

ln -s /var/lib/libvirt/images  ~/virtual

Qualquer imagem de cd que você for utilizar para criar VMs, deve estar nessa pasta.

Depois dessas configurações, vamos reiniciar o libvirt:

# service libvirt-bin restart

Na máquina cliente, vamos instalar o pacote "virt-manager":

# apt-get install virt-manager -y

Essa é a interface de gerenciamento do KVM. Precisamos criar uma conexão com o servidor. Cllicamos em "Arquivo" -> "Adicionar Conexão". A opção "Hypervisor" deve ser "QEMU/KVM", marcar a caixa "Connect to Remote Host", a opção "Method" deve ser "TCP", o "Username" do servidor (pode ser o root) e em "Hostname" pode colocar o IP do servidor. Clique em "Connect" e já poderá criar as suas máquinas virtuais.

Conforme eu for avançando em meus testes até a implamantação, pretendo postar mais tutoriais e artigos referentes ao KVM. Meu próximo post provavelmente será sobre conversão de discos virtuais VMWare e VirtualBox para KVM.

Até a próxima !!!

terça-feira, 13 de novembro de 2012

Limpar Memória

Olá a todos!

Recentemente eu tive um problema com alguns de meus roteadores Linux onde também rodam algumas máquinas virtuais. A memória cache dessas máquinas estava muito alta, e isso causava uma certa lentidão no sistema. A solução é simples, basta executar o seguinte comando:

# echo 3 > /proc/sys/vm/drop_caches

Ou então

# sysctl -w vm.drop_caches=3

Esse comandos limpam todos os caches da memória. É chato porém ter que ficar monitorando o tempo todo e executando comandos, então eu criei um shell script que é agendado no crontab para ser executado a cada 30 minutos (este é o tempo que eu percebi para o crescimento da memória utilizada, pode variar para cada um). O script tem o seguinte conteúdo:

#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin

TMEM=`free -m | awk 'NR == 2 {print $2}'` # Variável para memória total
UMEM=`free -m | awk 'NR == 2 {print $3}'` # Variável para memória usada
PMEM=`echo $((40 * $TMEM / 100))` # Variável para 40% da memória total

if [ $UMEM -ge $PMEM ] # Se a memória usada for maior ou igual a 40%
        then
                echo 3 > /proc/sys/vm/drop_caches # Limpa os caches
        else
                exit;
fi

Agora basta dar permissão de execução (chmod + x cache.sh ou chmod 755 cache.sh) e agendar a sua execução:

crontab -e

30 * * * * sh /opt/cache.sh

Simples e útil!!!

Até a próxima !!!

domingo, 11 de novembro de 2012

VPN

Olá a todos!!!

O assunto desse post é mostrar como se faz a configuração de um cliente VPN no FreeBSD para se autenticar via MSCHAPv2 com MPPE. Depois de muito tentar, pesquisar, eu cheguei a configuração que eu vou demonstrar abaixo.

O primeiro passo é instalar o MPD5, que serve tanto para servidores de VPN quanto clientes. Para instalar o MPD5, digite no terminal:

# pkg_add -r mpd5

Depois da instalação, vá até o diretório do MPD5:

cd /usr/local/etc/mpd5

Crie o arquivo "mpd.conf" com o seguinte conteúdo:

startup:
default:
        load vpn

vpn:
        create bundle static B1
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0
        set iface route ip.da.rede.remota/24               

        set bundle enable compression
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e128
        set mppc yes stateless

        create link static L1 pptp
        set link action bundle B1
        set auth authname "dominio\\usuario"
        set auth password "senha"
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 20 75
        set pptp peer endereço.da.vpn
        set pptp disable windowing
        set link enable incoming
        open

Depois de criar esse arquivo, basta executar o comando:

mpd5

Aparecerão várias linhas com as informações da conexão, agora basta adicionar o ip do servidor remoto como a rota padrão e pronto!

Qualquer atualização das informações sobre esse assunto será postada aqui.

Abraços e até a próxima!!!

quarta-feira, 7 de novembro de 2012

Dicas importantes FreeBSD

Olá a todos!

Esse post tem o objetivo de ensinar algumas coisas que devem ser feitas por quem quer usar o FreeBSD. Os pontos abordados aqui são bem básicos e servem para deixar uma instalação recente funcional para o usuário doméstico.

Configuração de wi-fi:

Uma instalação nova do FreeBSD não tem interface gráfica, e por isso será necessário baixá-la e instalá-la. Para quem usa conexão cabeada é tranquilo, basta espetar o cabo de rede no PC e executar os comandos necessários. Porém quem usa wi-fi pode ficar meio assustado com a idéia de ter que configurar uma conexão no shell. As configurações utilizadas aqui servem para qualquer placa, mas os nomes das interfaces são atribuídos de acordo com o modelo. Por exemplo, a minha placa é uma Atheros, e o nome da interface ficou "ath0". Além disso, essas configurações são aplicadas para quem utiliza redes WPA com DHCP, para WEP é outro procedimento que não vou explicar aqui por enquanto.

Primeiro passo, adicionar as seguintes linhas no arquivo /etc/rc.conf

wlans_ath0="wlan0" 
ifconfig_wlan0="DHCP"

Depois disso, vamos criar o arquivo "/etc/wpa_supplicant.conf" com o seguinte conteúdo:

network={ 
ssid="nome_da_sua_rede_wifi" 
psk="chave_da_sua_rede" 
}

Depois de criar o arquivo, deve-se executar o seguinte comando "/etc/rc.d/netif start" e em seguida o comando "dhclient".

Pronto! Você já está conectado na sua rede wireless e já pode instalar pacotes no seu FreeBSD.

Ambiente Gráfico

Vamos instalar o Xorg, Gnome e GDM no FreeBSD, então para isso execute os seguintes comandos (cada um pode ser executado em um terminal diferente):

pkg_add -r xorg
pkg_add -r gdm
pkg_add -r gnome2

Agora senta e espera, porque vai demorar...

Enquanto isso podemos editar o arquivo "/etc/rc.conf" adicionando as seguintes linhas:

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

Essas linhas são necessárias para a utilização do GDM e do Gnome.

Depois de uma hora ou uma hora e meia (com uma conexão de 10 mbps), a instalação dos pacotes já deve ter terminado, então devemos executar o seguinte comando "Xorg -configure". Esse comando vai gerar o arquivo xorg.conf que será utilizado pelas sessões gráficas. Reinicie o sistema e aguarde até aparecer a tela do GDM.

Espero ter contribuído para que você consiga utilizar esse ótimo sistema que é o FreeBSD. Colocarei mais dicas nos próximos posts.

Até mais!!!  

sexta-feira, 2 de novembro de 2012

Experimentando

Olá a todos!

Durante os últimos dias eu andei experimentando vários sistemas Unix, pois enjoei do Linux e quero utilizar um sistema que seja Unix de verdade, pois todos sabem que "GNU is not Unix". Vou descrever as minha impressões sobre cada um dos que eu testei. Todos os sistemas foram testados em máquinas virtuais (VirtualBox) primeiro para depois serem testados no meu notebook.

OpenSolaris:

O OpenSolaris é um descendente do Unix System V4 desenvolvido pela Sun e AT&T no final dos anos 80. Hoje é distribuído pela Oracle e está na sua versão 11.1. Minha experiência com ele não foi muito legal, porque na vm já ficou muito lento. A instalação foi tranquila e relativamente rápida. No primeiro boot já vi uma certa lentidão para carregar os serviços (possivelmente por se tratar de máquina virtual). Devido à lentidão eu não tive muita paciência para fazer as configurações básicas de utilização como desktop e acabei abortando a sua utilização.

OpenIndiana:

Depois da minha frustrada tentativa de utilizar o OpenSolaris, eu fui testar o OpenIndiana que é um fork do sistema da Oracle. O OpenIndiana tem duas versões, server e desktop, e foi muito mais amigável do que o OpenSolaris. A instalação foi tranquila e rápida, e apenas o primeiro boot demorou um pouquinho. O gerenciador de janelas utilizado é o Gnome, que ficou muito bonito no sistema. O sistema possui gerenciadores de pacotes e atualizações no melhor estilo dos outros Unix-like da família GNU/Linux. 

O que me deixou chateado foi o fato de que os pacotes oferecidos nos repositórios (que podem ser do próprio projeto ou do OpenSolaris) serem muito antigos (por exemplo não há a opção de instalação do LibreOffice, apenas do OpenOffice) e  de não estar preparado para computadores utilizados no Brasil (dificuldades com teclado).Por esses fatores eu nem tentei testar o sistema no meu notebook, pois estou buscando um sistema para utilizar no meu dia a dia, e não posso ficar correndo atrás desses probleminhas com teclados, etc. Mas sugiro que caso haja interesse de alguém, que vá além e mande para mim suas experiências para que eu possa atualizar as informações e publicá-las no blog.

PC-BSD:

Fiquei surpreso ao descobrir que havia um projeto que nasceu em 2005 para tornar o FreeBSD mais amigável a ponto de rodar em desktops com todas as comodidades que os sistemas da família GNU/Linux oferecem hoje. Me empolguei de verdade, e fui visitar o site. Achei muito bacana a iniciativa, e o que é muito legal é que o projeto acompanha os releases do FreeBSD, que agora está na versão 9.0 e por isso o release do PC-BSD também está na 9.0.

Quem baixar apenas a imagem de CD, terá o gerenciador de janelas LXDE, que na minha opinião é muito pobre apesar de ser bem leve. Quem baixar a imagem de DVD, terá opções de instalação mais completas como até a possibildiade de instalar o FreeBSD ao invés do PC-BSD. poderá também escolher entre vários desktops como Gnome, KDE, LXDE, XFCE, etc.

Dependendo dos pacotes selecionados, a instalação vai demorar um bocado e no meu caso levou pelo menos umas 2 horas e meia. Mas é bem bacana. na máquina virtual rodou sem problema algum, nos repositórios do gerenciador de pacotes (AppCafe) tem até os adicionais para guest systems do VirtualBox.

Depois de testar na máquina virtual, decidi testar no meu notebook. O processo foi o mesmo, a instalação demorou novamente, mas reconheceu praticamente todo o meu hardware inclusive a placa de vídeo ATI. Só que depois de algum tempo de uso, dava algum pau no driver da placa que fazia desligar o sistema. Infelizmente não é possível utilizar driver VESA e configurar a minha resolução (1280x800). Mas tirando isso e a falta de cuidados com a aparência do sistema, é um bom sistema Unix para desktops.

GhostBSD:

"Gnome meets BSD" é o lema do projeto que nasceu em 2010 que tem o mesmo objetivo do PC-BSD com a diferença de focar na integração do FreeBSD com o Gnome. Baixei o DVD e executei na máquina virtual. Assim como o Ubuntu, o sistema é live com a opção de instalação depois de carregado. Também possui um gerenciador de pacotes e atualizações, instalei os adicionais do VirtualBox, contudo não tem um gerenciador de rede do sistema, e utilizar o network-manager do Gnome não surtiu efeito então tudo eve de ser configurado na mão mesmo.

Quando à aparência nem tenho o que falar. O sistema é muito bonito, caprichado com belos wallpapers e esquema de cores para os ícones. Decidi que era hora de testar no notebook. Infelizmente o sistema não subiu no meu note com o Gnome, e baixei a imagem para pen drive com LXDE. Consegui fazer a instalação mas não queria utilizar essa interface mas sim o Gnome. 

Estava baixando o meu gerenciador de janelas favorito quando deu pau na placa de vídeo como no PC-BSD e o sistema foi resligado. Reiniciei, continuei a instalação e o sistema desligou de novo. Tentei mais umas duas vezes até que a instalação do Gnome foi concluída. instalei também o GDM mas foi inútil configurá-lo para iniciar com o sistema pois não subia.Acabei desistindo por hora do GhostBSD.

FreeBSD:

Hoje eu acordei inspirado e resolvi instalar de vez o FreeBSD. Colhi antes algumas informações na Internet de como se configurava a conexão wireless em modo texto no "Friba" e de como fazia a instalação do Xorg, Gnome e GDM e fui à luta. A instalação do sistema durou 20 minutos no máximo, e então fui instalar a parte gráfica. Demorou pelo menos 1 hora e alguns minutos para instalar o Gnome, mas a vantagem é que diferente de outros sistemas, podemos instalar outros pacotes simultaneamente através do pkg_add.

Depois de umas 2 horas no máximo eu estava com o FreeBSD com Gnome funcionando tranquilamente no meu notebook, e é através dele que vos escrevo agora. Agora vou correr atrás de fazer funcionar a saída HDMI e descobrir como aumento o som¹ que está muito baixo mesmo com o nível no máximo.

Abraços e até a próxima!!!

1 - Consegui resolver a questão do som com o comando "mixer pcm 100".