Lançamento da versão 12.1 do OpenSuse

Depois de 8 meses de espera quarta-feira é o lançamento do OpenSuse 12.1!

Mas antes de mostrar a nova versão, vou falar um pouco sobre as mudanças que ocorreram na estrutura numérica para as novas versões.

Foi aberta uma votação para que se decidisse sobre o novo método de numeração para as versões do OpenSuse, entre os estilos sugeridos temos os de algumas distros conhecidas como o Fedora (estilo de número inteiro como o Fedora 14 ou o Fedora 15), o Ubuntu (estilo em que o número da versão reflete a data de lançamento como o Ubuntu 11,04 para significar o Ubuntu lançado em abril de 2011) e o Mandriva (estilo que usa o ano como referência acrescido de uma sequência numérica, como Mandriva 2.010,2, ou seja, o segundo lançamento em 2010).

Com base na idéia de de manter números consecutivos, a sugestão eleita foi a “old school”, assim como já é adotado mas com a eliminação da versão 0.0 e liberação de novas versões a cada 3 meses.

Assim, os próximos quatro lançamentos serão:

Novembro 2011: openSUSE 12,1
Julho 2012: openSUSE 12,2
Março 2013: openSUSE 12,3
Novembro 2013: openSUSE 13,1

O resultado da votação pode ser visto aqui:
http://www.surveymonkey.com

Agora chega blá bla blá e vamos ao que interessa!!! \o/

Pra quem gosta, o OpenSuse virá com a versão 3.2 do GNOME, com grandes melhorias no Nautilus no que se trata de gerenciamento e pré-visualização de documentos. E para os que utilizam o KDE, como eu, vão poder desfrutar da versão 4.7. Outra alteração importante é a remoção do KPackageKit, simplificando assim a instalação de remoção de aplicativos. O projeto para Tablet ainda não fará parte da versão 21.1 mas a comunidade do KDE está trabalhando duro para disponibilizá-la na próxima release.
Nos outros WM existentes XFCE e LXDE, não houveram mudanças significativas, mas apenas melhorias.

Visualmente um sistema lindo, mas e por dentro?
-> O OpenSuse 12.1 promete inicializar mais rápido, com melhorias no gerenciamento de hardware e configuração do sistema.
-> A inicialização agora é gerenciada pelo systemd (para os apreciadores do sysvinit, ele ainda estará disponível como backup).
-> O Yast (gerenciador de pacotes) quer definitivamente por a baixo o mito de que é mais lento e que de sobrecreve acidentalmente arquivos que foram modificados pelos usuário o que é a pura verdade em suas primeiras versões 😛.
-> O SAX faz seu retorno na forma de SAX3, um projeto openSUSE GSOC ahhh que saudade do sax!!.
-> O Kernel Linux 3.1 tras melhorias de desempenho para gerenciamento de memória e manipulação de dados. E claro, suporte a novos hardwares, incluindo dispositivos externos como Kinect da Microsoft e do controlador de Nintendo Wii, bem como a uma variedade de placas wireless e de vídeo.
-> Google GO, syslog-ng 3.3, GCC 4.6 e LLVM v3…

Isso é só um pouquinho das grandes mudanças do OpenSuse 12.1, muitas outras podem ser vistas aqui: http://en.opensuse.org/Product_highlights

A partir do dia 16/11, já vou baixar e colocar à prova essas novidades e tudo de bom ou ruim que encontrar compartilharei com vocês!

Abraços. 🙂

Fonte:
http://en.opensuse.org/Main_Page
http://lizards.opensuse.org/2011/04/06/versionitis/
http://ostatic.com/blog/future-opensuse-versioning-decided

Extraindo textos a partir de imagens

Realizando um atendimento (quem lê até pensa que sou médica rs) me deparei com um problema, tinha que converter um arquivo pdf de 29 páginas para texto, até aí blz, bastava usar um:

$ pdf2text

e pronto, textos a partir do pdf em instantes.

Mas por que facilitar se podemos complicar, né!
O resultado desse comando gerava infomações lixo que não batiam com o conteúdo do pdf.

Tentando de novo, só que agora com outro tipo de arquivo de saída:

$ pdf2html

e… BINGO!! Esse pdf foi gerado a partir de várias imagens organizadas e “linkadas” num index.html. Agora tenho um arquivo html e 29 arquivos PNG.
Mas não resolvi meu problema, cadê os textos?

Vamos à “mágica”!!

OCR é um acrónimo para o inglês Optical Character Recognition, uma tecnologia para reconhecer caracteres a partir de um arquivo de imagem, ou mapa de bits. Através do OCR é possível digitalizar uma folha de texto impresso e obter um arquivo de texto editável.
Fonte: Wikipédia

O que temos nos repositórios do OpenSuse que pode nos ajudar…

anjos:~ # zypper search ocr
Loading repository data...
Reading installed packages...

S | Name        | Summary                                                   | Type   
--+-------------+-----------------------------------------------------------+--------
  | gocr        | Optical Character Recognition                             | package
  | gocr-gui    | Optical Character Recognition - Basic Graphical Interface | package
  | ocrad       | GNU Ocrad--Optical Character Recognition Program          | package
  | ocrad-devel | Development files for GNU ocrad                           | package

Vamos instalar o gocr.

anjos:~ # zypper install gocr
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW packages are going to be installed:
  gocr gocr-gui 

2 new packages to install.
Overall download size: 377.0 KiB. After the operation, additional 912.0 KiB will be used.
Continue? [y/n/?] (y): y
Retrieving package gocr-0.48-6.4.x86_64 (1/2), 364.0 KiB (895.0 KiB unpacked)
Retrieving: gocr-0.48-6.4.x86_64.rpm [done (68.6 KiB/s)]
Retrieving package gocr-gui-0.48-6.4.x86_64 (2/2), 13.0 KiB (17.0 KiB unpacked)
Retrieving: gocr-gui-0.48-6.4.x86_64.rpm [done]
Installing: gocr-0.48-6.4 [done]
Installing: gocr-gui-0.48-6.4 [done]

Prontinho.
Agora é só testar.

A interface do programa não é das mais atrativas, mas é funcional.

Aqui é bem simples, basta escolher o arquivo de imagem e clicar em “Run it”. Depois é só salvar o resultado num txt no menu File -> Save output.

Problema resolvido né! Quase…
Imagina ter que gerar o txt de 29 imagens. Por que não otimizar?

T=1;
for A in NACERP0102*.png
do
  if [ -f $A ] ; 
  then
    gocr -i NACERP0102-$T.png -o NACERP0102-$T.txt
  fi

T=$(($T+1));
done

Obs.: Quem deu uma força gerando o script foi meu amigo Cláudio Miranda.

Missão cumprida e usuário feliz. o/

Abraços. 😀

3º ETS – Encontro de Tecnologia Simonsen

No último sábado, dia 05/11, passei o dia em Padre Miguel, bairro muito conhecido por sua escola de samba, Mocidade Independente de Padre Miguel aliás, minha escola de samba do coração,* e aqui fica localizada a Faculdade Simonsen. Já visitei a Simonsen em outras circunstâncias (colegas graduandos) mas para um evento de tecnologia, essa foi a minha primeira vez.

3º ETS – Encontro de Tecnologia Simonsen

Assim que cheguei já senti um clima bacana, os organizadores muito animados e confiantes de que seria um ótimo evento (e foi!).

Com um certo atraso devido à dificuldade na liberação da credencial para os participantes, enfim o evento começa.

Pois bem, procurei os eventos mais focados em redes e segurança e o primeiro deles foi o Workshop de Pen Test com o Oscar Marques.

Ótima explicação sobre as técnicas e ferramentas de invasão e defesa. Tínhamos a nossa disposição instalado das máquinas o Backtrack, ou seja, a oportunidade para muitos ali de mexer pela primeira vez com port scanners, snnifers e etc. Infelizmente a maioria não tinha a menor noção de como mexer no Linux, o que dificultou um pouco o andamento e acredito que tenha limitado um pouco o aprofundamento no tema, mas vi que todos saíram ainda mais interessados no assunto.
Download Backtrack Linux – Penetration Testing Distribution

Assim que acabou fui tão rapidinho para a próxima palestra que consegui pegar uma boa parte da apresentação do Zeno Rocha sobre HTML5. Já havia assistido essa palestra no FSLDC, pelo menos foi o que pensei. Com uma palestra remodelada e cheia de novidades, pude ver novas funcionalidades muito atrativas para os que trabalham na área de programação para web.

Uma das coisas que me chamou a atenção foi uma animação bacana feita em CSS, o desenho em si ficou simples, eu sei, mas só pelo fato de não se utilizar Flash já deixou o vídeo bem rápido e na minha opinião muito criativo. Sem falar que adoro homem-aranha. 😉
Spiderman – Look Ma, no Flash!

Uma pausa para um flagra!!!
Olha só o Oscar Marques revisando a sua apresentação “PHP for Android” para o PHP’n RIO. Essa não tinha como não registrar, né!

Pra quem queria muita ação e pouco papo ta aí a palestra perfeita. Marcos Pitanga com “A arte do hacking ético”, nada de slides, apenas máquinas virtuais e muitas demonstrações. Utilizando diversas ferramentas vimos por exemplo, as senhas do /etc/passwd serem mostradas em texto puro com o auxílio do John (John the Ripper) e a invasão a um sistema Windows aproveitando a falha de segurança de uma das versões do Acrobat Reader 9.

E depois de passar a semana batendo a cabeça pra colocar o GingerBread no meu celular (Xperia mini pro) por que não assistir uma palestra de Android? Aproveitei pra trocar umas idéias com o Oscar antes da sua palestra sobre “Google Android, visão geral”. Uma viagem sobre a história, conceitos, aplicativos, novas ROMs e segurança.

Posso puxar sardinha pro meu lado? Posso? rs
Quando o Oscar comentou sobre as formas de se atualizar o Android num celular, fui surpreendida com o comentário sobre o meu recente esforço em colocar “na mão” o Android 2.3.7 no meu Sony. Felicidade foi pouco pra descrever o que senti. 😀

A palestra seguinte foi sobre um tema muito interessante, “Obsolecência Programada e Software Livre” com Rodrigo Graça. Ouvimos um pouco sobre a utilização do Software Livre na área de imagem e video, reaproveitamento de equipamentos considerados “lixos” eletrônicos e direitos autorais. Durante a apresentação, Rodrigo Graça mostra como mantém sua empresa utilizando somente ferramentas livres para criação de comerciais, propagandas e filmes como a mesma qualidade final das soluções proprietárias.

Para quem ficou curioso pra ver os trabalhos, ta aqui o site e olha que legal, todos os videos estão sob licença Creative Commons. 🙂
www.ricolandia.com

E por último mas não menos importante temos a palestra do Filipe Barros, aliás sua estréia como palestrante e já começou com o pé direito.
Com o tema “Entendendo e Explorando Falhas de Segurança” mais uma vez vimos as facetas do Backtrack.

Com o foco voltado para as vulnerabilidades web, Filipe Barros nos mostrou ao vivo como se aproveitar de falhas no PHP (oriundas de descuidos do desenvolvedor) para executar exploits, falhas em widgets do WordPress e numa das versões do Proftpd.

Ufa, quanta coisa pra um dia!!
Foi um ótimo evento, com palestras de alto nível só ultrapassaram um pouco os horários. Valeu e MUITO a pena ter vindo e espero voltar ano que vem!

*Um trechinho off-tópic: Vou contar uma breve historia pra vocês sobre a minha paixão pela Mocidade. Em 1997, ao ver uma alegoria que na época foi considerada uma revolução tecnológica: um garoto jogando videogame, com telas de televisão no lugar das lentes dos óculos, fiquei completamente vidrada, e dali em diante com a sequência de enredos voltados para essa área, foi meu primeiro “estalo” de que a tecnologia me atraia.
Hoje trabalho com muito orgulho na área e posso dizer que foi um sonho de criança que virou realidade…

Abraços. 😉

Remote Desktop via Windows e Linux

Recentemente precisei usar o Remote Desktop do Windows para acessar uma máquina que estava em outro andar e que monitorava através de uma webcam um teste de vaso de pressão. Com essa solução não era mais necessária a presença de um técnico perto de tempos em tempos para verificar se a pressão estava ok, diminuindo assim riscos de acidente.

Muito fácil, muito simples, tudo pronto e funcionando?? Não
Mera impressão, pois nada funcionou de primeira e acabei descobrindo alguns detalhes pegadinhas na configuração que quero compartilhar com vocês.

Só para constar, os computadores estavam ligados ponto-a-ponto por um cabo cross-over e com ips fixos.

1ª Configuração (Windows -> Windows)
Em ambas as máquinas eu habilitei o acesso remoto. Botão direito no Meu Computador->Propriedades (Essa parte muda um pouco dependendo da versão do Windows) Existe um item Remoto basta deixar marcada a opção “Permitir acesso remoto”.

Agora vamos aos detalhes que fizeram toda a diferença na minha primeira tentativa. Para funcionar precisei alterar algumas “coisinhas”.
– A máquina que vai receber a conexão não pode ter um SO Windows (Starter ou Home Basic ou Home Premium ou qualquer outro “Home alguma coisa”);
– É imprescindível que o usuário utilizado na conexão possua senha;
– Serviço de Acesso Remoto ativado (como mostrado a cima);

Obs.: Não precisei alterar nada no Firewall como a maioria dos tutoriais por aí informam.

Trabalho executado e pronto! \o/
Mas e se eu colocasse uma máquina Windows acessando uma Linux, nesse momento a mão coça e numa curiosidade capaz de “mover montanhas” resolvo algumas fazer experiências. 😉

2ª Configuração (Linux -> Windows)
Continua valendo os requisitos listados a cima para a máquina que receberá a conexão.
Como realizei os testes numa máquina com Ubuntu vou citar os comandos próprios para esta distro.
Instalei o rdesktop: apt-get install rdesktop
E para executar basta fazer: rdesktop <IP da máquina>

Simples né?
Humm e que tal se a máquina a ser acessada fosse Linux?
Mãos a obra!!

3ª Configuração (Windows -> Linux)
Nessa configuração não foi necessário alterar nada na máquina Windows.
Precisei apenas instalar na estação Linux o xrdp e pronto: apt-get install xrdp
Repare que após a instalação o próprio serviço já fica ativo.
Para acessar basta entrar no Remote Desktop Connection (mstsc-> para os que gostam de chamar no Executar do Windows) e colocar IP da máquina onde foi instalado o xrdp.

Agora sim, trabalho concluído e dúvida curiosidade sanada!!

Abraços. 😉

Fonte:
http://technet.microsoft.com/pt-br/ms376608
http://www.rdesktop.org/
http://www.xrdp.org/

Latinoware 2011 – Parte 2

Segundo dia de evento e uma grade mais dedicada aos projetos web, mobile e as comunidades.

Entrada do Parque tecnológico de Itaipu

Na sala Espaço Uruguai o dia foi dedicado ao Python com palestras que iam desde a história até a aplicabilidade de suas ferramentas. Muitos puderam tirar dúvidas de como integrá-lo com outras linguagens e saber de soluções dentro e fora do país que usam Python.

Este é um dos slides da palestra “Por que Python”. Onde os navegantes de primeira viagem dessa linguagem puderam conhecer a grande quantidade de empresas que apoiam e utilizam o Python.

Palestrante: Marcos André Lopes Mendes

Agora foi a hora de descontrair um pouco.
Quem não conhece o @ProgramadorReal ??
Quem nunca viu ou passou por uma situação das tantas já ilustradas em suas tirinhas?
Durante a palestra “Estudos de caso do site Vida de Programador”, aliás uma das mais procuradas do dia, os participantes conheceram um pouco mais da história do Vida de Programador, sua evolução e como se tornou um dos grandes sucesso da internet.

Palestrante: André Noel

Passeando pelos stands era fácil parar para trocar idéias com “feras” do Software Livre. Olha quem encontrei no stand da Espírito Livre.

João Fernando Costa Júnior - Revista Espírito Livre / Alessandro Silva - FSLDC / Carlos Eduardo Cruz (Cadonico) - Gnugraf

Outro ponto forte do evento foram as demonstrações da galera da Robótica onde todos podiam interagir com as criações. O maior sucesso ficou por conta dos jogos, sempre tinha alguém olhando e esperando sua vez de jogar um pouquinho.

Cantinho da Robótica

É isso galera, fico por aqui. Infelizmente não ficarei para o terceiro e último dia do evento, mas não quer dizer que não ternhamos um resumo de tudo de bom que rolou, pelo contrário, o amigo Laercio Motta (@laerciomasala) publicará em seu blog http://laerciomotta.com/ e aqui também o que rolou de melhor no dia 21/10.

Abraços. 😀

Latinoware 2011 – Parte 1
Latinoware 2011 – Parte 3

Latinoware 2011 – Parte 1

O que dizer da minha primeira visita ao Latinoware?
Pra começar, muito bom poder conhecer pessoas e rever amigos, o que aliás está virando uma marca em eventos de tecnologia, né! Gente se esbarrando num evento aqui, num stand ali, num saguão de aeroporto acolá… e o que falar das redes sociais?
O que não faltaram foram maneiras de interagir com as pessoas. Uma estrutura de internet sem fio de tirar o chapéu e vários painéis digitais colocados em frente as salas de palestras mostravam as mensagens postadas no twitter com a hastag #latinoware e toda a programação do dia. Apesar de não estar sincronizado com o horário.

Painéis digitais.

Numa edição recorde de público, o assunto mais abordado na cerimônia de abertura foi a sustentabilidade.
Ao invés de utilizar material impresso, o evento pensou numa forma diferente de distribuir informativos, folders e etc, disponibilizando de maneira digital!


Isso mesmo!! Estão vendo esse aparelhinho na foto a cima que mais parece um controle de alarme de carro, pois então, com esse aparelhinho era possível obter informações do stand visitado, bastando pra isso aportá-lo para o terminal preso na parede do stand. Essas informações eram enviadas para o seu e-mail (aquele usado para se cadastrar no evento).

Tudo muito bom, tudo muito bem, mas cadê as palestras?

Pois bem, a primeira palestra que assisti foi sobre Segurança de cartões de modalidades de fraudes: desafios e propostas de solução.
Muito bacana conhecer os antigos métodos de fraudes de cartões, a evolução dessas técnicas e as metodologias de segurança implementadas pela ABECS (Associação Brasileira das Empresas de Cartão de crédito e Serviços).
Site do projeto: www.abecs.org.br

Palestrante: Willian Okuhara Caprino

Cerimônia de abertura.

A cerimônia de abertura reuniu organizadores do evento, representantes do Governo e renomados incentivadores do Software Livre.

Voltando as palestras…

Fui assistir F13-CN: Gestão de Segurança de Conexões SSH, aliás ótima palestra, tava tão cheio que tive que sentar no chão.

Palestrante: Anahuac de Paula Gil

A idéia do F13-CN é atuar como um “proxy” SSH, implementando diversos tipos de controle sobre os acessos que os técnicos podem fazer nos servidores de uma empresa, garantindo segunça aos administrador da rede.
Foi apresentada a versão mais recente e as correções bugs implementadas, como por exemplo o armazenamento de arquivos com senha em texto plano, o acesso por ip (agora acessado por label), algumas correções no manual e alguns outros. Citei essas pois foram as que o amigo Laercio Mota – @laerciomasala (que está aqui comigo no Latinoware) reportou para o projeto. Grande contribuição para o projeto.
Site do projeto: http://f13-cn.f13.com.br

E por fim, assisti a palestra sobre FOG – No controle da Clonagem.

Palestrante: Duda Nogueira

Solução para criação de imagens de SO semelhante ao clonezilla, apresentando mais recursos e ferramentas para o manuseio de sistemas Linux e Windows.
Site do projeto: http://dudanogueira.com.br

O que não pude ver mas já fiquei sabendo que foi muito bom:
OpenStreetMap – http://www.latinoware.org/en/node/201
LibreOffice – http://www.latinoware.org/en/node/199

Fico por aqui, o segundo dia promete!! 😉

Fonte:
http://www.latinoware.org/en/node/203
http://www.latinoware.org/en/node/192

Latinoware 2011 – Parte 2
Latinoware 2011 – Parte 3

Erro no “apt-get update”

Essa é mais uma daquelas histórias em que a simples manutenção vira um problemão.

Fui efetuar a configuração de um serviço num firewall (Debian “lenny”) que não mexia a muitos meses e ao executar um apt-get update recebi algumas mensagens de erro:

Reading Package Lists… Error!
E: Problem with MergeList /var/lib/apt/lists/ftp.pt.debian.org_debian_dists_stable_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.”

Depois de muito bater cabeça consegui uma solução seguindo os seguintes passos:

# fuser -vvv /var/lib/dpkg/lock
# sudo rm /var/lib/apt/lists/lock
# cp -arf /var/lib/dpkg /var/lib/dpkg.backup
# cp /var/lib/dpkg/status-old /var/lib/dpkg/status
# cp /var/lib/dpkg/available-old /var/lib/dpkg/available
# rm -rf /var/lib/dpkg/updates/*
# rm -rf /var/lib/apt/lists
# rm /var/cache/apt/*.bin
# mkdir /var/lib/apt/lists
# mkdir /var/lib/apt/lists/partial
# LANG=C;sudo apt-get clean
# LANG=C;sudo apt-get autoclean
# LANG=C;sudo apt-get update

E finalmente problema resolvido e pude prosseguir com meu trabalho! 🙂
Mas como sempre aprendemos com os erros, vou listar outros erros e soluções para o apt-get.

Erro:
W: You may want to run apt-get update to correct these missing files
E: Couldn’t find package penguineyes

Solução:
Rodar o apt-get update depois da sua última alteração no arquivo /etc/apt/sources.list

Erro:
E: Could not open lock file /var/lib/dpkg/lock – open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Solução:
Você não tem permissão root, ou seja, está acessando como usuário normal.

Erro:
E: Dynamic MMap ran out of room
Solução:
Adicione a linha seguinte ao /etc/apt/apt.conf:
APT::Cache-Limit 10000000;

Fonte:
https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
http://www.debian.org/doc/manuals/apt-howto/ch-erros.pt-br.html

Abraços. 😀