Arquivo do mês: 03/2009

Em tempos de Virtualização, nada melhor do que poder ter vários sistemas operacionais funcionando ao mesmo tempo em nossas máquinas. Hoje precisei acessar o Bluetooth e um Pendrive dentro de uma máquina virtual (vm). Porém para minha surpresa o VirtualBox mostrava o dispositivo porém aparentava não ter permissão para acessa-lo. E lá fui eu perguntar ao oráculo como fazer funcionar dispositivos USB na VM. Encontrei esta dica do Rafael Silva, no Viva O Linux (VOL).

Básicamente basta executarmos o seguinte comando:

root@slackware: ~# mount -o remount,devmode=666 /proc/bus/usb

Protinho! Só ir no menu “Dispositivos” do VirtualBox e depois ir em “Dispositivos USB” e marcar o dispositivo que você conectou.

Recomendo colocar esse comando em seu rc.local para sempre que inicializar o sistema, o suporte ficar ativo.

Recentemente comprei para um cliente um HD externo Firewire de 1Tb para backup dos dados contidos em alguns servidores. Em nosso planejamento, este HD ficará conectado a um servidor Linux, que roda CentOS 5.2 x86_64.

Para minha surpresa, ao conectar o HD ao servidor, ele não foi “montado” automáticamente. Então foi necessário subir manualmente. Para ativar o suporte, é necessário inicializar o módulo “firewire-ohci“.

( root@servidor /root )# modprobe firewire-ohci

No meu caso foi criado o dispositivo /dev/sdb1. E aí foi só formatar no formato ext3 e efetuar a montagem do HD no Linux.

PS: No caso do CentOS o módulo vem na “blacklist” por padrão (não me perguntem o porque). Então faz-se necessário editar o “/etc/modprobe.d/blacklist-firewire” e comentar a linha “blacklist firewire-ohci”.

Compilando o PostgreSQL

O PostgreSQL é um poderoso gerenciador de bancos de dados. Neste artigo vou mostar como compilar o PostgreSQL em seu sistema operacional Linux. No geral, recomendo a utilização dos pacotes que já vem em sua distribuição, porém se você utiliza alguma distribuição (Ex: Slackware) que não vem com pacote nativo para o mesmo, o processo de compilação é bastante simples.

1) Download do código-fonte

Acesse o site http://www.postgresql.org/ftp/source/ e baixe a versão que deseja compilar. No meu caso irei compilar o 8.3.6.

2) Criação do usuário e grupo “postgres”

Primeiramente vamos criar um grupo denominado “postgres”.

root@slackware: ~# groupadd postgres

Agora iremos criar o usuário denominado “postgres”.

root@slackware: ~# mkdir /var/lib/pgsql
root@slackware: ~# chmod 700 /var/lib/pgsql
root@slackware: ~# useradd -g postgres -G postgres -d /var/lib/pgsql -s /bin/bash postgres

3) Descompactando & Compilando o código-fonte

Entre no diretório onde você efetuou o download do PostgreSQL e descompacte-o.

root@slackware: ~# tar xvjf postgresql-8.3.6.tar.bz2 -C /usr/src/.

Agora vamos compilar!

root@slackware: ~# cd /usr/src/postgresql-8.3.6
root@slackware: /usr/src/postgresql-8.3.6# ./configure –prefix=/usr –sysconfdir=/var/lib/pgsql –localstatedir=/var/lib/pgsql –with-openssl –with-libxml –with-libxslt
root@slackware: /usr/src/postgresql-8.3.6# make
root@slackware: /usr/src/postgresql-8.3.6# make install

PS: Na linha do comando “./configure” acima, as opções “–with-openssl –with-libxml –with-libxslt” não são obrigatórias. Você poderá visualizar a lista completa de opções a serem passadas na compilação do PostgreSQL através do comando “./configure –help“.

Protinho! PostgreSQL devidamente compilado e instalado.

4) Setando as permissões para o usuário “postgres” e inicializando o DB

root@slackware: /usr/src/postgresql-8.3.6# chown -R postgres.postgres /var/lib/pgsql
root@slackware: /usr/src/postgresql-8.3.6# su – postgres
postgres@slackware: ~$ initdb -D /var/lib/pgsql/data

postgres@slackware: ~$ logout

Prontinho! Agora só falta o script de inicialização do PostgreSQL.

5) Configurando o script de incialização

root@slackware: /usr/src/postgresql-8.3.6# cp contrib/start-scripts/linux /etc/rc.d/rc.postgresqld
root@slackware:
/usr/src/postgresql-8.3.6# vi /etc/rc.d/rc.postgresqld

Agora vamos modificar as seguintes linhas:

# Installation prefix
prefix=/usr/local/pgsql

Modifique-a para:
prefix=/usr

# Data directory
PGDATA=”/usr/local/pgsql/data”

Modifique-a para:
PGDATA=”/var/lib/pgsql/data”

Salve e saia! Protinho! Agora é só inicializar o PostgreSQL através do comando:

root@slackware: ~# /etc/rc.d/rc.postgresqld start

PostgreSQL funcionando!

Tenho um notebook HP Pavilion ZE2410BR, o processador é um AMD Sempron M 3000+. Ele possuí três níveis de clock: 800MHz, 1600MHz e 1800MHz. Por padrão, o Slackware Linux não vem com suporte ao gerenciamento para alternar o clock do processador conforme seja necessário, deixando então sempre em 1800MHz. Para um notebook isso é ruim quando se está utilizando a bateria, pois o consumo de energia pode ser maior do que o necessário.

Pesquisando, encontrei então o “Powernowd“. Este utilitário segundo a descrição do pacote no Debian, serve para qualquer processador que suporte o “cpufreq” que vem nos núcleos 2.6 do Linux, e não depende de APM ou ACPI.

Ainda segundo a descrição do Debian:

“O nome é um tanto enganador, pois funcionará com qualquer processador com suporte a CPUfreq, não somente com os AMD. Entretanto, ele funciona melhor em CPUs que suportam mais de dois níveis de velocidade, como aqueles com PowerNow! da AMD ou séries Pentium M da Intel. Este daemon é menos complicado que o cpufreqd ou cpudyn, ao custo de depender absolutamente dos núcleos 2.6 com o regulador de espaço (“governor”) de usuário e suporte a sysfs habilitado.”

Agora vamos ao que interessa:

Efetue o download do Powernowd, descompacte e acesse o diretório:

root@slackware: ~# tar xvzf powernowd-1.00.tar.gz -C /usr/src
root@slackware: ~# cd /usr/src/powernowd-1.00
root@slackware: ~# make
root@slackware: ~# make install

Prontinho. Está compilado e instaldo no “/usr/sbin/powernowd”.

Agora vamos ao Kernel. Para que o daemon trabalhe, ele precisa que o módulo do kernel referente ao seu provessador de tecnologia “Mobile – M”, esteja inicializado. No caso do meu AMD Sempron M 3000+, é o módulo “powernow-k8″. Pesquise e ache o módulo correto para o seu processador.

Então vamos lá:

root@slackware: ~# modprobe powernow-k8
root@slackware: ~# /usr/sbin/powernowd -q -m 1

As opções do Powernowd são:

-q = modo quieto
-m = como será o gerenciamento do processador: 0 = Sine, 1 = Agressive, 2 = Passive, 3 = Leaps.

Sugiro que adicione os comandos em seu /etc/rc.d/rc.local para que o gerenciamento seja inicializado automáticamente.

Continuando a série que já venho fazendo sobre Slackware, vou ensina-los hoje a instalar o pacote BrOffice.org (ou OpenOffice.org se preferir) no Slackware Linux, acredito que essa dica também seja de grande valia para instalar em outras distribuições. Aqui presumo que o pacote “RPM” tenha sido instalado em seu Slackware. É necessário efetuar login com o usuário root.

Parte 1: Download do Pacote

Acesse http://www.broffice.org/download e faça o download da versão RPM do pacote (aqui já aparece ela por padrão quando acesso).

Parte 2: Descompactando e Instalando

Para descompactar:

root@slackware ~:# tar xvzf BrOo_3.0.1_LinuxIntel_install_pt-BR.tar.gz

Agora é chegada a hora de instalar os RPMs no Slackware:

root@slackware ~:# cd OOO300_m15_native_packed-1_pt-BR.9379/RPMS
root@slackware ~/
OOO300_m15_native_packed-1_pt-BR.9379/RPMS:# rpm -ihv –nodeps *.rpm
root@slackware ~/OOO300_m15_native_packed-1_pt-BR.9379/RPMS:# cd desktop-integration
root@slackware
~/OOO300_m15_native_packed-1_pt-BR.9379/RPMS/desktop-integration:# rpm -ihv –nodeps broffice.org3.0-freedesktop-menus-3.0-9376.noarch.rpm
root@slackware ~/OOO300_m15_native_packed-1_pt-BR.9379/RPMS/desktop-integration:# installpkg broffice.org3.0-slackware-menus-3.0-noarch-9376.tgz

Prontinho! Agora é só acessar o menu do seu gerenciador de janelas de verificar na opçao “Escritório” o BrOffice. Ou se preferir, execute o comando: “soffice”.

Espero ter ajudado com esta dica. Um abraço e até a próxima.

Acredito que esta dica sirva não apenas para o Slackware, mas como para qualquer outro Linux que não configure esta placa de rede automáticamente. Para tal, faz-se necessário que você efetue login no sistema com o usuário “root”.

Parte 1: Compilando o b43-fwcutter

Este utilitário será usado para extrair os firmwares da placa de rede broadcom para que a mesma funcione corretamente no Linux.

Faça o download dele em: http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2

Agora vamos descompactar e compilar

root@slackware: ~# tar xvjf b43-fwcutter-011.tar.bz2 -C /usr/src/
root@slackware: ~# cd /usr/src/b43-fwcutter-011
root@slackware: /usr/src/b43-fwcutter-011# make
root@slackware: /usr/src/b43-fwcutter-011# cd ~

Parte 2: Extraindo os Firmwares da placa de rede

Efetue o download do driver em: http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2

Agora vamos “Extrair e Instalar” os firmwares.

root@slackware: ~# tar xvjf broadcom-wl-4.150.10.5.tar.bz2 -C /usr/src/
root@slackware: ~# export FIRMWARE_INSTALL_DIR=”/lib/firmware”
root@slackware: ~# cd /usr/src/broadcom-wl-4.150.10.5/driver
root@slackware: /usr/src/broadcom-wl-4.150.10.5/driver# ../../b43-fwcutter-011/b43-fwcutter -w “$FIRMWARE_INSTALL_DIR” wl_apsta_mimo.o

Várias linhas serão exibidas neste passo. Agora vamos ativar o módulo da placa de rede:

root@slackware: /usr/src/broadcom-wl-4.150.10.5/driver# rmmod b43
root@slackware: /usr/src/broadcom-wl-4.150.10.5/driver# modprobe b43

Protinho. Neste ponto sua Wireless já deverá estar funcionando. Para efetuar um teste execute o comando abaixo:

root@slackware: /usr/src/broadcom-wl-4.150.10.5/driver# iwlist wlan0 scan

Deverão ser exibidas informações de sua rede Wireless.

Parte 3: Alguns problemas que eventualmente poderão ocorrer

1) Em outras versões do Slackware com kernel 2.6.24 ou mais antigas, talvez os firmwares precisem da versão mais antiga, então faça o download destes firmwares: http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2, o processo é o mesmo para a extração do firmware.

2) Em versões mais antigas do kernel, o driver da Broadcom era o “bcm43xx”, logo pode ser que o Kernel insista em inicializar ele no lugar do “b43″. Logo recomendo que remova este módulo ou então coloque-o numa blacklist ou ainda se preferir no seu rc.local, coloque os comandos:

rmmod bcm43xx
modprobe b43

Espero ter ajudado. Até a próxima.

Bibliografia:

http://linuxwireless.org/en/users/Drivers/b43#fw-b43-new