Escrito por Helio Loureiro
Categoria:

Faz tempo que não publico nada, então não fiquem com a impressão que tudo falhou no upgrade. Realmente demorou e encontrei o seguinte erro:

---> Cleaning out obsolete shared libraries 
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 823 packages found (-0 +1) . done]
[...]
* misc/kdeaddons3 (kdeaddons-3.5.5)
---> Packages processed: 18 done, 652 ignored, 143 skipped and 4 failed
** Could not clean up temporary directory: Directory not empty
- /var/tmp/portupgradeviBK2OZ6

Como o símbolo "!" mostra, realmente alguns aplicativos falharam. Removi o xine e recompilei a libkde3 com um "make work; make deinstall; make install". Depois disso tudo funcionou. No fim ainda subi o sistema para um 6.2 STABLE. Agora só alegria, até o próximo upgrade :-)

Leia mais:FreeBSD Upgrade - fim da história
Escrito por Helio Loureiro
Categoria:

Ano novo, vida nova, sistema novo... com a chegada de 2007, resolvi encarar a atualização de meu FreeBSD, de 6.1 para 6.2 (que no momento encontra-se ainda em RC2, mas acho que pouca coisa vai mudar). E também fazer minha primeira postagem de 2007 :-)

 

Ao invés de iniciar pelo sistema, resolvi começar pelos aplicativos, autilizando primeiramente o ports. Pelas minhas experiências anteriores, a atualização é o único ponto fraco do FreeBSD. Comparando com Debian, com seu sistema via apt, é realmente chato, moroso, e frequentemente com falhas o sistema de atualização dos BSDs. Mesmo assim resolvi encarar o ports, já que o mesmo se encontra em FROZEN para o lançamento do release 6.2.

 

Antes de iniciar, busquei algumas dicas de atualização e achei a página

http://sig9.com/articles/ports-howto

com um howto sobre atualização do ports. Como não era exatamente o que eu pensava em fazer, resolvi seguir, pois aparenta ser uma solução bem simples.

 

Já tinha feito a atualização do ports via portsnap, usando as opções fetch e depois extract, então somente refiz o INDEX para iniciar a atualização.

Alterei a sequência de comandos para:

portupgrade -arRP && pkgdb -F && pkgdb -fu

A opção -P do portupgrade faz com que seja buscado primeiramente o pacote já compilado antes de re-compilar a partir dos fontes. Isso tornaria a atualização mais rápida, porém...

---> Fetching the package(s) for 'ctags-5.6' (devel/ctags) 
---> Fetching ctags-5.6 fetch:
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6.1-release/All/ctags-5.6.tbz:
File unavailable (e.g., file not found, no access)

O sistema continua buscando packages-6.1-release, o que é correto já que ainda não foi atualizado, mas os pacotes compilados só estão disponiveis pro release 6.2... sendo assim, não consegui poupar o tempo que queria...

Até o momento a atualização dos aplicativos já consumiu 20 horas, sem vistas de acabar. Ao menos está indo de uma forma menos traumáticas que das outras vezes. Vamos ver qual vai ser o resultado final...

Escrito por Helio Loureiro
Categoria:

Para quem diz que hacker não bebe: encontrei uma cerveja, e deliciosa, chamada "Hacker-Pschorr". Cerveja de trigo, alemã, feita segunda a lei da pureza. Dilissa!!!!!!!!!

A foto ficou meio tremidinha, mas é que depois de uma caixa de Hacker.... difícil manter o prumo...

Escrito por Helio Loureiro
Categoria:

A vida em Dallas, EUA, não é fácil: a cada dia somos tentados pelas belezas da tecnologia e por seus preços tentadores. Não resistindo a tais tentações, sucumbi com meu cartão de crédito em tudo quanto é traquitana eletrônica com led (se o led pisca então...).

O resultado disso pode ser visto na figura. Entre viagens à China e EUA, pude adquirir, somente nesse ano:

  • Palm Tungsten E (funcionando em FreeBSD e em Linux)
  • Câmera Fotográfica Canon A610 (funcionando em FreeBSD e em Linux)
  • 2 memórias SD de 512MB
  • Memória SD de 2GB
  • Leitor de memória USB, inclusive SD (funcionando em FreeBSD)
  • HD externo USB de 60 GB da Maxtor(funcionando em FreeBSD e com uma partição formatada em UFS2)
  • 2 interfaces de rede Wireless G USB Belkin (não funciona em FreeBSD, nem Linux)
  • Interface de rede Wireless G USB D-Link DWL-G122 (não testei em nada ainda)
  • 2 interfaces de rede Wireless G PCMCIA D-Link DWL-G630 (funcionando em FreeBSD)
  • 2 interfaces de rede Wireless G PCMCIA D-Link DWL-G650 (funcionando em FreeBSD)
  • Internet Router com Wireless DI-524(funcionando com FreeBSD utilizando Wep-128)
  • Internet Router com Wireless Linksys(só testei como hub...)
  • Bluetooth Handsfree Headset Motorola H350
  • Interface de rede Fast ethernet 10/100 Mbps da Linksys USB200M(não vai nem com reza brava, nem FreeBSD, nem Linux)
  • Pendrive 2GB DataTraveler da Kingston(funciona com FreeBSD e com Linux)
  • Telefone GSM triband K300C da Ericsson
  • 2 interfaces de rede Fast ethernet 10/100 Mbps TE100-PCSUSR da Trendnet(não funciona em FreeBSD)

O fato de algumas coisas não funcionarem como deviam me deixa irritado às vezes, mas basta ver alguns leds piscando que esqueço tudo e volto a gastar. Para minha sorte as vendas de PS3 esgotaram mais rápido do que eu pude gastar. Só me resta ficar com meus brinquedos caros e ficar tentando descobrir como corrigir os endereçamentos de memória para poder funcionar no meu FreeBSD 6.0 bonitinho.

Antes de algum espertão perguntar o motivo pelo qual eu só testei alguns dos equipamentos, como placas PCMCIA, somente em FreeBSD: no meu laptop só tem o mesmo. No windows, no Linux, no fear. Just BSD.

Escrito por Helio Loureiro
Categoria:

Dica retirada de http://www.network-theory.co.uk/docs/cvsmanual/cvs_53.html.

Em alguns trabalhos cooperativos, sempre que baixo uma versão específica do cvs, utilizando algo como "cvs checkout -r1.1 programa", acabou com um erro de "sticky tag" ao fazer o novo commit.

Pelo link acima vi que basta usar um "cvs update -A" para resolver isso.

Escrito por Helio Loureiro
Categoria:

Nesse domingo de feriadão, fui saudado com uma alteração no horário de verão de minhas máquinas. Eu já sabia que isso iria acontecer algum dia, já que o governou alterou o início do mesmo para seguir o calendário eleitoral.

Porém eu aguardava algum arquivo de zona lançado oficialmente por alguma entidade como o CAIS. Como isso não ocorreu, criei meu próprio arquivo de zona, baseado em um modelo de 2005, chamado hverao2006.zic, e coloquei a data de início, 00:00 horas de 05 de novembro, e a data final, 00:00 horas de 25 de fevereiro de 2007:

Rule Brazil 2006 only - Nov 05 00:00 1 D 
Rule Brazil 2007 only - Feb 25 00:00 0 S
Zone America/Sao_Paulo -3:00 Brazil BR%sT
Zone Brazil/East -3:00 Brazil BR%sT

Verifiquei se meu /etc/localtime apontava como link simbólico para /usr/share/zoneinfo/Brazil/East ou /usr/share/zoneinfo/America/Sao_Paulo(ambos são corrigidos pelo arquivo acima) e simplesmente atualizei a informação de timezone:

zic hverao2006.zic
Escrito por Helio Loureiro
Categoria:

Hoje me deparei com mais um problema estranho, daqueles que vemos nos momentos mais indesejados durante as tarefas mais corriqueiras.

Copiei minha imagem de Windão do meu laptop, FreeBSD 6.1, para meu desktop de casa, Ubuntu 6.06.1 (LTS). Minha idéia é usar a imagem do Windão para levantar uma conexão VPN à empresa. Como o aplicativo só roda em Windão... nada resta além de instalar no gateway de casa e começar a debugar a conexão (acho que é só um IPsec, mas....).

Fiz a conexão remote via ssh com o parâmetro "-X". Qual foi minha surpresa quando recebi o seguinte erro:

helio@picasso tmp> qemu -hda windows.img 
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 25 (X_SendEvent)
Resource id in failed request: 0x44
Serial number of failed request: 12
Current serial number in output stream: 17

Cara de "ué?!" e alguns momentos de leitura da manpage me deram a seguinte alternativa:

helio@picasso tmp> qemu -hda windows.img -std-vga 
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 25 (X_SendEvent)
Resource id in failed request: 0x44
Serial number of failed request: 12
Current serial number in output stream: 17

A cara de "ué?!" passou para um rosto de "saco...". Testei a conexão com um simples "xclock" que funcionou perfeitamente. Fiquei mais perdido ainda. Não restando muita opção, busquei ajuda no google. Felizmente achei exatamente o que queria:

Exporting X Sessions
by Richard Bejtlich - US

O grande macete foi reiniciar a conexão ssh com o parâmetro "-Y". Funcionou!!!! VPN debugging, aqui vou eu!!!!!!!!!

Escrito por Helio Loureiro
Categoria:

Após meses de Ubuntu instalado em minha máquina em casa, minha filha reclamou que o som estava "quicando". Fui dar uma olhada e qual não foi minha surpresa: o som estava realmente quicando.

Como a nova geração de kernels 2.6 não dispõe mais da facilidade de patch para low latency, o que permite uma funcionalidade multimídia muito boa no sistema (evita esses "pulos" durante a execução de uma música), resolvi utilizar uma dica que havia lido na LinuxMagazine do Brasil.

Infelizmente eu havia doado a revista para futuras leituras. Busquei o mesmo artigo no bom e velho google e.... nada! Procurei na Linux Magazine, Brasil, e... nada! Em pleno desespero comecei a procurar por tudo no Google: "multimedia", "multimedia priority", "multimedia priority scheduling", "multimedia priority scheduling ubuntu",e assim fui. Felizmente, entre os vários chutes, acertei o artigo:

http://www.linux-magazine.com/issue/65/Realtime_Computing_With_Multimedia_Apps.pdf

O excelente artigo, de Oliver Frommel, descreve as alternativas para melhorar a prioridade de som nos kernels atuais. Uma das alternativas, que não exige re-compilação de kernel nem aplicação de patches é através do uso de RTLIMITS. Tão simples que basta somente alterar o arquivo /etc/security/limits.confe adicionar as seguintes linhas:

@audio hard rt_priority 80 @audio hard nice -10

Simples, rápido e eficaz. Ainda não entendi o motivo pelo qual isso já não vem configurado como padrão....

Escrito por Helio Loureiro
Categoria:

 Não sou fã de Windows, já faz uns 10 anos, mas invariavelmente preciso verificar algum documento ou rodar um programa da empresa nele. Para isso instalei no qemu uma imagem do Windows 2000.

Como parte de minha displicência pelos sistema de Bill (Unix: live free or die), eu sempre acabo esqueçendo a senha do administrador. Na rede é possível usar a image do programa abaixo:

http://home.eunet.no/~pnordahl/ntpasswd/cd050303.zip

Baseado em Linux, faz todo o serviço para reinicializar (recovery) de senha. Muito útil.

Depois de fazer isso, lembre-se de se benzer contra o "Exu tranca sistemas" e voltar a usar o bom e velho (mas sempre moderno) Unix.

Escrito por Helio Loureiro
Categoria:

Brincando com qemu, um emulador que permite rodar vários sistemas operacionais a partir de um sistema nativo, resolvi instalar o Windows2000 (padrão da empresa) sobre o FreeBSD 6.1 que tenho no laptop. Para ganhar performance, ainda compilei e instalei o módulo kqemuque aumenta a performance do sistema emulado. Fiz uma instalação sobre uma partição de 5 GB criada da seguinte forma:

musashi# dd if=/dev/zero of=/usr/local/tmp/windows.img bs=1024k count=5000

O parâmetro bs=1024k descreve blocos de 1 Kbytes enquanto que count=5000faz 5000 iterações sobre esse valor (5000 * 1 Kbytes = 5 GBytes).

Para utilizar a instalação a partir de um cd, basta seguir a seqüência de comandos abaixo:

helio@musashi: tmp$ kdesu "qemu -hda windows.img \
-win2k-hack \
-net nic \
-net tap \
-usb \
-localtime \
-cdrom /dev/acd0 \
-boot d \
-soundhw all" &

Com kdesu é possível rodar a aplicação como root, o que permite o uso da interface de rede. Já o parâmetro -win2k-hack, é descrito como um workaround para um problema que apareçe na instalação do Windows 200x e XP. Já os parâmetros -net nic -net tap habilitam o uso da interface de rede tap0 (FreeBSD, lembra?). O -usb seria para utilizar os dispositivos usb do sistema, mas não funcionou comigo. -localtime destina-se a utilizar o horário do sistema nativo no emulado, o que evita distorções de tempo. Finalmente, -soundhw allpossibilita o uso de som no sistema emulado.

Com tudo em mão, basta seguir com a instalação normal do Windão.

Se você, assim como eu, notar que o mouse simplesmente não funciona, indo sempre parar no canto esquerdo: não se desespere. Isso é somente um parâmetro de SDL que pode ser resolvido da seguinte forma:

helio@musashi: tmp$ env SDL_VIDEO_X11_DGAMOUSE=0 kdesu "qemu \
-hda windows.img \
-win2k-hack \
-net nic \
-net tap \
-usb \
-localtime \
-cdrom /dev/acd0 \
-boot d \
-soundhw all" &

SDL_VIDEO_X11_DGAMOUSE=0faz todo o serviço necessário.

Se tudo ocorreu sem demais problemas, você verá uma bela tela como essa abaixo:

Mas não se anime muito com o fato de rodar o Windows sobre outro sistema: os defeitos e lentidões continuarão o mesmo...

Escrito por Helio Loureiro
Categoria:

É interessante quando pessoas não versadas sobre a arte zen da computação (sim, é uma arte) usam os sistemas que para nós são parte de nosso dia-à-dia. Coisas bizarras e inusitadas simplesmente não funcionam ou você, ao contrário, nota que alguém usa aquilo para alguma coisa.

Com a dança de cadeiras de máquina, fiquei com os seguintes equipamentos:

  • Laptop Compaq nc6220 - FreeBSD 6.1 - Meu laptop para trabalho (da empresa)
  • iBook G3 500 - Ubuntu 6.06 LTS - Era meu antigo laptop. Como recebi outro da empresa, pretendo formatar e instalar novamente MacOSX. O problema é que preciso achar um cd de instalação para isso... a provável candidata a ficar com o equipamento é minha esposa.
  • PC AMD Athlon XP 2.0 - Ubuntu 6.06 LTS - Essa é a máquina que me acompanha desde os primórdios de meu aprendizado em Linux/Unix. Claro que sofreu os devidos upgrades com o tempo, tanto que agora dispõe de uma CPU Athlon de 1.6 GHz, 512 MB de RAM e 180 GB de HD. Até recentemente só utilizava Debian nessa máquina, que atua como o servidor aqui em casa. Com o uso do Ubuntu, achei melhor passar por um upgrade via "aptitude" e deixar o mesmo com a última versão do Ubuntu, a 6.06 na época.

Voltando à questão do som, minha esposa veio reclamar da última máquina descrita: o som não funcionava. Eu, como não a utilizo muito (não via prompt, somente remotamente), nunca tinha notado isso. Fui verificar o que havia ocorrido já que o som funcionava perfeitamente na "era Debian" e eu não havia formatado a máquina, apenas realizado um "aptitude dist-upgrade" para Ubuntu (não foi tão fácil assim, mas também não foi tão difícil...).

Primeiramente verifiquei qual interface de som eu tinha instalado (somente lembrava que era on-board em uma placa ASUS A7V8X-X:

picasso:etc# lspci | grep -i multimedia 
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc.
VT8233/A/8235/8237 AC97 Audio Controller (rev 50)

Notei que vários módulos inúteis estavam carregados no kernel, inclusive um redirecionando o som para interface dummy, o que estava causando a "falta de som". Removi os módulos desnecessários e carreguei o módulo snd-via82xx. Para minha surpresa, o som não funcionou...

Escarafunchando pelo google a fora encontrei uma dicas místicas de pessoas que usaram o controle de som do Gnome para configurar a placa. Segui a mesma receita e dessa vez o som funcionou. Verifiquei o que havia alterado e notei que o módulo ad1889 havia sido carregado, o que permitiu que o som funcionasse. Uma vez carregado, pode-se verificar se tudo está corretamente assim:

picasso:etc# cat /dev/sndstat 
Sound Driver:3.8.1a-980706 (ALSA v1.0.10rc3 emulation code)
Kernel: Linux picasso 2.6.15-23-k7 #1 SMP PREEMPT Tue May 23 14:20:54 UTC 2006 i686
Config options: 0
Installed drivers:
Type 10: ALSA emulation
Card config: VIA 8235 with AD1980 at 0xe000, irq 201
Audio devices: 0: VIA 8235 (DUPLEX)
Synth devices: NOT ENABLED IN CONFIG
Midi devices: NOT ENABLED IN CONFIG
Timers: 7: system timer
Mixers: 0: Analog Devices AD1980

Depois inclui os módulos necessários para que carregassem no boot assim:

picasso:etc# echo snd-via82xx >> /etc/modules 
picasso:etc# echo snd-ad1889 >> /etc/modules

Para evitar que o sistema leia outros módulos e não os que defini, simplesmente renomeei o diretório /etc/modprobe.d para /etc/modprobe.d.sai_seu_feio. Não é uma solução das mais bonitas, mas um dia eu arrumo isso...

Escrito por Helio Loureiro
Categoria:

Novo trabalho, novos desafios. Umas das primeiras coisas que fiz foi livrar meu laptop dos grilhões que o prendiam e instalar o bom e velho FreeBSD, release 6.1. Bom sistema, tudo funcionando (ou quase tudo). Eis que resolvi recuperar alguns dados que gravei em um DVD:

musashi# ls -skh /cdrom/ 
ls: Backup-musashi_Win2k-2005-04-17.tar: Value too large to be stored in data type
total 227 227
Backup-musashi_Win2k-2005-04-17.toc.gz

Fora o fato bizarro de eu estar tentando acessar um backup de Windows, achei sacal o problema de não conseguir ler a mídia. Buscando na rede, descobri que existe uma limitação no driver cd9660 para ler arquivos maiores de 2GB.
Uma busca árdua no google me levou ao link:

http://groups.google.com/group/muc.lists.freebsd.bugs/browse_thread/thread/454863bf2462d966/ba6e980845d1506a

Apliquei a alteração:

--- sys/isofs/cd9660/cd9660_node.h.org Wed Mar 16 09:09:52 2005 
+++ sys/isofs/cd9660/cd9660_node.h Sun Jan 8 00:14:54 2006
@@ -69,7 +69,7 @@
ino_t i_ino; /* inode number of found directory */
long iso_extent; /* extent of file */
- long i_size;
+ u_long i_size;
long iso_start; /* actual start of data of file (may be different */
/* from iso_extent, if file has extended attributes) */
ISO_RRIP_INODE inode;

Ao invés de patch, editei o arquivo não mão, já que alteração era de long para u_long somente. Vamos ver se funciona....

Escrito por Helio Loureiro
Categoria:

Após um período utilizando o Java 1.5.0 que baixei da IBM, verifiquei que alguns aplicativos não estavam funcionando de acordo. Podendo ou não ser problema da versão do Java, resolvi utilizar a versão anterior: 1.4.2.
Para quem tem um iBook, arquitetura PPC (ou PowerPC), rodando Linux como o meu, sabe que não tem coisa mais chata que buscar alguns aplicativos como Java, Flash, Acroread, etc... Felizmente, no caso do Java, existe um suporte da IBM. Mesmo assim é necessário entrar no site da mesma, registrar-se, e somente aí baixar o aplicativo.
Buscando no respositório não oficial da Debian, encontrei uma alma caridosa que já disponibilizou o pacote pronto:

http://nigow.mr-imp.net/debian/dists/stable/main/binary-powerpc/ibm-j2sdk1.4_1.4.2_powerpc.deb
j2sdk1.4_1.4.2_powerpc.deb

É possível buscar para todos os releases (atuais) de Debian. Great Work Dude!