Archive for May, 2007

Este é um trabalho acadêmico realizado pelos meus alunos do 3 Semestre do curso de Tecnologia em Redes de Computadores, da FAENAC em São Caetano do Sul.

Os alunos fizeram algo muito interessante: Em um notebook P4 com 512 MB de RAM rodando Windows XP, instalaram o Ubuntu Feisty 7.04 dentro de um Vmware, e dentro desta máquina virtual configuraram um Xen para rodar uma para-virtualização do Ubuntu Edgy 6.10.

Uma pena que eles esqueceram de colocar as fontes das consultas, mas eu sei que uma delas foi retirada do Wiki do Ubuntu, a qual eu mesmo escrevi. E antes que eu esqueça, sim eles serão penalizados por esquecerem de citar a fonte! :-)

A apresentação deles está bem recheada de ScreenShoots das configurações, mas você pode usar o Wiki se quiser fazer algo parecido (está mais legível).

Alunos:
Cezimar Nascimento / Diego Carvalho / Jose Wilter Frazão / Josiel Borges e Rodolfo Domingues

Link para download: Apresentação Acadêmica sobre o XEN

Abraços a todos

Imagine que você tem um servidor LAMP redondinho, com Apache2, PHP5 e MySQL5 mas que por motivos maiores você precise colocar nesse mesmo servidor um outro apache com PHP4 e MySQL4, por exemplo. Você terá que resolver vários pequenos problemas (porta e IP para escutar, por exemplo) mas o mais chato e menos documentado é com relação ao Socket padrão que o PHP usa para falar com o MySQL correto. Isso precisa ser definido na hora da compilação do MySQL e também no PHP, embora o mesmo tenha opção para alterar pos-compilação, só me parece funcionar adequadamente no PHP5.

Estou usando prefixos customizados mas você não precisa faze-lo. O MySQL5 está com o socket em /tmp/mysql.sock, portanto certifique-se de alterar isso na compilação do MySQL4:

# cat /data/dbms/mysql4/source/compila.sh
#!/bin/bash
./configure \
“–prefix=/data/dbms/mysql4/bin-4.1.22″ \
“–enable-thread-safe-client” \
“–with-pthread” \
“–with-unix-socket-path=/tmp/mysql4.sock” \
“–with-tcp-port=3309″ \

Na compilação do PHP, confirme essas informações:

# cat /data/php/php4+mysql4/source/compila.sh
./configure \
–prefix=”/data/php/php4+mysql4/bin-4.4.7″ \
–with-freetype-dir=”/usr/lib64″ \
–with-zlib \
–with-jpeg-dir=”/usr/lib64″ \
–with-gd \
–with-mysql=”/data/dbms/mysql4/bin” \
–with-mysql-sock=”/tmp/mysql4.sock” \
–with-ttf \
–with-confdata-file-path=”/data/php/php4+mysql4/bin-4.4.7″ \
–with-apxs2=”/data/http_servers/apache2+mysql4+php4/bin-2.2.4/bin/apxs” \
–with-mime-magic=”/data/http_servers/apache2+mysql4+php4/bin-2.2.4/conf/magic” \

Depois apenas verifique se a porta e o socket estão corretos nos arquivos de configuração e no phpinfo:

# cat /data/dbms/mysql4/bin/var/my.cnf
[client]
port = 3309
socket = /tmp/mysql4.sock

[mysqld]
port = 3309
socket = /tmp/mysql4.sock

# cat /data/php/php4+mysql4/bin-4.4.7/php.ini
mysql.default_port = 3309
mysql.default_socket = /tmp/mysql4.sock

E seja feliz com seu LAMP duplo :)

Para aqueles que adimiram e conhecem um pouco da história de Steve Jobs, numa formatura, ele fez um discurso para jovens recem-formados, prontos para enfrentar o mundo e usar aquilo que aprenderam durante vários anos de estudos. Steve, conta 3 histórias super interessantes, nas quais, podemos apreender e endender um pouco mais de uma mente tão brilhante. Realmente uma possoa que mudou o mundo com seus sonhos. Acima você pode assistir ao discurso do “homi”. Enjoy! 8)

Update: Quem não puder/quiser assistir o vídeo, leia essa transcrição que é quase tão interessante quanto o original :)

Como a dica de usar o PAM para deixar apenas determinados usuários virarem usarem o su já está muito bem documentada, vou postar uma usando os mesmos princípios para impedir que usuários “engraçadinhos” desliguem ou reiniciem sua máquina remotamente via SSH:

Basta adicionar como “required” a linha “pam_wheel.so group=root” nos arquivos “reboot”, “poweroff” e “halt”, todos em /etc/pam.d (em distribuições que suportam o PAM, exemplo testado no Mandriva 2007):

[tiago@localhost pam.d]$ cat reboot
auth sufficient pam_rootok.so
auth required pam_wheel.so group=root
auth required pam_console.so
account required pam_permit.so

[tiago@localhost pam.d]$ cat poweroff
auth sufficient pam_rootok.so
auth required pam_wheel.so group=root
auth required pam_console.so
account required pam_permit.so

[tiago@localhost pam.d]$ cat halt
auth sufficient pam_rootok.so
auth required pam_wheel.so group=root
auth required pam_console.so
account required pam_permit.so

Basta fazer um logout/ login para que as restrições entrem em cena. Outra forma de fazer isso sem usar o PAM é tirando a permissão de execução dos binários citados (halt, poweroff, shutdown, reboot…) para o grupo “outros” e deixar apenas para o usuário e o grupo escolhido. No exemplo, usei o grupo “root” mesmo, mas pode ser usado qualquer um de sua preferência. Jedi ou Sayajin geralmente são boas escolhas de nome para o grupo dos dotados de super poderes :-)

Como útima observação, eu prefiro usar o PAM para fazer isso, por ser a solução mais correta, e por outro motivo: Fazer backup do /etc é fácil… agora duvido que você se lembre de fazer backup/restore dos arquivos em /usr/sbin e /sbin … :-D

Uma dica rápida, colaboração do meu amigo Deny C. Luchetti:

Um problema de usar o virt-manager da Red Hat (também presente no Mandriva 2007.1!) para criar e administrar máquinas virtuais é o fato de que você simplesmente não consegue trocar de CD durante a instalação do guest OS, conforme eu havia comentado no artigo anterior sobre o Xen no Red Hat ES 5 :(

O que acontece é uma pequena salada: O Xen não faz a instalação, ele executa uma versão modificada do qemu para faze-lo. E para trocar os CD’s pelo qemu existe um pequeno truque, bem documentado por sinal. O que não bem estava documentado era que o Xen da Red Hat chama o VNC por padrão quando você pede o console da máquina, e infelizmente, as teclas de atalho do qemu não funcionam dentro do VNC. Entendeu? Se não, leia de novo :-p

Para resolver isso, basta desabilitar o VNC no arquivo de configuração gerado pelo virt-manager (nota: o console gráfico continua funcionando, e até mais rápido!), mais ou menos assim:

name = “suse93″
builder = “hvm”
memory = “500″
disk = [ ‘phy:/dev/lvm/xen_suse93,hda,w’, ‘file:/home/dluchetti/suse93.iso,hdc:cdrom,r’,]
vif = [ ‘type=ioemu, mac=00:16:3e:36:5b:9b, bridge=xenbr1′,]
uuid = “e4e85bc7-b244-9d85-ec7a-b06728e6c70c”
device_model = “/usr/lib64/xen/bin/qemu-dm”
kernel = “/usr/lib/xen/boot/hvmloader”
vnc=0
vncunused=0
apic=0
acpi=0
pae=1
vcpus=1
boot=”d”
ne2000=1
serial = “pty”
on_reboot = ‘restart’
on_crash = ‘restart’

E, finalmente, para trocar a ISO do qemu e continuar a instalação, basta fazer assim:

Teclar “CRTL+ALT+2″ (atenção, não é F2!) e digitar:

(qemu) eject cdrom
(qemu) change cdrom /caminho/para/a/segunda/iso/arquivo.iso

Facinho né?
Abraços e boas virtualizações para vocês ;-)

Dica muito bem mandada pelo Silvio Fonseca na lista Ubuntu-BR que vale a pena reproduzir:

Roda o “dmidecode” (sudo dmidecode). Como a saída do comando é muito grande, eu recomendo que você rode com o less (sudo dmidecode | less) e procure pela string “DDR”. Se sua memória exportar esse valor, ele vai aparecer no “Speed”, se não me engano.

Procurando por "Size" também, agora descobri que tenho 1 pente de 512 MB e outros dois de 256 MB, sem abrir a máquina :-) Curti mesmo esse comando, valeu ae Silvio!

Xrally

Se você tem uns 20 anos ou mais deve lembrar-se do Xrally. Aquele joguinho que só existia nos Flippers, onde você controlava um carrinho azul que soltava uma fumaça amarela, e o objetivo era capturar as bandeiras amarelas ao mesmo tempo que fugia dos outros carrinhos vermelhos :-)

Para nossa sorte, existe um “backport” dele para rodar nos nossos computadores de hoje em dia, e matar a saudade dos velhos tempos… é impressionante notar como o jogo ainda trás desafios, mesmo tantos anos depois…

A parte ruim é que só consegui fazer o RPM dele funcionar, ou seja, no Mandriva 2007 rodou legal, agora no Ubuntu eu não consegui nem compilar a partir do source e nem converter o pacote usando o alien :-(

De qualquer forma fica aí a dica:
# wget http://easynews.dl.sourceforge.net/sourceforge/xrally/xrally-1.1-1.i586.rpm
# rpm -Uvh xrally-1.1-1.i586.rpm
# exit
$ /usr/local/bin/xrally

Have fun! 8-)

Para quem não lembra, ou para quem ainda não conhece, consegui resgatar os episódios que estavam no meu falecido domínio (linxurapido.org) do TuxKiller e postarei aqui para vocês desfrutarem do trabalho feito pelo meu amigo Leandro Pontes.

Todas as animações possuem sons e são bem engraçadas. Infelizmente, cenas contendo sangue foram retiradas devido aos pedidos dos próprios usuários… Bom, agora apenas clique nas imagens para assistir! :-D

Tuxkiller capítulo #1

Tuxkiller capítulo #2

Tuxkiller capítulo #3

Esses dias eu baixei para um conhecido o DVD do Mandriva 2007 Spring, versão Free e resolvi dar uma testada para ver o que melhorou nos últimos meses no quesito integração 3D para um desktop comum. Em outra ocasião, pretendo dar uma olhada em como anda a parte de virtualização da mesma, o que me interessa e muito.

Para quem não sabe, a Mandriva atualmente está se organizada nesta forma de distribuição:

- Mandriva Free:
Esse pack vem com 04 CD’s ou 1 DVD feita somente de softwares livres, portanto, sem plugins proprietários (como o Java ou Flash) e nem drivers proprietários (como Ati ou Nvidia).

- Mandriva One:
Essa é a versão “Live-CD” do Mandriva (estilo o Kurumin ou o Ubuntu) que não é necessário instalar para usar, pode ser usada diretamente do CD-ROM. Geralmente ele tem uns drivers proprietários no meio para poder ativar o “Desktop 3D” rodando direto pelo CD.

- Discovery, Powerpack e Powerpack+:
São produtos comerciais, vendidos nas “caixinhas” com direito a suporte deles, acesso ao Mandriva Club e tem todos os drivers proprietários, assim como ao Java e ao Flash. A diferença entre eles você pode ver no link abaixo, mas basicamente é a quantidade de tecnologias suportadas mesmo:

O valor varia de 44,00-EUR (discovery) até 179,00-EUR (PowerPack+), sendo que o Euro vale atualmente uns R$ 2,70.

Como baixei a versão Free, e não a Power Pack, minha Nvidia foi reconhecida mas usando o driver genérico “nv”, sem aceleração 3D. Também como o esperado, o sistema não veio com os plugins proprietários de Java nem de Flash, mas o suporte a multimídia (vídeos em Div-X com legenda e músicas em MP3) vieram funcionando logo após a instalação. Isso não era esperado :-D

Bom, na tentativa de instalar minha placa, fui até o gerenciador de pacotes dele e não encontrei nada sobre nVidia… então pensei em ir até o EasyURPMI e adicionar aqueles montes de repositórios, mas antes resolvi tentar pela interface gráfica “Media Manager” para ver se ele digitava aqueles comandos enormes para mim. E não é que funciona?

Media Manager

Como você pode ver, ele se oferece para instalar os “Updates Oficiais” que seriam os tais do ‘main‘ e ‘update_sources‘. Clicando nele aparece a lista de mirros, com um Brasileiro sugerido por padrão… clicando nele realmente o /etc/urpmi/urpmi.cfg é atualizado corretamente com o repositório novo. Mas e aqueles pacotes restritos, que são os mais legais? Bom… clicando então de novo no “Media Manager”, e depois clicando em “Distribuition Sources” ele irá inserir vários repositórios como os Testings, Backports, Contribs, Non-free e o Restricted. Todos esses devem ser o suficiente para instalar o que um usuário desktop comum precisa para sobreviver. Apenas lembre-se de clicar em “Enabled” pois não vem por padrão.

Reconhecendo e instalando uma placa Nvidia

Agora sim, com os repositórios ‘non-free‘ habilitados fui no Mandriva Control Center e mandei ele detectar minha placa de vídeo novamente. Com o modelo correto detectado, foi possível baixar vários pacotes para minha Nvidia funcionar. Note que eu não escolhi o pacote a ser instalado porque tinha muitos, como você pode ver no screen shoot abaixo. A seleção do pacote correto para a minha placa (dkms96xx) assim como suas dependências para compilação do módulo (gcc, kernel-source, glibc-devel e libncurses5-devel) foram todas feitas automaticamente pela Mandriva. Isso é ótimo! :-)

Painel de controle (Drak3d)

Depois de um logout/login ja pude desfrutar de minha plaquinha 3D, jogando alguns joguinhos só para testar. E fui novamente ao Mandriva Control Center, na parte de “3D Desktop effects”, agora sim com todas as opções habilitadas para uso.

Testei as duas opções, uma de cada vez: Primeiro o conjunto Beryl+AIGLX, que funcionou muito bem depois de um login/ logout e sem ter a necessidade de baixar nada da Internet. Só o beryl-manager que não iniciado automaticamente, mas de resto tudo funcionou como o esperado até mesmo os vídeos Div-X funcionaram sem problemas junto com o Beryl (embora a screenshot tenha saído toda estranha, o vídeo estava certinho!)

Vídeo avi com legenda com o beryl ativado

Por último, testei e Metisse. Achei estranho de começo esse lançe de entortar as janelas em todos os ângulos/ eixos possíveis e imagináveis, mas não consegui trazer nenhuma screenshoot do mesmo, porque simplesmente não saia (nem pelo import nem pelo gnome-screenshot) :( Ainda não li toda sua documentação mas você pode ver uma imagem do mesmo em ação aqui e entender melhor o que estou falando.

Bom, por enquanto eu fico por aqui! Só queria mostrar mesmo como não é tão complicado fazer uma plaquinha antiga de 64 MB (nVidia Corporation NV18 [GeForce4 MX 4000] ) funcionar no Linux, e ter os tão desejados ambientes 3D funcionando em seu micro.

Até +!

Eu vejo várias pessoas gravando um arquivo de imagem de forma incorreta, por isso resolvi fazer esse sacrifício e usar o windão Windows XP para gravar minha recém imagem de DVD chamada “mandriva-linux-2007-spring-free-dvd-i586.iso”, que como podem ver, é uma ISO (imagem cd CD/DVD) do Mandriva 2007.1, para processadores 586 ou posteriores.

Gravar imagem no discoO primeiro passo é abrir o Nero e procurar alguma opção que tenha a ver com imagem. No meu caso, está em “DVD -> Fazer Cópia -> Gravar Imagem no Disco”.

O próximo passo é colocar na caixa “Arquivos do tipo” a opção “Arquivos de imagem” porque o Nero por padrão só quer saber de arquivos que ele mesmo fez (.nrg) e não mostra os .iso’s. Daí é só navegar até o diretório onde esteja a mídia e mandar gravar. Selecionar “Arquivos de Imagens”

Dicas:
- Grave em uma velocidade baixa (afinal, é um instalador de um Sistema Operacional e requer o máximo de cuidado);
- Use algum cliente de bittorrent como o Azureus (disponível para Windows e para Linux) para baixar a ISO, porque o programa se encarrega de ter certeza que o mesmo não veio corrompido durante o download;
- Verifique o MD5 da imagem antes de gravar (caso não tenha baixado via torrent) para se certificar que o arquivo esteja realmente completo antes de gravar em CD/DVD;
- Não use CD/DVD RW para tal função. Eles riscam e estragam muito facilmente….

Siga essas dicas e com certeza você terá uma instalação/ uso de um GNU/Linux bem mais tranquilo, pois os erros causados por imagens corrompidas/ CD’s riscados são realmente muito complicado de se detectar, mesmo para um usuário experiente.

Abraços e boa sorte ;)