Escrito por Helio Loureiro
Categoria:

Muitos dos seguidores no Twitter já sabiam, mas recentemente comprei um Mini Note Dexnet N280 na Saraiva.  Uma das minhas preocupações era em relação à falta de referências sobre o mesmo.  Mas o preço baixo e tentador superou minhas dúvidas.  Enfim comprei o super-netbook, mas não para mim: pra uso da patroa :-).

Aqui segue então uma descrição do mesmo, para os que também estiverem considerando comprar um desses.

É um computador portátil que fica no meio termo entre um Netbook e um Notebook, sendo descrito como um "Mini Notebook".  Mas eu diria que está mais pra um "Maxi Netbook", ou um Netbook vitaminado.  Vem com uma confortável tela de 12.1 polegadas, muito clara e agradável, 2 GB de RAM, e 320 GB de disco.  E processador ARM de 1.6 GHz dual core.  O baixo consumo permite a ausência da famigerada "ventoinha", que faz o barulho chato de tempos em tempos.  Isso tudo contribui em muito no peso dele: nem parece ter 1KG (1,3 KG descrito no manual).

É bem servida nos quesitos básicos de máquina, mas padece nos periféricos, aliás, sintoma de Netbooks em geral.  Não tem unidade de CD/DVD.  Somente duas portas USB e saida de som, sem entrada pra microfone.  Mas vem com uma webcam embutida e uma porta HDMI.  Isso mesmo: HDMI.  Essa opção que fez diferença na escolha do equipamento.  Mas não tem suporte à bluetooth... Tem também uma porta ethernet, que não testei, e placa wireless.  E Linux instalado.

O equipamento tem boa apresentação externa, não aparentando ser um equipamento de segunda categoria, típico de produtos de mais baixo custo.

Aparência externa.

Eu não removi o plástico que envolve tanto a tampa quanto a tela para ter uma maior durabilidade do mesmo.  Mas eventualmente isso deve sair.

A primeira coisa bizarra encontrada foi o teclado, que apesar de ser mencionado como ABNT-2, é na verdade um modelo português de Portugal, com as teclas como "/", "|" ou "-" em lugares estranhos.  Mas tem o "ç".

Teclado modelo de Portugal

O sistema operacional, que mencionarei mais adiante, não veio com o teclado configurado corretamente, mas uma tentativa-e-erro foi suficiente pra corrigir.  Fora o teclado em modo bizarro, e descrito erroneamente - o que permite retorno do produto pela descrição incorreta, as teclas são muito pequenas.  Pra quem já tem um Netbook e está acostumado, não sentirá problemas.   Pra mim foi uma experiência bem ruim.  O tempo todo digitei comandos errados por apertar duas teclas simultaneamente.  Lembrei-me da cena de Ben Grimm, quando se torna o "Coisa" no filme do Quarteto Fantástico, e tenta usar um telefone público, destruindo as teclas.  Se o computador fosse cor de rosa, eu seria exatamente um ogro no notebook da Barbie.

A saída de som, porta USB secundária e HDMI ficam numa parte embutida do note.  Isso torna a aparência dos mesmos muito elegante, pois não ficam expostos quando não estão em uso.


Saídas embutidas

Na caixa vieram mais alguns items, como o cabo de força no padrão novo (e que não tem tomada em casa), um manual, um certificado de garantia e um CD.

Kit Mini Note

O cabo de força foi abandonado já que eu tinha sobrando um outro pelas redondezas.  E no padrão das tomadas de casa: padrão americano.

Tomanda padrão brasileiro

Aliás diga-se de passagem que malditos sejam o pessoal da ABNT, Associação Brasileira de Normas Traduzidas, por não ter se pronunciado por anos sobre o padrão de tomadas, e agora definir um que não é compatível com o que já estava em uso.

O manual não apresenta muita novidade, mas coloca uma descrição geral do equipamento.  Não foge muito da falta de informação presente no site da Saraiva.

Manuel

Já o CD que acompanha o produto é um enigma.  Além da cara de ordinário, não tem conteúdo legível.  Não sei o que veio nele, nem encontrei referências.  Ao menos podiam mandar um CD regravável pra ser mais útil.

CD enigmático

A fonte de alimentação é bem leve, mas também tem cara de produto de segunda.  Bem ordinário (na aparência) e com 300 W de potência.  Mas é a única peça de equipamento que realmente deixa à desejar, não combinando com o restante.  Mas me refiro ao equipamento.  A fonte de alimentação combina em muito com o CD que veio junto.

Fonte de problemas futuros?

Em relação ao sistema operacional, é um Linux que nunca tinha ouvido falar: Keep-OS.  Buscando no Google, encontrei o site de referência como "http://www.keepsoftware.com".  Eu achei que era um site de Linux chinẽs, mas fui supreendido com um puro produto brazuca.

E imaginei que era chinês pela baixa qualidade de acabamento.  Além do teclado, que estava configurado errado, várias outras coisas estavam com aparência ruim.  Tanto que inicialmente achei que estava configurado com KDE, mas o sistema é Gnome.  Mexendo um pouco, pude ver que é baseado em Debian.  Tanto que não tem Firefox, mas o Iceweasel, que é uma versão de Firefox mas que teve de ter o nome mudado (veja mais no site do BR-Linux).

Linux inside

É um Debian Sid, baseado no Squeeze.  Veio com a tela sem as configurações pra suavizar as fontes, por isso estava com a aparência tosca.  Uma mexida rápida no "Aparẽncia" do Gnome foi suficiente pra corrigir isso.  Também mudei o tema para outro, com visual mais clean.  Isso tudo deu uma boa renovada no sistema.  Engraçado que até os ícones mudaram.  A placa de vídeo é Intel, o que garante uma boa qualidade de imagem.  Pela rápida olhada no sistema, tudo parece estar bem integrado, permitindo assistir vídeos, sites em flash e coisas que em geral são chatas de configurar no Linux sem mexer em nada.

Outra coisa ruim é em relação aos botões, como para iniciar e, principalmente, parar a rede wireless.  É possível fazer isso utilizando a tecla de função, "fn", combinada com uma das teclas "F" mas não tem nada externo pra isso.  É uma opção ruim pra quem usa muito avião, pois será necessário desligar o wireless com o equipamento ligado.  A mesma coisa pra som.

Enfim parece um bom equipamento.  Não é um supra-sumo, mas está bem acima dos Netbooks.  Gostaria somente que tivesse vindo com teclado ABNT-2 mesmo e, claro, com bluetooth que faz uma certa falta justamente em máquinas que não tem leitor de CD/DVD.

Pra quem quer apenas visitar sites, olhar Youtube, e ver alguns vídeos é ideal.  Pra quem utiliza muito o teclado, escrevendo resenhas, ou em blogs, eu recomendo um equipamento com teclado maior e mais confortável.  Ainda mais se for estilo ogro, como eu.

Escrito por Helio Loureiro
Categoria:

Pode ser preciosismo meu, mas resolvi criar uma chamada em alguns programas para limpar a tela, ao estilo do comando clear.

Não imaginava por quais veredas inóspitas eu iria entrar...

Primeiramente devo dizer que é fácil fazer uma chamada pra um subshell e utilizar o próprio aplicativo clear.

#! /usr/bin/python
from os import system

system("clear")

Funciona,  mas é tosco.  E eu queria uma solução "unix like", daquelas que a gente tem orgulho de contar na mesa do bar, no encontro com amigos nerds (afinal serão os únicos que entenderão o que você estava dizendo, o que não significa que vão compartilhar o mesmo sentimento de orgulho que você estava sentindo).

Então mergulhei na biblioteca ncurses.  Tentei algumas linhas simples, chamando um método curses.clear().

#! /usr/bin/python
import curses

scrn = curses.initscr()
scrn.clear()
curses.endwin()

Realmente funcionou, mas de uma forma indesejada, não restaurando as propriedades do terminal (você perde a alimentação do cursor, que só é restaurada após utililizar o comando reset).

Então resolvi utilizar o módulo termios para salvar o estado do terminal, e recuperar o mesmo após o método curses.clear().  Ficou um pouco maior do que eu imaginava, mas funcionou muito bem.  Agora posso fazer meus scripts Python limparem a tela de uma forma muito elegante.

#! /usr/bin/python
import curses
import termios
from sys import stdin

fd = stdin.fileno()
scr = termios.tcgetattr(fd)

scrn = curses.initscr()
scrn.clear()

termios.tcsetattr(fd, termios.TCSADRAIN, scr)


Escrito por Helio Loureiro
Categoria:



Depois de uma rápida discussão no Twitter sobre treinamento em VoIP, lembrei que tinha esse documento perdido em algum lugar do meu HD.  É uma explicaçã beeeeeeeeeeem superficial de VoIP e configuração básica do Asterisk. 

Foi apresentado no Maratona HOWTO e também numa das oficinas Debian-SP.

PABX IP utilizando Asterisk

Escrito por Helio Loureiro
Categoria:

O pessoal do Ubuntu, ou melhor, a empresa do Ubuntu lançou uma página interessante em seu site:

Ubuntu-certified hardware

Apesar de ter aparecido tímido, sem muito estardalhaço, é um grande avanço.  Vai permitir que todos verifiquem qual computador e principalmente laptop que pode funcionar com Ubuntu sem dores de cabeça.

Eu mesmo já estou me sentindo beneficiando por isso, pois continuo com o desejo de comprar "aquele laptop" da Dell, o Vostro 3300, mas as buscas que realizei anteriormente não mostraram claramente se o suporte estava bom.  Não que isso me preocupasse, mas já tinha visto que a placa wi-fi dele não era uma Intel, mas uma "Dell", o que poderia me levar a ter de arrumar alguma solução do tipo NDISwrapper.  Mas o mesmo está lá na lista de hardware compatível do Ubuntu!

Isso não significa somente que o Ubuntu está aprovado, mas que qualquer outra distribuição Linux poderá funcionar nesse hardware.  Mesmo Debian se beneficiará muito disso.


Escrito por Helio Loureiro
Categoria:

Faz algum tempo, troquei meus apontamentos de DNS pra Google. Uso indiscriminadamente os servidores 8.8.8.8 e 8.8.8.9, pois funcionavam muito bem.

Funcionavam. Ultimamente tenho notado uma grande perda de qualidade. Como teste, eu podia ver que "ping helio.loureiro.eng.br" respondia muito lentamente.

helio@musashi:~$ ping -c 9 helio.loureiro.eng.br
PING helio.loureiro.eng.br (200.160.196.23) 56(84) bytes of data.
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=1 ttl=57 time=10.8 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=2 ttl=57 time=9.11 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=3 ttl=57 time=11.4 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=4 ttl=57 time=10.5 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=5 ttl=57 time=9.81 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=6 ttl=57 time=10.8 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=7 ttl=57 time=9.46 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=8 ttl=57 time=10.5 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=9 ttl=57 time=10.4 ms

--- helio.loureiro.eng.br ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 50338ms
rtt min/avg/max/mdev = 9.119/10.352/11.443/0.705 ms

Quase 50 segundos para resposta. E os tempos de retorno do ICMP em torno de 10 milissegundos. Isso estava refletindo em todos os aplicativos, desde páginas Web até o Choqok.

Então troquei os servidores DNS para os servidores do OpenDSN (obrigado pela correção @CSPrivat): 208.67.222.222 e 208.67.220.220. A melhoria foi imediata:

helio@musashi:~$ ping -c 10 helio.loureiro.eng.br
PING helio.loureiro.eng.br (200.160.196.23) 56(84) bytes of data.
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=1 ttl=57 time=19.7 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=2 ttl=57 time=9.90 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=3 ttl=57 time=10.9 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=4 ttl=57 time=11.5 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=5 ttl=57 time=12.1 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=6 ttl=57 time=18.9 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=7 ttl=57 time=10.7 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=8 ttl=57 time=10.1 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=9 ttl=57 time=10.4 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=10 ttl=57 time=16.3 ms

--- helio.loureiro.eng.br ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 9.908/13.090/19.728/3.585 ms

10 pings em 9 segundos contra 50 segundos do teste anterior.

Será que estão boicotando os servidores da Google? Isso tem cara de baixa prioridade em pacotes UDP, mas logo os de DNS??

Escrito por Helio Loureiro
Categoria:

De tempos em tempos me vejo obrigado a coletar dados sobre uso de CPU e memória de várias máquinas. Muita coisa é facilitada quando se usa Nagios ou aplicativos parecidos.


Infeilzmente esse não é o meu caso. Sempre preciso preparar a coleta de dados pra um outro processamento, em geral externo (e em geral via planilha). Então constatemente faço uso de arquivos CSV, com seus conteúdos em formato texto, separados por vírgulas.


E para buscar esses dados, uma forma muito simples é utilizando SNMP, Simple Network Management Protocol. O SNMP é um protocolo baseado em UDP, portanto não existe muita garantia do recebimento desse dado, mas por ser "simples", facilita em muito a aquisição deles.


No meu caso, conectando em diversas plataformas, muitas delas Sun com Solaris 10, precisei enviar o comando como abaixo.


helio@musashi:~$ snmpget -c public -v 2c 10.110.6.24 .1.3.6.1.4.1.2021.11.11.0
iso.3.6.1.4.1.2021.11.11.0 = INTEGER: 98

O OID, Object IDentifier, 1.3.6.1.4.1.2021.11.11.0 diz ao sistema que busco a informação de porcentagem de CPU ociosa. Eu poderia buscar a quantidade CPU em uso, mas seria preciso enviar dois comandos: um para a quantidade de CPU usada pelos usuários, outro para quantidade CPU usada pelo sistema. Então prefiro pegar o montante ocioso e calcular o utilizado a partir desse.


Para saber quais objetos são possíveis, como memória, uso de disco, etc, encontrei uma boa referência no site:

http://www.debianhelp.co.uk/linuxoids.htm

Alguns objetos úteis são:


Estatísticas de CPU

  • Carga em 1 minuto: .1.3.6.1.4.1.2021.10.1.3.1
  • Carga em 5 minute Load: .1.3.6.1.4.1.2021.10.1.3.2
  • Carga em 15 minute Load: .1.3.6.1.4.1.2021.10.1.3.3
  • Porcentagem de uso de CPU pelos usuários: .1.3.6.1.4.1.2021.11.9.0
  • Tempo absoluto de uso de CPU pelos usuários: .1.3.6.1.4.1.2021.11.50.0
  • Porcentagem de uso de CPU pelo sistema: .1.3.6.1.4.1.2021.11.10.0
  • Tempo absoluto de uso de CPU pelo sistema: .1.3.6.1.4.1.2021.11.52.0
  • Porcentagem de CPU ociosa: .1.3.6.1.4.1.2021.11.11.0
  • Tempo absoluto de CPU ociosa: .1.3.6.1.4.1.2021.11.53.0

Estatísticas de memória

  • Tamanho total da memória de troca (SWAP): .1.3.6.1.4.1.2021.4.3.0
  • Espaço disponível na memória de troca (SWAP): .1.3.6.1.4.1.2021.4.4.0
  • Total de memória RAM: .1.3.6.1.4.1.2021.4.5.0
  • Total de memória RAM utilizada: .1.3.6.1.4.1.2021.4.6.0
  • Total de memória RAM disponível: .1.3.6.1.4.1.2021.4.11.0
  • Total de memória RAM compartilhada: .1.3.6.1.4.1.2021.4.13.0
  • Total de memória RAM armazenada (buffer): .1.3.6.1.4.1.2021.4.14.0
  • Total de memória CACHE: .1.3.6.1.4.1.2021.4.15.0


Eu não testei todos os OIDs, mas utilizei o de CPU ociosa e os de memória RAM. Com isso consegui montar um monitoramento manual sem precisar de ferramentas externas, apenas alguns scripts em Perl.

=-=-=-=-=
Powered by Blogilo

Escrito por Helio Loureiro
Categoria:

E mais uma supresa com o meu OpenSuse 11.3.  Dessa vez em relação à criptografia de disco.

Tenho tanto meus discos internos do sistema (um laptop) quanto do meu HD externo criptografados.  Na verdade não uma partição criptografada pro sistema inteiro, mas somente os diretórios onde escrevo dados sensíveis, como /home, /tmp e /usr/local, nesse último onde coloco meus aplicativos externos como os de pré-pago, com que trabalho, e não podem ser distribuídos abertamente.

Meu HD externo é mais ou menos a mesma coisa, com uma partição primária para boot com Ubuntu (que não preciso arrumar pra voltar a funcionar corretamente).  Então acesso o HD externo através de um script, que solicita a senha das partições externas e tenta acessar as mesmas.

Pois durante a montagem do disco, o mesmo cuspiu um erro e abortou o procedimento, desmontando automaticamente as partições externas.  Nos logs do sistema, só encontrei a informação abaixo:

[46386.860780] EXT3-fs error (device dm-2): ext3_check_descriptors: Block bitmap for
group 0 not in group (block 3983602646)!
[46387.182487] EXT3-fs (dm-2): error: group descriptors corrupted
[46436.626828] EXT2-fs (dm-2): error: ext2_check_descriptors: Block bitmap for group 0 not
in group (block 3983602646)!
[46436.626841] EXT2-fs (dm-2): group descriptors corrupted

Lendo essas mensagens, meus pensamentos foram de desespero total.  Já perdi vários dados importante com o mesmo problema, causado por uma falha física do disco externo.  Na época o utilizava sem criptografia, mas as memórias amargas da perda de gigabytes de fotos, músicas e outros dados me fizeram engolir seco nesse momento.

Em total desespero, tentei montar a partição manualmente para verificação:

root@musashi:~# mount /dev/mapper/cr_ots_ext /mnt/dest
mount: wrong fs type, bad option, bad superblock on /dev/mapper/cr_ots_ext,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

Tentei forçar um fsck.ext3, tentando utilizar outro super-bloco, mas tudo sem sucesso...

Tentei então acessar o mesmo disco numa máquina Ubuntu que tenho em casa e... sucesso!!!  Isso me aliviou bastante, pois já sabia que tinha sido mais um efeito colateral do upgrade para OpenSuse 11.3.  Então resolvi buscar soluções na Internet sobre o mesmo problema.  Assim encontrei o link abaixo: 

Bug#579162: cryptsetup: Error mounting device: EXT3-fs: group descriptors corrupted

Basicamente havia uma explicação sobre alteração nos parâmetros padrões do aplicativo cryptsetup, que é usado pra acessar a partição criptografada.  Os parâmetros de algoritmo e criptografia precisam ser passados como argumento na nova versão.

Fiz um teste para verificar se funcionariam para mim, adicionando os parâmetros "-c aes-cbc-plain -h ripemd 160 -s 256", como sugerido no problema do bug.  E deu certo:

root@musashi:~# cryptsetup -c aes-cbc-plain -h ripemd160 -s 256 create cr_ots_ext /dev/sdb7
Enter passphrase:
root@musashi:~# mount /dev/mapper/cr_ots_ext /mnt/dest

Bastou então criar um $CRYPTOPTS com esses valores e adicionar ao meu script para ter tudo funcionando corretamente de novo.


Escrito por Helio Loureiro
Categoria:

Após o upgrade com sucesso, sempre surgem alguns efeitos colaterais.  Um dos que notei imediatamente foi a perda dos efeitos de compositing, afetando diretamente os efeitos 3D do desktop.

Após uma olhada nos logs do Xorg, notei que o sistema estava usando o driver VESA ao invés do INTEL, referente à minha placa de vídeo, uma Intel 945GM.  O antigo programa para configuração do Xorg, o SAX2, foi removido.  Então fiquei com o mico na mão (ou seria no sistema?).  O glxinfo ajudou a ter certeza que as configurações de OpenGL não estavam sendo carregadas.

helio@musashi:~$ glxinfo | grep -i render
direct rendering: No

Mudei o initlevel do sistema para 1 (modo de single user, ou manutenção), e começei a verificar o que podia estar faltando.  De cara notei que somente existia o arquivo /etc/X11/xorg.conf.install para configuração da parte gráfica, mas nenhum programa para configuração.  Também vi que o Xorg está alterando sua configuração para o estilo de diretório, utilizando o /etc/X11/xorg.conf.d, mas o mesmo estava populado com arquivos vazios ou com configuração genérica.

Acho que esse problema não teria acontecido se eu tivesse feito a instalação via DVD ao invés do modo online com zypper.  Mas nesse momento, já era um pouco tarde demais pra desistir.

Resolvi então usar o modo -configure do servidor X, que gerou uma configuração mínima e básica para mim:

root@musashi:~# X -configure

X.Org X Server 1.8.0
Release Date: 2010-04-02
X Protocol Version 11, Revision 0
Build Operating System: openSUSE SUSE LINUX

[ REMOVIDO PRA EVITAR POLUIÇÃO VISUAL... ]

(++) Using config file: "/root/xorg.conf.new"
(==) Using config directory: "/etc/X11/xorg.conf.d"

Your xorg.conf file is /root/xorg.conf.new

To test the server, run 'X -config /root/xorg.conf.new'

Uma olhada no arquivo gerado, /root/xorg.conf.new, na seção "Device", mostrou que o chipset de vídeo tinha sido corretamente identificado.

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"                   # [<bool>]
        #Option     "SWcursor"                  # [<bool>]
        #Option     "ColorKey"                  # <i>
        #Option     "CacheLines"                # <i>
        #Option     "Dac6Bit"                   # [<bool>]
        #Option     "DRI"                       # [<bool>]
        #Option     "NoDDC"                     # [<bool>]
        #Option     "ShowCache"                 # [<bool>]
        #Option     "XvMCSurfaces"              # <i>
        #Option     "PageFlip"                  # [<bool>]
        Identifier  "Card0"
        Driver      "intellegacy"
        VendorName  "Intel Corporation"
        BoardName   "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
EndSection

Mesmo com as todas as opções de otimização comentadas, isso foi suficiente para trazer as funcionalidades de OpenGL de volta ao meu desktop.  Bastou então copiar essa configuração para /etc/X11/xorg.conf  e mudar o initlevel para 5 novamente.

helio@musashi:~$ glxinfo | grep -i render
direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel(R) 945GM GEM 20100328 2010Q1 x86/MMX/SSE2
Escrito por Helio Loureiro
Categoria:

Depois de descobrir que o modem da 3G Huawei, E156B, não funciona bem em Linux (fica criando e removendo os devices /dev/ttyUSB?) por causa de um bug no kernel, resolvi arriscar e fazer o upgrade no OpenSuse 11.2 para 11.3, uma vez que a versão de kernel nesse é mais novo.

Em geral é recomendado o upgrade via CD/DVD, mas resolvi arriscar o upgrade online, usando o zypper.  Também encontrei boas referências de como fazer isso:

How to migrate to a new openSUSE version


Upgrade to 11.3 using zypper dup


Fazendo o upgrade do openSUSE 11.2 para o 11.3


Seguindo os passos descritos, que são basicamente:

  • Atualizar o sistema em 11.2.
  • Remover todos os repositórios referenciados pelo 11.2
  • Inserir os links para 11.3.
  • Atualizar a lista de pacotes e dependências.
  • Atualizar o sistema.

O último passo é um reboot para garantir que todos os aplicativos estão rodando corretamente e carregar o kernel novo.

Quase não tive problemas, mas após o boot, não conseguia fazer login via KDM.  Após uma olhada rápida no ~/.xsession-errors, descobri que o diretório /tmp estava com as permissões erradas, uma vez que tenho o mesmo em uma partição criptografada.  Mas um "chmod 1777 /tmp" corrigiu isso e aqui estou eu, feliz no meu novíssimo OpenSuse 11.3.


Linux musashi 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 i686 i686 i386 GNU/Linux


Adicionado em 28 de Agosto: um comentário sobre o modem 3G Huawei E156B, que originou todo esse esse upgrade.  O mesmo continua não funcionando corretamente...

Escrito por Helio Loureiro
Categoria:

Como trabalho com instalação de equipamentos, invariavelmente me vejo com o problema de conectar via SSH a um IP que já existe no meu ".ssh/known_hosts", mas com endereço MAC e hash de host diferentes (fingerprint). As redes internas dos equipamentos que trabalho estão sempre padronizadas em 172.16.0.0/21 e 172.16.8.0/21, com as placas sempre nos mesmos endereços internos, independente de instalação, mapeadas por posição física em relação aos magazine e slot.


Imediatamente o ssh identifica tal endereço como clonado e emite um alerta de erro e tentativa de ataque (man-in-the-middle, alguém no meio do caminho):

helio@musashi:BKP$ ssh -l telorb proc-m1-s1-0
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
72:78:1e:c2:69:f9:a1:55:a0:9c:35:c8:be:6a:40:fb.
Please contact your system administrator.
Add correct host key in /home/helio/.ssh/known_hosts to get rid of this message.
Offending key in /home/helio/.ssh/known_hosts:323
RSA host key for proc-m1-s1-0 has changed and you have requested strict checking.
Host key verification failed.
 

Nesse caso o destino, proc-m1-s1-0, é o processador do magazine 1, slot 1, interface de rede 0, cujo IP é 172.16.8.129. Já o mantenho em meu /etc/hosts de tanto que preciso usar, deixando o nome assim mais fácil (também uso o alias io1 para acessar) sem precisar decorar o IP.

Voltando ao assunto ssh, é possível remover a entrada no arquivo .ssh/known_hosts com o comando sed e a saída acima, que mostra que o mesmo está registrado na linha 323 desse arquivo (linha do "Offending key..."). Para isso basta:

sed -i "323d" .ssh/known_hosts 
 

Isso funciona corretamente no sed da GNU, mas não no dos BSDs. Para esses, uso o redirecionamento para outro arquivo:

cat .ssh/known_hosts | sed "323d" >.ssh/known_hosts.tmp
mv .ssh/known_hosts.tmp .ssh/known_hosts
 

O redirecionamento direto para o arquivo de origem costuma não funcionar muito bem com alguns BSDs e Solaris principalmente, apagando o mesmo. Então não economizo em comandos e faço como acima.

Essa é a solução chata, pois exige constantemente a alteração do arquivo .ssh/known_hosts. Sem falar que o mesmo problema também surge quando é realizado algum upgrade, onde geralmente o host de acesso tem seu sistema operacional re-instalado.

Então para evitar esse aborrecimento, existe uma forma de alterar as opções do ssh. Mas isso causa um problema de segurança nos acessos via SSH, pois todo host já autenticado anteriormente poderá ser direcionado para outra máquina sem demais avisos. Isso poderá fazer com que se digite a senha numa máquina qualquer. Mesmo se não for um ataque, existe o risco dos login e senha ficarem disponíveis em algum syslog do sistema contectado. Então... cuidado.

cat << EOF >> ~/.ssh/ssh_config
CheckHostIP=no
StrictHostKeyChecking=no
EOF
 

A opção "CheckHostIP" é a responsável por fazer a associação de host com fingerprint. Já a opção "StrictHostKeyChecking" cuida para que o arquivo .ssh/known_hosts seja atualizado a cada acesso ao host de destino. Alterando as duas opções para "no", eu evito ter de editar esse arquivo a cada acesso, mas abre uma brecha de segurança enorme em para mim.

Se o seu caso for igual ao meu, que utiliza um laptop para justamente esse tipo de trabalho, os riscos valerão a pena.  Na usabilidade x segurança, aqui ganhou o primeiro.


=-=-=-=-=
Powered by Blogilo

Escrito por Helio Loureiro
Categoria:

 

Baseado na mesma idéia já publicada pela Debian, Valéssio Britto criou uma versão brasileira do cubo de comandos para Debian.  É para uso de comandos em geral, mas as sequências de <Ctrl>+<algo> são específicas de Bash.

Idéia muito legal.  Além do cubo ser "stylish", deixa sua mesa com aparência legal.  Vai fazer seus amigos babarem.

Eu pretendo editar meu cubo e ainda colocar um RTFM, pra ficar mais a minha cara.

Veja mais sobre cubo Debian aqui.

Escrito por Helio Loureiro
Categoria:

Adicionei mais uma feature no Joomla, para atualizar automaticamente os posts daqui no twitter.

Twitter Post

Espero conseguir fazer mais rápido o sincronismo da página com o Twitter, já que esse tem *roubado* boa parte do meu tempo e meus posts.

Tenho muitas idéias sobre o que escrever, mas acabo perdendo muito tempo com Twitter.  Então, se não pode com ele, tweet-se à ele.

Escrito por Helio Loureiro
Categoria:

Durante uma conversa com um colega de trabalho, onde ele mostrou um artigo seu no Dicas-L, mostrei minha única aparição por lá (se tem outra, nem estou sabendo).  

Comentei que infelizmente o link estava quebrado e que não tinha mais a página referida.  Mas isso queimou profundamente em minha alma, se é que tenho uma, ou se ainda restar alguma.

Sai pelo google a fora buscando por um simples "rtfm.html", e não encontrei nada.  Então fui no modo difícil.

Busquei o pacote do "funny-manpages".  Instalei e verifiquei que tudo estava certo com um "man rtfm".  Depois procurei o pacote do "man2html", e o instalei.

Feito isso, bastou um:


cat /usr/share/man/man1/rtfm.1fun.gz |\
   gunzip - |\
   nroff -man -c |\
   man2html > /tmp/rtfm.html


seguido de um upload pro site, o que fez com que tudo voltasse ao normal.  

Podem conferir:

http://helio.loureiro.eng.br/rtfm.html