Arquivos da categoria: Linux

Fedora 18: Instalando Steam

O Steam funciona muito bem no Fedora 18, para a instalação dele vamos utilizar o repositório do Tom ‘spot’ Callaway que é Fedora Engineering Manager(http://fedoraproject.org/wiki/User:Spot). O único problema é que até o dia 16/01/2013 ele ainda não tinha liberado a ultima versão do Steam, mesmo assim o Steam funcionava sem problemas.

1 – Configuração do YUM

su
cd /etc/yum.repos.d/
curl http://spot.fedorapeople.org/steam/steam.repo >> steam.repo

2 - Instalação do Steam

su
yum update
yum install steam

Update: O repositório do ‘spot’ já esta sendo atualizado novamente.

Steam rodando no Fedora 18

Steam rodando no Fedora 18

Fedora 18: Instalando driver fglrx / catalyst

Se sua placa de vídeo ATI é da serie HD ou superior você pode utilizar esse tutorial. Se for inferior a AMD não da mais suporte e o RPM Fusion contem somente a ultima versão dos drivers.

Para você poder instalar os drivers da sua placa de rede no Fedora 18 é necessário executar os seguintes passos:

1 - Adicionar o RPM Fusion

su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'

2 - Instalar o pacote do RPM Fusion

su
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs.i686

3 – Gerar um novo initramfs

su
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-radeon.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)

4 – Reiniciar

reboot

5 – Removendo o logo “AMD Testing use only”

vi /etc/ati/signature

Apagar o que estiver no arquivo e colocar o seguinte conteudo

9777c589791007f4aeef06c922ad54a2:ae59f5b9572136d99fdd36f0109d358fa643f2bd4a2644d9efbb4fe91a9f6590a145:f612f0b01f2565cd9bd834f8119b309bae11a1ed4a2661c49fdf3fad11986cc4f641f1ba1f2265909a8e34ff1699309bf211a7eb4d7662cd9f8e3faf14986d92f646f1bc

O interessante de utilizar o RPM Fusion é que ele está com a ultima versão do driver, então quando sair uma versão mais nova vai ser posivel atualizar utilizando o yum sem dores de cabeça.

Referencia: http://www.forums.fedoraforum.org/showthread.php?t=155503
Referencia: http://askubuntu.com/questions/206558/how-to-remove-the-amd-testing-use-only-watermark-from-ubuntu-12-10

Compilando WRF serial no Ubuntu 12.04 Precise Pangolin LTS

Esse post tem como base em meu outro post, nesse mesmo blog: http://blog.tadeucruz.com/2012/05/compilando-wrf-serial-no-debian/, porem o texto aqui foi adaptado para o WRF compilar no Ubuntu 12.04 Precise Pangolin LTS.

Todos os programas/dependencias usando neste tutorial podem ser encontrado facilmente usando o Google, porem você pode fazer download deles aqui: http://tadeucruz.com/WRF/src . Estou colocando todos os programas neste diretório para facilitar e garantir a compilação do WRF. Faça o download de todos os arquivos que se encontra no link acima e salve em uma única pasta.

Importante, todos os programas compilados vão ser estar na pasta /home/tadeucruz/wrf/stuff/, então se deseja mudar o local de instalação modifique substitui todos os /home/tadeucruz/wrf/stuff/ pela a pasta desejada.

1 – Instalação das dependências do Debian.

apt-get install gfortran gfortran-4.6-multilib csh build-essential libcloog-ppl0 m4

2 – Instalação do HDF5 e suas dependências:

tar xvfz szip-2.1.tar.gz
cd szip-2.1
./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..
tar xvfz zlib-1.2.6.tar.gz
cd zlib-1.2.6
./configure --prefix=/home/tadeucruz/wrf/stuff
make
make check
make install
cd ..
tar xvfj hdf5-1.8.9.tar.bz2
cd hdf5-1.8.8
./configure --prefix=/home/tadeucruz/wrf/stuff/ --with-zlib=/home/tadeucruz/wrf/stuff --with-szip=/home/tadeucruz/wrf/stuff --enable-fortran --enable-cxx
make
make check
make install

3 – Instalação do NETCDF:

tar xvfz netcdf-4.1.3.tar.gz
cd netcdf-4.1.3
LD_LIBRARY_PATH=/home/tadeucruz/wrf/stuff/lib/:$LD_LIBRARY_PATH CPPFLAGS=-I/home/tadeucruz/wrf/stuff/include LDFLAGS=-L/home/tadeucruz/wrf/stuff/lib ./configure --prefix=/home/tadeucruz/wrf/stuff
make
make check
make install
cd ..

4 – Instalação do WRFV3.

4.1 Se tem a necessidade de compilar o WRFV3.3.1.TAR.gz

tar xvfz WRFV3.3.1.TAR.gz
cd WRFV3
export NETCDF=/home/tadeucruz/wrf/stuff/
export WRF_EM_CORE=1
export WRF_NMM_CORE=0
./configure
#Resposta serial usando o gfortran e logo depois escolha a opção 1
vi phys/module_cu_g3.F
## Procurar por: integer, dimension (8)
## Substituir por: integer, dimension (12)
./compile em_real
cd ..

4.2 – Usando a versão mais nova WRFV3.4.TAR.gz

tar xvfz WRFV3.4.TAR.gz
cd WRFV3
export NETCDF=/home/tadeucruz/wrf/stuff/
export WRF_EM_CORE=1
export WRF_NMM_CORE=0
./configure
#Resposta serial usando o gfortran e logo depois escolha a opção 1
./compile em_real
cd ..

5 – Instalação do WPS e suas dependências:

tar xvfz libpng-1.5.8.tar.gz
cd libpng-1.5.8
CPPFLAGS=-I/home/tadeucruz/wrf/stuff/include LDFLAGS=-L/home/tadeucruz/wrf/stuff/lib ./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..

unzip jasper-1.900.1.zip
cd jasper-1.900.1/
./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..
tar xvfz ncl_ncarg-6.0.0.tar.gz
cd ncl_ncarg-6.0.0/
cp config/LINUX.64.GNU config/LINUX
./Configure -v
#http://tadeucruz.com/WRF/Compilando-NCL.mp4
make Everything
make install

cd ..

5.1 – WPSV3.3.1.TAR.gz

export NCARG_ROOT=/home/tadeucruz/wrf/stuff/
export PATH=$NCARG_ROOT/bin:$PATH
export NETCDF=/home/tadeucruz/wrf/stuff/
tar xvfz WPSV3.3.1.TAR.gz
cd WPS
./configure
#Escolher Serial no GRIB2 usando gfortran.
./compile
cd ..

5.2 – WPSV3.4_r675.TAR.gz

export NCARG_ROOT=/home/tadeucruz/wrf/stuff/
export PATH=$NCARG_ROOT/bin:$PATH
export NETCDF=/home/tadeucruz/wrf/stuff/
tar xvfz WPSV3.4_r675.TAR.gz
cd WPS
./configure_old
#Escolher Serial no GRIB2 usando gfortran.
./compile
cd ..

6 – Pronto você já tem o WRF pronto para ser executado, porem antes de poder fazer isso você tem que exportar algumas variáveis de ambientes.

LD_LIBRARY_PATH_WRF=/home/tadeucruz/wrf/stuff/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH_WRF:$LD_LIBRARY_PATH
export NCARG_ROOT=/home/tadeucruz/wrf/stuff/
export PATH=$NCARG_ROOT/bin:$PATH
ulimit -s unlimited

Compilando WRF serial no Debian Squeeze

Todos os programas/dependencias usando neste tutorial podem ser encontrado facilmente usando o Google, porem você pode fazer download deles aqui: http://tadeucruz.com/WRF/src . Estou colocando todos os programas neste diretório para facilitar e garantir a compilação do WRF. Faça o download de todos os arquivos que se encontra no link acima e salve em uma única pasta.

Importante, todos os programas compilados vão ser estar na pasta /home/tadeucruz/wrf/stuff/, então se deseja mudar o local de instalação modifique substitui todos os /home/tadeucruz/wrf/stuff/ pela a pasta desejada.

1 – Instalação das dependências do Debian.

apt-get install gfortran gfortran-4.4-multilib csh build-essential libcloog-ppl0

2 – Instalação do HDF5 e suas dependências:

tar xvfz szip-2.1.tar.gz
cd szip-2.1
./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..
tar xvfz zlib-1.2.6.tar.gz
cd zlib-1.2.6
./configure --prefix=/home/tadeucruz/wrf/stuff
make
make check
make install
cd ..
tar xvfj hdf5-1.8.8.tar.bz2
cd hdf5-1.8.8
./configure --prefix=/home/tadeucruz/wrf/stuff/ --with-zlib=/home/tadeucruz/wrf/stuff --with-szip=/home/tadeucruz/wrf/stuff --enable-fortran --enable-cxx
make
make check
make install

3 – Instalação do NETCDF:

tar xvfz netcdf-4.1.3.tar.gz
cd netcdf-4.1.3
LD_LIBRARY_PATH=/home/tadeucruz/wrf/stuff/lib/:$LD_LIBRARY_PATH CPPFLAGS=-I/home/tadeucruz/wrf/stuff/include LDFLAGS=-L/home/tadeucruz/wrf/stuff/lib ./configure --prefix=/home/tadeucruz/wrf/stuff
make
make check
make install
cd ..

4 – Instalação do WRFV3.

tar xvfz WRFV3.3.1.TAR.gz
cd WRFV3
export NETCDF=/home/tadeucruz/wrf/stuff/
export WRF_EM_CORE=1
export WRF_NMM_CORE=0
./configure
#Resposta serial usando o gfortran e logo depois escolha a opção 1
./compile em_real
cd ..

5 – Instalação do WPS e suas dependências:

tar xvfz libpng-1.5.8.tar.gz
cd libpng-1.5.8
CPPFLAGS=-I/home/tadeucruz/wrf/stuff/include LDFLAGS=-L/home/tadeucruz/wrf/stuff/lib ./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..

unzip jasper-1.900.1.zip
cd jasper-1.900.1/
./configure --prefix=/home/tadeucruz/wrf/stuff/
make
make check
make install
cd ..
tar xvfz ncl_ncarg-6.0.0.tar.gz
cd ncl_ncarg-6.0.0/
cp config/LINUX.64.GNU config/LINUX
./Configure -v
#http://tadeucruz.com/WRF/Compilando-NCL.mp4
make Everything
make install

cd ..
export NCARG_ROOT=/home/tadeucruz/wrf/stuff/
export PATH=$NCARG_ROOT/bin:$PATH
export NETCDF=/home/tadeucruz/wrf/stuff/
tar xvfz WPSV3.3.1.TAR.gz
cd WPS
./configure
#Escolher Serial no GRIB2 usando gfortran.
./compile
cd ..

6 – Pronto você já tem o WRF pronto para ser executado, porem antes de poder fazer isso você tem que exportar algumas variáveis de ambientes.

LD_LIBRARY_PATH_WRF=/home/tadeucruz/wrf/stuff/lib/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH_WRF:$LD_LIBRARY_PATH
export NCARG_ROOT=/home/tadeucruz/wrf/stuff/
export PATH=$NCARG_ROOT/bin:$PATH
ulimit -s unlimited

Corrigindo – erro ao fazer download XXX não há espaço suficiente no dispositivo

Ou em ingles “Error while downloading XXX. There is insufficient space”.

Este erro aparece nas novas versão do Android Market para Galaxy S. O problema é que o diretório que o APP Market tenta fazer o download do arquivo é muito pequeno e por isso da o erro. Este tutorial requer uma certo conhecimento com linhas de comandos. Não vou explicar como fazer a instalação do ABD, isso pode ser encontrado facilmente na net, vou somente passar os comandos para resolver o problema.

Para você ter uma idéia, estou usando atualmente F4K ROM do nossos vizinhos argentinos http://www.f4krom.com.ar/, e a partição /cache tem somente 26 MB, isso quer dizer se vc for fazer download de algum APP acima de 26 MB este erro vai acontecer.

Para resolver este erro basta executar alguns passos bem simples. Primeiramente vamos acessar o nosso Galaxy S com o seguinte comando

./adb shell

E apos isso vamos executar os seguintes comandos:

#64 MB
dd if=/dev/zero of=/mnt/sdcard/cache.img bs=1024 count=65536

# criando arquivo EXT4
mke2fs -F -T ext4 /mnt/sdcard/cache.img

umount /dev/block/stl11

# mount
losetup /dev/block/loop7 /mnt/sdcard/cache.img
mount -t ext4 /dev/block/loop7 /cache

chown 1000.2001 /cache
chmod 770 /cache

Porem se você desligar e ligar o celular o problema vai voltar e você vai ter que executar novamente os comandos acima. Estou pesquisando ainda como faz para executar comandos durante o boot do Android.

Referencias:

http://forum.xda-developers.com/showpost.php?p=16252668&postcount=46

Android SDK e Arch 64 Bits – [SDK Manager] Failed to create the SD card.

Depois de instalar e configurar o Arch 64 Bits fui logo instalando o Eclipse e o Android SDK. Quando fui criar um novo Virtual Devices apareceu o erro abaixo.

 [SDK Manager] Failed to create the SD card.

O problema é que o utilitário mksdcard que vem no Android SDK precisa de algumas lib-32 para seu funcionamento correto. Para fazer funcionar corretamente você precisa abiltiar o repositório multilib do seu Arch no arquivo /etc/pacman.conf.

[multilib]
Include = /etc/pacman.d/mirrorlist

E logo depois executar o comando abaixo.

sudo pacman -Sy lib32-libstdc++5 lib32-libx11 lib32-ncurses lib32-zlib lib32-sdl lib32-libxext

Migrando do OpenWebMail+SendMail para Zimbra

Tive este ótimo desafio de migrar do OpenWebMail para o Zimbra. Sempre estive de olho no que o Zimbra poderia oferecer para usuários finais sem falar para o administrador . OpenWebMail também pode ser bem potente porem precisa de um administrador mais encima do servidor controlando.

1 – Problemas com: OpenWebMail+SendMail+Outros

O grande problema que estava tendo com o antigo servidor era basicamente as caixas dos usuários serem maiores que 1GB então para o OpenWebMail abrir estas caixas era um custo de CPU muito grande alem da antiga maquina ser uma maquina virtual que não ajudava muito com operação I.O.(Acho que seja um problema bem comum de sistemas que usam mbox). Com o SendMail não tenho reclamação fazia seu trabalho com rapidez .

Outro problema que estava tendo era com SPAM, não tinha forma simples de fazer um treinamento com as mensagens que eram ou não eram SPAM e com o Zimbra somente com um único click os próprios usuários podem realizar este treinamento do que é Spam e não é.  O servidor antigo tinha ate o SpamAssassin instalado porem para fazer algo parecido como o Zimbra no treinamento de Spam tinha que tentar fazer uma padronização de pastas com usuarios e fazer eles moverem as mensagens para as pastas e fazer um crontab para rodar sempre o SpamAssassin nestas pastas de todos usuários para ele aprender o que seria SPAM ou não.

Outra coisa que me incomodava era que o antigo servidor não tem suporte a IMAP e usava um servido POP que somente buscava os mbox de um lugar.

2 – Desafio: Migrando caixas de e-mail

Não tem segredo.  O Zimbra tem uma ótima documentação de qual ferramenta usar para a migração de emails: http://wiki.zimbra.com/index.php?title=User_Migration

As caixas de email do antigo servidor eram organizadas das seguintes formas:

  • /mail/usuario
  • /home/horizontes/usuario/mail

Com isso teria que fazer uma escolha de um servidor de IMAP que tivesse suporte a multiplas caixas. Outro problema que tive era o pouco tempo para fazer migração de 80 GB de email e não podia parar um servidor para fazer a migração, tinha que fazer a migração em HOT e com isso vem o grande problema,  como fazer o controle de senhas ?  Quero dizer que não podia mudar a senha do servidor original para poder fazer a autenticação no IMAP pois assim o usuário não ia conseguir olhar seus emails. Acabei descobrindo que o dovecot tem uma solução simples e rápido para isso.

2.1 – dovecot

O dovecot tem opção de usar o “modulo” passwd-file que tem a possibilidade de você informar,  em um arquivo de texto simples,  usuário e senha:

user:{plain}password
user2:{plain}password2

E automaticamente ele busca informações do /etc/passwd do diretorio Home do usuario, precisava disso pois configurei o  dovecot para ler os mbox da seguinte forma:

mail_location = mbox:~/mail:INBOX=/mail/%u

Para configuração do devecot olhar o link acima que é muito bem documentado.

Resolvi colocar como senha para os usuários os 3 primeiro dígitos do CPF e os 3 últimos dígitos, com isso resolvi o problema de usuário e senha durante a migração. Agora é buscar a ferramenta para migração dos e-mails.

2.2 – imapsync e criação de usuário.

Agora com os problemas da senha resolvido bastava fazer um script simples para fazer a migração e criação dos usuário no zimbra, o script abaixo foi executado na maquina que o zimbra foi instalado.

#!/bin/bash

while read LINHA
do
email=`echo $LINHA |cut -d: -f1`
nome=`echo $LINHA |cut -d: -f2`
senha=`echo $LINHA |cut -d: -f3`
echo "/opt/zimbra/bin/zmprov ca $email $senha displayName $nome zimbraCOSid 1c6d4f62-e622-4370-8082-fab43b41e4b5"
/opt/zimbra/bin/zmprov ca $email $senha displayName "$nome" zimbraCOSid 1c6d4f62-e622-4370-8082-fab43b41e4b5
echo "/opt/zimbra/bin/zmprov listaGeralEmail@empresa.com $email"
/opt/zimbra/bin/zmprov adlm listaGeralEmail@empresa.com $email
nomeantigo=`echo $email |cut -d "@" -f1`
imapsync --buffersize 8192000 --nosyncacls --subscribe --noauthmd5 --syncinternaldates --host1 192.168.20.87 --user1 $nomeantigo.nh --password1 $senha --host2 localhost --user2 $email --password2 $senha
done < listausuarios

O parametro zimbraCOSid é ID da sua “Class of Service”  e para obter este numero basta entrar na área administrativa e clicar na sua COS padrão para os usuários.

No arquivo “listausuarios” ele esta no seguinte formato:

email@daempresa.com:'Nome da Pessoa':password

Lembrando que o password são os 3 primeiro dígitos do CPF e os 3 últimos dígitos. Antes de executar o script é importante você entrar na área administrativa do Zimbra ir em “Global Settings>IMAP” e selecionar “Enable clear text login”  senão vai dar erro durante a migração. Basta executar os scripts que ele vai criar o usuário e migrar as contas de e-mail.

Dica: noip2 port

Comecei a usar o shorewall em servidores proxy e comecei a ter o seguinte problema com o noip2:

noip2[6873]: Can't connect to dynupdate.no-ip.com (Connection refused)

A solução é que o noip2 usar a port 8245 para fazer comunicação com o servidor dele, então o jeito foi liberar esta port no shorewall

ACCEPT          $FW             net             tcp     8245

Migrando do OpenSuse para Debian

Tive que realizar uma pequena migração de OpenSuse para Debian, coisa fácil quando usado o rsync porem os usuario que foram migrados não queriam autenticar no Debian, fui pesquisar o motivo e descobrir que o OpenSuse usa o algoritmo Blowfish para fazer criptografia de senha e o Debian esta no MD5 por padrão. Como a migração do servidores era do Samba não podia simplesmente ignorar os grupos e usuários tive que utilizar o diff e pach para realizar esta migração. Vamos ao passo a passo do trabalho realizado.

1 – Vamos configurar o Debian para utilizar o Blowfish para autenticação no PAM

  • apt-get install libpam-unix2
  • Substituir “pam_unix.so” por “pam_unix2.so” nos seguintes arquivos:
    • /etc/pam.d/common-auth
    • /etc/pam.d/common-account
    • /etc/pam.d/common-session
    • /etc/pam.d/common-password
  • Substituir “md5″ por blowfish no arquivo:
    • /etc/pam.d/common-password

Para a senha de root funcionar você tem que mudar a senha para funcionar perfeitamente com o novo algoritimo de cryp. Porem estava tendo mais um problema, como juntar os arquivos passwd e groups sem dar conflito de ID dos serviços principais do Debian, o jeito foi usar o path como foi falando acima.  Fiz o seguinte codigo abaixo para fazer todo processo do path pois minha intenção e somente ativar o servidor de Backup quando o primario falhar, sim esta ativação tem que ser manual.

#!/bin/bash

echo "Iniciando Samba de backup"
echo "Fazendo bkp dos arquivos importantes /etc/original202/"
mkdir -p /etc/original202/
cp /etc/passwd /etc/original202/
cp /etc/shadow /etc/original202/
cp /etc/group /etc/original202/
echo "Juntando arquivo de passwd para manter usuarios"
cd /tmp
cp /etc/passwd passwd.old
cp /etc/bkp/passwd passwd.new
diff -c passwd.old passwd.new > passwd.patch
patch < passwd.patch
cp passwd.old /etc/passwd
cp /etc/shadow shadow.old
cp /etc/bkp/shadow shadow.new
diff -c shadow.old shadow.new > shadow.patch
patch < shadow.patch
cp shadow.old /etc/shadow
cp /etc/group group.old
cp /etc/bkp/group group.new
diff -c group.old group.new > group.patch
patch < group.patch
cp group.old /etc/group

Quantos % de software non-free você tem em sua maquina ?

Sei que é uma pergunta que não vai mudar a vida de ninguém e que sinceramente não vai fazer diferença alguma ao usuário final, porem tem pessoas que gosta de saber destas coisas. Bom o jeito facil de responder esta pergunta é usando o programa chamado “vrms” no Ubuntu. Rodando o comando ele vai gerar o resultado abaixo:

tadeucruz@fnh-rurilinux:~$ vrms
Non-free packages installed on fnh-rurilinux

fglrx-modaliases          Identifiers supported by the ATI graphics driver
linux-generic             Complete Generic Linux kernel
linux-restricted-modules- Non-free Linux 2.6.28 modules helper script
linux-restricted-modules- Restricted Linux modules for generic kernels
nvidia-173-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-180-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-71-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-96-modaliases      Modaliases for the NVIDIA binary X.Org driver
opera                     The Opera Web Browser
tangerine-icon-theme      Tangerine Icon theme
unrar                     Unarchiver for .rar files (non-free version)
Reason: Modifications problematic

Contrib packages installed on fnh-rurilinux

flashplugin-installer     Adobe Flash Player plugin installer
flashplugin-nonfree       Adobe Flash Player plugin installer (transitional pack
gstreamer0.10-pitfdll     GStreamer plugin for using MS Windows binary codecs
nvidia-common             Find obsolete NVIDIA drivers
ttf-mscorefonts-installer Installer for Microsoft TrueType core fonts

11 non-free packages, 0.8% of 1440 installed packages.
5 contrib packages, 0.3% of 1440 installed packages.

No total tenho 1% de pacotes “não livres” em minha maquina, porem sem alguns deles conserteza a utilização do Hardware ou da propria internet não teria tanta graça.