quarta-feira, 10 de junho de 2009

Existe esperança....


Depois de penar durante algum tempo buscando adaptar uma solução baseada em Linux às necessidades do dia-a-dia, finalmente encontramos um formato ideal. Há quem diga, que Linux é o melhor pra tudo e para todos, é o remédio até pra pancada. Não é bem assim, antes de se fazer uma migração deve-se analisar os prós e contras, com bastante cautela analisar os setores que podem ou não migrar, de acordo com o perfil de aplicações.

Hoje na empresa que trabalho já venho há algum tempo utilizando linux em equipamentos de vendas, onde precisa-se apenas utilizar o sistema da empresa por meio de acesso remoto e um comunicador instantâneo. Mas, outros setores tinham que morrer usando windows.

Iniciei há poucos dias uma migração que pretende ser completa, após ter finalmente adaptado uma de nossas aplicações que dependia de simplesmente do mapeamento de teclas de função que sempre causavam transtorno. Hoje com o uso do wine, possibilitou fazer o que faltava. Algumas aplicações próprias que eram desenvolvidas em delphi precisavam do windows instalado para funcionar, agora não precisamos mais, a independência tornou-se uma realidade.

Na imagem acima um netbook da asus utilizando conexão a internet via bluetooth por meio do celular. Alguém com certeza dirá que é inviável diante do atual 3g, mas a aplicação não necessita de um custo deste tipo. Para se ter idéia, utilizando linux deixa-se de pagar licença do próprio windows, do antivirus e de algum possível pacote de editoração. Sem falar que a conexão fica mais rápida, pois não precisa ficar atualizando antivirus comendo banda da rede.

Publicarei outras experiências interessantes durante essa migração, que acredito ser uma grande oportunidade de aplicação de conhecimentos e uma forma de aprender mais.

domingo, 10 de maio de 2009

Qual o melhor linux?

Esta é a pergunta milenar tanto para quem não conhece bem o linux, quanto para aqueles que já são os ditos gurus.

Não sou nenhum gênio ou dono da verdade, consegui com esforço o primeiro nível da LPI, mas ainda tenho muito a aprender. O que posso dizer é apenas baseado em minhas experiências e nas conversas que tenho com outros profissionais que sofreram situações semelhantes ou piores que as minhas.

Costumam me perguntar qual a melhor distribuição linux. Eu normalmente respondo a pergunta com outra pergunta: o que você quer fazer exatamente?
Tomo como forma de análise o perfil de determinadas distribuições quantos aos seguintes aspectos:

* facilidade de uso
* facilidade em atualizações
* estabilidade
* conhecimento e disponibilidade para aprender mais sobre determinada distribuição
* perfil: destop ou servidor

Quando a preocupação é de instalar um servidor, deve-se procurar principalmente pelas características que permitam a ação rápida em caso de problemas, a facilidade de atualizações críticas de segurança e a flexibilidade principalmente quanto ao hardware.

Existem os tradicionalistas que preferem uma distribuição totalmente personalizada, com kernel compilado "na unha", nada automatizado etc... Em minha experiência como adm de rede, passei por situações apertadas com servidores que possuem restrições de hardware. Quando um servidor pára, o diretor da empresa não quer saber se você está usando determinado kernel porque é compilado com determinados parâmetros de segurança, algoritmo X de criptografia na conexão etc, ele só vai perguntar o seguinte: "em quantos minutos o sistema volta a funcionar?"; e quando voltar a funcionar, vai provavelmente perguntar: "porque aconteceu isso?", se você não souber uma das respostas, pode ter certeza que seu emprego corre perigo.

Então, o critério que adoto é: servidor -> facilidade em detecção de hardware, principalmente placas de rede e facilidade de atualização, além de ser estável, não sofrendo mudanças radicais. Tomarei como exemplo algumas distribuições mais conhecidas, sem tirar o mérito de cada projeto logicamente.

Servidor -- indico debian e ubuntu (LTS), devido às suas características de durabilidade quanto ao suporte de atualizações, pois algumas distribuições como por exemplo Fedora e Opensuse costumam sofrer alterações de versão que são muito rápidas, por um lado é bom para o projeto que se mantém atualizado com o mercado, mas um terror para os Adm de rede, pois em um prazo de no máximo 2 anos aquela distribuição que foi utilizada para instalar o firewall não será mais atualizada, correndo o risco de sofrer ataques baseados em fraquezas do sistema após o último dia que pôde atualizar.

desktop -- mais flexível neste ponto, pode-se utilizar diversas distribuições, pois um desktop não possui aplicações de missão crítica, podendo formatar a cada 6 meses sem maiores problemas, Debian e Ubuntu sugiro por serem mais fáceis de atualizar, mas OpenSuse e Fedora são muito boas também, inclusive o visual delas está muito melhor e caprichado.

O ideal para escolher uma distribuição é testar as diversas que existem e avaliar de acordo com suas necessidades o que se aplica melhor. Tem ainda que avaliar os requisitos, se por exemplo há necessidade de utilizar algum software que precise de uma distribuição por obedecer a homologação do mesmo, então não tem muita alternativa, pode até fazer funcionar o software mediante adaptações, mas correrá o risco de enfrentar problemas e o suporte daquele software não lhe dar muito apoio por estar fugindo ao padrão determinado por eles.

Um exemplo disso é o gerenciador de banco de dados DB2 da IBM, ele homologa o ambiente de produção onde exista um servidor com o Red Hat Enterprise ou o Suse da Novell, caso contrário não há suporte disponível.

Sendo assim, não tem como dizer qual distribuição é melhor, mas sim analisar aquela que melhor se adapta às suas necessidades.

quarta-feira, 11 de fevereiro de 2009

Linux + Educação

Desde o início de meu curso de graduação fiquei inquieto com a idéia dos cursos superiores não incluirem sofware livre como uma forma de aprendizado, e não apenas como um item de uma disciplina, exemplificando um sistema operacional que não é o Windows.

Este meu pensamento tornou à tona ao ver uma notícia no site wwww.noticiaslinux.com.br a respeito do Projeto Fedora Educação, que está recrutando voluntários para criar um liveCD do Fedora com aplicações voltadas para o mundo acadêmico, me chamou atenção pois como comentei, sempre achei o fato de só utilizar plataforma Windows como base de aprendizado uma limitação ao conhecimento para o aluno.


Os professores, coordenação de meu curso defendem a idéia de que desenvolvimento é algo que pode aplicar em qualquer sistema, o que interessa é saber o processo e como funciona o algoritmo. Não discordo. No entanto, é notório que as ferramentas utilizadas em plataformas não-Windows são diferentes, eu particularmente ao tentar programar em C no meu Linux tive dificuldade, pois não haviam as mesmas bibliotecas.

Defendo a idéia de que seja diversificado o aprendizado, não que o curso seja todo exclusivamente com plataforma aberta, mas que pelo menos se faça um paralelo durante o desenvolvimentos de aplicações, para que o futuro profissional possa encarar o mercado com maior preparação e com esse diferencial.

A realidade atual é de um mercado dividido entre quem usa e quem não usa sofware livre. Há aqueles que usam porque é gratuito, outros por sua estabilidade e ainda liberdade. Não sou um fanático, defendo que cada situação é dependente das necessidades e aplicabilidades de cada ferramenta.

Infelizmente ainda existe resistência até mesmo para se conhecer a alternativa, lembro que além da resistência de professores, houve dos próprios alunos que ficaram receiosos em aprender a programar em linux porque simplesmente não sabem usar linux. Realmente a preguiça em ler e pesquisar leva a isso, estagnação de conhecimento e atraso tecnológico, consequentemente menos qualidade profissional. Quem almeja trabalhar com tecnologia tem de ter ao menos o interesse e o ímpeto de ir atrás da informação, não ficar apenas com o que lhe dão, mas buscar alternativas, pois será essa atitude que o diferenciará dos demais e possivelmente lhe permitirão melhor colocação no mercado.

Quem se interessou pelo projeto que mencionei, siga para o site: http://projetofedora.org/educacao

Veja ainda o link para o artigo: http://www.ibm.com/developerworks/blogs/page/ctaurion?entry=open_source_no_ensino_de

segunda-feira, 9 de fevereiro de 2009

Notebook CCE + Ubuntu 8.10 + Video

2o Problema - Video só fica em 640x480

Após busca pela internet, testei várias dicas e nenhuma surtiu efeito. Reparei durante os testes que com o OpenSuse 11 e Fedora 10, o vídeo fica perfeito. O teste final consistiu em simplesmente usar o mesmo arquivo xorg.conf gerado por essas distribuições e jogar no ubuntu. Funcionou perfeitamente. Fiquei admirado com isso, pois o Ubuntu é umas das distribuições que melhor detecta o hardware e funciona sem muito trabalho para configurar os dispositivos. Espero que resolvam esse problema.

Notebook CCE + Ubuntu 8.10 + Wireless rtl8167

1o. problema - rede wireless só funciona a alguns metros do Access Point

Depois de muita busca pela net, encontrei uma dica interessante que permitiu eu sair de perto do AP, depois da placa ser iniciada, executar:

# iwconfig wlan0 rate 5.5M fixed

Estou utilizando essa dica até que surja a solução definitiva, pois a velocidade se limita a 5.5M. Foi a melhor alternativa até o momento, mesmo com o ndiswrapper ou baixando o driver específico não houve sucesso. O problema não é só do Ubuntu, foi testado ainda o fedora 10 e suse 11.1. Acredito que seja o suporte no kernel que ainda não tem bom funcionamento com essa placa. É esperar para ver as novas versões.
Peço desculpa por não postar o link original da dica, eu o perdi.

Gmail + cliente de email

Esta dica não se aplica apenas pra ambiente linux, resolvi postar devido alguns problemas que tive e foi um pouco tortuoso encontrar a solução. O Gmail possuio Google Apps, que permite o uso de email de seu próprio domínio hospedado no Gmail, às vezes fica com a senha e usuários bloqueados para usar no Outlook ou outro cliente de email utilizado. A solução se encontra na próprias ajuda do Gmail. Basta fazer o seguinte:

Se você é um usuário do Google Apps, visite https://www.google.com/a/seudominio.com/UnlockCaptcha para limpar a CAPTCHA. Não se esqueça de substituir "seudominio.com" pelo seu nome de domínio.

Esta dada a dica.

quinta-feira, 11 de dezembro de 2008

CLUSTER - FEDORA

A seguir descrevo passo-a-passo a configuração de um cluster de alta disponibilidade utilizando o fedora. Espero que seja útil, pois é a compilação de dicas coletadas na internet e um pouco de esforço mental para juntar tudo num tutorial único.

A estrutura é montada com 02 servidores IBM cada um com 3 discos, então foi feito um RAID 5 em cada um, almentando a redundância e segurança dos dados.



MONTAGEM DO RAID 5

Na inicialização pressionar ctrl+a pra entrar no setup da controladora RAID

1- initialize drives
ins para cada disco
enter para aceitar no final
yes

2- create array
ins para cada disco
enter para aceitar

3- array properties

ARRAY TYPE: RAID 5 enter
ARRAY LABEL: mega enter
ARRAY SIZE: 273,242 enter
STRIPE SIZE: 512kb enter
READ CACHING : y
WRITE CACHING: enable with battery
CREATE RAID VIA: auto-sync
enter
enter
enter

3- manage arrays
enter

Tem que surgir tela com as propriedades do array, listando os discos que fazem parte.
esc para sair esc esc yes para sair

volume já está pronto para instalar sistema operacional.

4- Ao reiniciar equipamento, teclar F1 para entrar no setup.

SELECIONAR: start options
SELECIONAR: startup sequence option
Na linha first startup device selecionar CD/DVD-ROM
esc esc esc yes enter



particionamento

/boot 100mb
/ 10gb
/home 5gb
/dados 170gb
/dados 100gb
swap 8gb


INSTALAÇÃO DO SISTEMA OPERACIONAL

distribuicao: fedora 9
kernel: 2.6.25.3
arquitetura: i686


REQUISITOS

Instalando pré-requisitos:

Instalando o fonte do kernel e preparando para compilação:
#yum install kernel-2.6.25.3-18.fc9.x86_64
#yum install kernel-source-2.6.25.3-18.fc9.x86_64
#yum install kernel-devel-2.6.25.3-18.fc9.x86_64
#cd /usr/src/kernels/2.6.25.3-18.fc9.x86_64
#cp /boot/config-2.6.25.3-18.fc9.x86_64.config
#make oldconfig

OBS: Não precisa compilar o kernel.


INSTALANDO DRBD

Após baixar o arquivo fonte:

#cd /usr/src
#wget http://oss.linbit.com/drbd/8.2/drbd-8.2.6.tar.gz
#tar zxvf drbd-8.2.6.tar.gz
#cd /usr/src/drbd-8.2.6/drbd
#make clean ; make KDIR=/usr/src/kernels/2.6.25.3-18.fc9.x86_64
#make install
#cd /usr/src/drbd-8.2.6/
#make tools
#make install

Resolução de nomes:


# vi /etc/hosts <--- copiar em ambos equipamentos
10.1.1.1 neo, server01
10.1.1.2 trinity, server02
configuração do arquivo /etc/drbd.conf que deverá constar nos dois equipamentos

common { # Todos os recursos herdam as opções ajustadas nesta seção.
syncer { rate 80M; } # Limita a largura de banda usada em
# sincronizações. O padrão é 250 KB/s.
# A descrição de outras opções podem ser
# encontradas em ``man drbdsetup
}


resource r0 { # Configuração de recurso DRBD. Cada seção
# ``resource possui duas seções ``host.
protocol C; # Paramêtro obrigatório na seção ``resource. Indica
# como são tratados os dados enviados de nó a nó. No
# caso especifico deste protocolo, um nó só considera
# terminada a operação de replicação se o dado for escrito
# em ambos os discos.
handlers { # Indica executáveis ativados pelo drbd em resposta a
# eventos especificos.
pri-on-incon-degr "halt -f"; # ``halt é executado se o nó é primário,
# degradado e a cópia
# de dados local é inconsistente.
pri-lost-after-sb "halt -f"; # ``halt é executado se o nó é primário,
# mas perdeu os procedimentos de auto
# recuperação pós split brain.
}
startup {
wfc-timeout 10; # Tempo de espera para conexão.
degr-wfc-timeout 120;
}
disk {
on-io-error detach; # Indica o procedimento a ser tomando em caso
# de erro de entrada e saída.
# Procedimentos:
# . pass_on: O erro é reportado à camadas superiores.
# Em nó primário, para o sistema de arquivos.
# Em secundário, ignora-o.
# . panic: O nó deixa o cluster com kernel panic.
# . detach: O nó derruba o dispositivo e continua sem
# disco.
}
net {
allow-two-primaries; # Permite o uso de dois nós primários.
after-sb-0pri disconnect; # Situação de split brain com dois nós secundários.
# Nenhum procedimento de auto-recuperação é tomado.
after-sb-1pri disconnect; # Split brain com um nó primário.
after-sb-2pri disconnect; # Split brain com dois nós primários.
}
on neo {
device /dev/drbd0; # Distpositivo do DRBD.
disk /dev/sda7; # Partição física.
address 10.1.1.1:7788; # Endereço e porta do DRBD.
flexible-meta-disk internal;
}
on trinity {
device /dev/drbd0;
disk /dev/sda7;
address 10.1.1.2:7788;
meta-disk internal;
}
}

#dd if=/dev/zero of=/dev/sda7 bs=1M count=128
#drbdadm create-md r0
#drdbadm up r0
#/etc/init.d/drbd start

Acrescentar no /etc/rc.local de ambas

/etc/init.d/drbd start
/sbin/route add default gw 10.0.0.254

Alterar configuração de eth3 para servir de comunicação para drbd

/sbin/ifconfig eth3 10.1.1.1 (primeiro nó)
/sbin/ifconfig eth3 10.1.1.12 (segundo nó)

Na maquina master, montar o dispositivo no ponto de montagem /dados

/etc/fstab
/dev/drbd0 /dados ext3 defaults 0 0

Na slave deixar o ponto de montagem no fstab, mas sem deixar a montagem automatica:

/etc/fstab
/dev/drbd0 /dados ext3 noauto,defaults 0 0

Em ambas, comentar no fstab a linha que monta o /dados no /dev/sda7, pois o /dados será agora no /dev/drbd0.


Faz um tempo que não faço este procedimento, postei aqui para o caso de futuras consultas, e havendo necessidade altero o que não for mais válido.


fonte consulta:
http://www.pruonckk.org/wiki/index.php/Alta_Disponibilidade
http://www.vivaolinux.com.br

terça-feira, 25 de novembro de 2008

O retorno (agora com LPIC-1)

Após vários meses sem escrever uma linha sequer, retorno agora finalmente com Certificação LPI. Sendo assim, repasso minha impressão sobre as provas LPIC 101 e 102.

A prova 101, como já haviam me comentado é mais difícil que a 102. Isso porque ela abrange mais os fundamentos, parâmetros de comandos que você nunca usa na vida, ou mesmo flags assombradas. Somente alguem que respire e coma scripts no café da manhã e janta, consegue acertar tudo. Mas, estudando pelos TestKings, e livros direcionados à certificação, consegue fazer boa prova. Fiquei surpreso por essa prova não abordar o Debian, apenas pacotes RPM. No final do texto indicarei sites e livros que me ajudaram.
A prova 102, foi a melhor, durante as horas de corpo torto, pescoço travado e a sensação de não acabar nunca, houve o alívio em ver questões mais amigáveis. Foi mais fácil pelo motivo de abordar mais situações corriqueiras que se enfrentam no dia-a-dia de quem já trabalha com o sistema (meu caso), assim tive mais tranquilidade. Chamo atenção para as questões abertas.

Algo que não tinha visto é sobre a forma que é aplicada a prova. Recebe-se um caderno de questões, uma folha de resposta (tipo vestibular), e uma folha de racunho.
Não pode riscar em nada, a não ser o cartão de resposta (com lapis apenas), e a folha de rascunho, esta deverá ser devolvida no final da prova. Então tantas regras acabam tirando a concentração do que realmente importa, responder as questões. Mas, basta manter a tranquilidade, se espalhar na cadeira e responder.

Escolhi realizar prova escrita, pois está em português bem brasileiro. Ajuda bastante. O ruim é a espera, foram 3 semanas de agonia, mas valeu a pena. Caso queira fazer a prova com resultado na hora, tem que procurar um centro vue/prometic e pagar em dolar, não recordo o valor, mas fica em torno de R$ 300,00.

Para mais informações, realizei a prova por meio da empresa Fuctura, que mantém parceria com a 4linux, desenvolvendo trabalho de divulgação e aplicação de provas em Pernambuco, visite www.fuctura.com.br, eles possuem também um preparatório, participei, ajudou a orientar os estudos além de medir meus conhecimentos por meio dos simulados.

Para os estudos utilizei:
distribuições: ubuntu, debian, fedora
livros: linux - guia do administrador do sistema (novatec), Certificacao rapida e facil (altabooks)

sites:
http://focalinux.cipsga.org.br (tudo sobre linux)
http://www.certificacaolinux.com.br (simulado online)
http://www.vivaolinux.com.br (para referencias e tutoriais)

Bem, é isso. Agora vou estudar para a LPIC-2, uma nova jornada.

segunda-feira, 30 de junho de 2008

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!


…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!

segunda-feira, 9 de junho de 2008

Wireless + Notebook ACER + Fedora

Sistema: Fedora 8 i386
Hardware: Acer Aspire 3000
chipset: bcm4318 (placa wireless on board)

Infelizmente ainda não é tão fácil fazer o linux funcionar em rede sem fio. Afalta de drivers adequados fazem com que seja ainda uma tarefa complexa para usuários mortais consequirem um simples acessos a internet sem fio, que muitas vezes no windows ser faz em segundos sem nem mesmo pensar.

O módulo desta placa que vem por padrão no Fedora não funciona corretamente, sendo assim devemos tomar outro caminho. Foi utilizado o ndiswrapper, software que utiliza o driver "for windows" e cria um módulo para a distribuição linux.

Pré-requisitos:
instalar o pacote kernel-devel
baixar e descompactar o ndiswrapper

#yum install kernel-devel

copiar o arquivo de configuração de seu kernel para o diretório do fonte de seu kernel

#cp /boot/config-2.6.23.1-42.fc8 /usr/src/kernels/2.6.23.1-42.fc8-i686/ (no meu caso)
#cd /usr/src/kernels/2.6.23.1-42.fc8-i686/

O comando a seguir faz com que o fonte do kernel receba as configuraçõe atuais que sua imagem possui.Não há necessidade de compilar o kernel, basta deixar preparado para tal, basta o comando abaixo:
#make oldconfig

Baixando o ndiswrapper
#wget http://ufpr.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.50.tar.gz

Para este tutorial foi utilizada a versão 1.50, mas aplica-se para outras versões também.

Após baixado o fonte do ndiswrapper, vamos descompactar o mesmo:
#tar zxvf ndiswrapper-1.53.tar.gz

Feito isso, entramos no diretório do mesmo para compilar e instalar o aplicativo:

#cd ndiswrapper-1.53
#make uninstall --> isto é feito para remover qualquer instalação anterior dele
#make
#make install

Após a instalação teremos disponível o executavel ndiswrapper. Como usar:

No nosso caso teremos de possuir o driver da placa wireless para windows que deve estar disponível no site do fabricante ou mesmo dentre os CD's do equipamento.

#ndiswrapper -i /driver/wireless/bcmwl5a.inf --> isto vai fazer com que seja criado o driver para a placa
#ndiswrapper -m --> converterá em módulo para ser compatível com o linux e carregando um alias no /etc/modprobe.d/ndiswrapper apontando para wlan0

Feito isso seu módulo está pronto para funcionar, bastar executar:
#modprobe ndiswrapper

Detalhes:
Foi necessário descarregar antes os módulos e pôr na blacklist(/etc/modprobe.d/blacklist): b43, ssb

ainda no console removemos da memória os módulos:
#rmmod b43
#rmmod ssb

Após o módulo carregado do ndiswrapper, precisaremos fazer com que o sistema reconheça a rede sem fio, duas formas são possíveis: via console texto (script) ou via aplicação gráfica (NetworkManagerDispatcher)

01) via script:
a) configurar o arquivo /etc/wpa_supplicant/wpa_supplicant

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel


network={
ssid="_matrix_" -> verificar configuracao de seu AccessPoint
key_mgmt=WPA-PSK --> verificar configuracao de seu AccessPoint
pairwise=TKIP --> verificar configuracao de seu AccessPoint
group=TKIP
scan_ssid=0
#psk="minhasenha" -> verificar configuracao de seu AccessPoint
psk=7297554fa6ec7db272bc406152a197d1b37764
}

Acima a senha foi gerada pelo comando:
#wpa_passphrase ssid senhadarede

E copiado no arquivo wpa_supplicant.conf conforme modelo acima.

Feito isso, executamos o comando abaixo para que a placa wireless reconheça o AccessPoint

#wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B

Em seguida, a placa já dá sinal de vida, dependendo de sua rede, atribua o ip com ifconfig ou com o dhcp.


02) Via modo gráfio

Abra na barra de tarefas de seu desktop o ícone de conexão de rede, clique em conectar-se a outra rede sem fio. Indique a senha e clique em ok, em alguns segundos estará conectado.

Bem, esse pequeno tutorial é bem direto e objetivo, e é aplicado diretamente em notebooks Acer com placa wireless de chipset bcm43xx, pode haver casos semelhantes que não funcione, então cada caso é um caso. Espero que seja útil para aqueles que estão querendo ver o linux sem fio.

Quanto ao script fica a cargo de cada um como montá-lo, acima descrevi os comandos necessários para funcionar. Utilize a imaginação.

sexta-feira, 6 de junho de 2008

Distribuições do semestre

Recentemente tivemos lançamento da nova safra das principais distribuições atualmente, diga-se debian, fedora, ubuntu. Existem logicamente dezenas ou centenas de outras, mas estas especificamente têm ganhado bastante atenção pelo desenvolvimento, evolução e facilidade em instalação/uso.

Para quem me conhece sabe de minha preferência por padrão debian/ubuntu. O apt-get é um vício, embora compilação seja o ideal para otimização, no dia-a-dia precisamos de agilidade nas soluções.

No entanto, venho utilizando o fedora 9 como opção, sempre baixo as principais distribuições para colecionar e conhecer. Surpreendi-me com a nova versão que vem com o Kde, muito bem acabado o ambiente gráfico, seu desempenho até o momento sem bugs ou problemas maiores a enfrentar. Tive apenas um problema com placa gráfica radeon, mas bastou fazer a instalação em modo texto e alterar no final o xorg.conf para carregar driver generico vesa que ficou perfeito.

Atualmente estou implementando um cluster usando o fedora 9, logo postarei um tutorial completo, pois ainda não achei nada completo do inicio ao fim, apenas fragmentos, e sempre baseados em debian :) Portanto, estou fazendo na "unha".

Para dar uma espiada nas novas versões de linux, sugiro o www.distrowatch.com, cheio de capturas de telas e links para baixar as isos.

quinta-feira, 1 de maio de 2008

Indicação de Livros

Sempre estarei divulgando títulos de livros interessantes que conheço, assim pode facilitar a vida daqueles que querem aprender, mas não sabem qual fonte confiável consultar. Boa leitura.



Este é um livro que não pode faltar em sua mesa. Já comprei, estou no aguardo de sua chegada para pôr em prática. Muito importante para aqueles que trabalham administrando redes linux e precisam constantemente criar scripts para as mais diversas situações, conhecido já por sua linguagem fácil e bem humorada, traz agora esta obra imperdível, compre já o seu e veja que script não é do outro mundo. Mas, faz esse parecer melhor :)







Para aqueles que estão se preparando para Certificação LPI, ou mesmo para aqueles que não sabem qual livro lhes ajudarão de forma efetiva a aprender a gerenciar um sistema linux, este é o livro. Embora não seja oficialmente indicado para LPI, ele cobre o conhecimento necessário para as provas LPIC 1 e 2.









Já este é um guia bastante útil para quem diariamente costuma usar o editor mais conhecido mundo linux/unix, o VI. Com exemplo dos principais comandos que podem agilizar seu dia-a-dia.

quarta-feira, 20 de fevereiro de 2008

script matador

Habitualmente ao usar telnet ou ssh, quando o usuário não efetua um loggof correto, devido principalmente a travamentos de máquinas, erros de rede, ou mesmo fechar sessão de forma forçada, ocorre de ficar com o processo preso referente aquela sessão aberta. Mesmo que a conexão já tenha sido fechada, o processo vira um zumbi.
Imaginemos isso ocorrer diariamente numa rede com mais de 200 usuários. Ligando sem parar reclamando que não consegue abrir tela do sistema, que precisa vender, bater meta etc....

Ao deparar com esse inferno na terra, corri atrás de uma solução para facilitar o trabalho de suporte. Criei um script que basta executar para derrubar, ou mesmo matar os processos de determinado usuário.

O nome do script é bem sugestivo: assassino
Pois, ao executar e inserir o nome do usuário, ele não deixa nada, mata tudo.

Claro que no linux/unix, pode-se fazer qualquer coisa em pelo menos duas formas diferentes. Então pode surgir alguem dizendo.. "ahh, eu faço isso e aquilo e funciona.". Parabéns!!! Esse é o espirito open source, pesquisar/aprender/testar/comemorar.

Segue abaixo o script:

#!/bin/bash
count=0
var=1

sudo touch /tmp/proc1.cont
sudo chmod 777 /tmp/proc1.cont
sudo touch /tmp/proc.cont
sudo chmod 777 /tmp/proc.cont

echo digite nome pra matar
read nome

sudo fuser -v /bin/bash | grep $nome | grep '/bin/bash' | awk '{ print $3 }' | egrep '[0-9]' > /tmp/proc.cont
sudo fuser -v /bin/bash | grep $nome | awk '{ print $2 }' | egrep '[0-9]' >> /tmp/proc.cont

count=$(wc -l /tmp/proc.cont | awk '{ print $1 }')
echo $count processos encontrados para matar

if [ $count -gt "0" ]; then

while [ $var != 0 ]; do

echo matando processo: $(head -1 /tmp/proc.cont)
sudo kill -9 $(head -1 /tmp/proc.cont)
sed '1d' /tmp/proc.cont > /tmp/proc1.cont
cat /tmp/proc1.cont > /tmp/proc.cont
count=$(expr $count - 1)

if [ $count -eq "0" ]; then
var=0
fi
done
fi

domingo, 6 de janeiro de 2008

Atualização de tópico

Vejam a resposta o Banco Real a respeito da incompatibilidade com Linux. Entrem no tópico "Banco Real barra Linux".
Link

sábado, 5 de janeiro de 2008

INSTALAÇÃO E CONFIGURAÇÃO DE SERVIDOR OPENFIRE com SPARK

Plataforma: Linux (Ubuntu 7.10)


Descrição:

O openfire é um servidor Jabber de código aberto e gratuito. Possui ferramenta de gerenciamento via web e extremamente flexível. Tem como base de funcionamento o Java. Neste tutorial será descrito como realizar a instalação a partir de seu código fonte, sendo assim possível sua utilização em qualquer sistema Linux. Será ainda descrito como instalar o cliente Jabber: Spark.

Não é obrigatório que se utilize o spark com o servidor openfire, qualquer cliente Jabber pode ser utilizado.

Pré-requisitos:

Instalação do pacote sun-java6-jre

para o pacote ser instalado, deverá antes descomentar as linhas referentes a pacotes multiverse no /etc/apt/sources.list

#apt-get update

# apt-get install sun-java6-jre


Para saber se o java está funcionando corretamente, basta executar o seguinte comando:

#java -version

Deverá retornar a versão do java instalado.



Após baixar o pacote openfire_3_4_3.tar.gz ou versão mais recente no site: http://www.igniterealtime.org/, criar pasta /opt


#mkdir /opt

Descompactar o pacote:

#tar zxvf openfire_3_4_3.tar.gz -C /opt

Será descompactado e será criada pasta /opt/openfire como demonstrado abaixo:

Para iniciar o servidor openfire, basta entrar no diretorio /opt/openfire/bin

e executar o script:

#/opt/openfire/bin/openfire start

Existe um pequeno bug neste script que mostra na tela uma mensagem



Não é um erro, apenas uma falha no script que não atrapalha o funcionamento do servidor, basta realizar a correção no mesmo como segue:


editar o arquivo /opt/openfire/bin/openfire


Na linha abaixo alterar acrescentando:

../logs/STDOUT.log 2>../logs/STDERR.log &


arquivo original:


arquivo alterado:


Iniciando novamente o servidor, veremos que não haverá mais mensagem.



Para saber se o servidor realmente foi iniciado, basta verificar a porta 9090 aberta no sistema:



Agora poderemos abrir o gerenciador com interface web em nosso servidor. Basta abrir no navegador o endereço http://localhost:9090



Neste passo vamos personalizar nosso servidor, começando pelo idioma, escolha Português logicamente.



Clique em continue. Na tela seguinte deverá informar o dominio de sua rede e as portas de administração, as quais pode deixar as padronizadas. Alterar apenas no caso de haver em sua rede algum outro serviço que utilize as mesmas portas para não ocasionar conflito.


Clique em continue. A seguir deverá ser definida a forma de acesso a banco de dados. Escolha banco de dados interno, para uma configuração mais rápida e pôr em funcionamento o serviço de forma mas prática, indicado para iniciantes ou redes pequenas.



Continue. A tela seguinte refere-se a forma de gerenciamento de usuários. Novamente para redes simples, selecione o padrão.




Continuando, na tela seguinte deverá ser informada uma senha para o administrador do serviço. Altamente recomendado por questões de segurança.


Em seguida finaliza o setup inicial. Basta logar-se no console administrador para maiores configurações:






Percebe-se que a interface é intuitiva, indicando diversas informações, como por exemplo a plataforma, tempo que o servidor está ativo, quantidade de memória utilizada pelo serviço, idioma, fuso horário, etc...

Este tutorial não abrange todas as opções no momento, mas nos próximos, serão abordados mais tópicos.

Inicialmente deveremos criar usuários para que se possa acessar nosso novo servidor jabber. Sendo assim, clique na aba usuários/grupos.

Por padrão já existe o próprio usuário admin. Clique no lado esquerdo, criar novo usuário.



Preencha os dados do usuário e clique em criar & Criar Outro. Para haver conversa, precisamos de pelo menos dois usuários.


Pronto, já possuimos 2 usuários. Precisamos agora instalar o cliente Jabber.



O escolhido para este tutorial foi o Spark.


Baixar o pacote: spark_2_5_8.tar.gz ou versão mais atual no site:

http://www.igniterealtime.org/,


Descompactar em seu diretório de aplicativos preferido.


#tar zxvf spark_2_5_8.tar.gz -C /usr/local


Será criada pasta /usr/local/Spark


Na estação deverá possuir o java instalado, basta seguir os passos iniciais desse tutorial. Pode ser o mesmo pacote java instalado no servidor. A verificação de funcionamento é a mesma.


Em seguida, no ambiente gráfico abrir um terminal e logar-se como root, para ativar a configuração inicial do spark.


Feito isso, pode fechar o spark e executar como usuário comum.



Pronto, o cliente jabber já esta logado. Basta agora outro usuario entrar na conversa. Para isso, podemos adicionar o usuário na lista de contatos, clicando em contatos adicionar. Em nosso servidor temos o usuaŕio suporte e o usuário usuario.


Na Estação do usuário usuario, devemos fazer o mesmo processo de instalação do spark. Feito isso, vamos iniciar a conversa.


Abaixo uma simulação entre os dois clientes jabber e suas listas de contato.






Agora a conversa está sendo realizada entre os dois clientes.

Neste tutorial foi feita a instalação e configuração básica do servidor Openfire com clientes Spark.

Continuarei a postar dicas. Como criar grupos, realizando log de conversas. Configuração de outros clientes jabber etc. Espero que este tutorial seja útil.



quarta-feira, 26 de dezembro de 2007

CUPS - Estranho

Passado o Natal, a vida novamente volta a quase normalidade....

O cups é um gerenciador de impressões que roda em sistemas *nix (linux, unix like). Tenho tido diversos problemas com ele no que se refere a certas anomalias tais como: sumir impressoras, determinadas impressoras ficarem com status "stopped" sem motivo algum. Não encontrando o motivo, busquei então a forma de contornar esses problemas.
O cups funciona baseado em um arquivo de configuração printers.conf onde ficam configuradas as filas de impressão localizado normalmente em /etc/cups/printers.conf

solução encontrada: foi feita uma cópia do arquivo printers.conf para /etc/cups/printers.conf.backup
Fiz um script simples onde faz parar o serviço do cups
#/etc/init.d/cups stop

copia o arquivo printers.conf.backup para printers.conf (substituindo)
#cp /etc/cups/printers.conf.backup /etc/cups/printers.conf

inicia novamente o cups
#/etc/init.d/cups start

Pronto. As impressões que estavam presas são liberadas.

Explicação: o arquivo original printers.conf guarda o status das impressoras, então se alguma está no status "stopped" não sai impressão alguma, sendo assim ao substituir o arquivo original pelo backup onde as impressoras estão todas com status "idle", o servidor entende que as impressoras estão aceitando novos trabalhos.

É uma solução simples. Para evitar a necessidade de executar o script toda hora manualmente, basta adicionar no cron do seu servidor, a cada 2, 3 ou 5 minutos, dependendo do impacto que possa causar em seu servidor. Na empresa que trabalho agendei para cada 2min. Nunca mais tive ligação solicitando liberação de impressora na rede, salvo os casos em que o problema é de software ou maquina travada.

sexta-feira, 21 de dezembro de 2007

Java + Banco do Brasil + linux/firefox

Estou utilizando o Ubuntu Linux 7.10, com firefox 2.0.6. Ao acessar o Banco do Brasil, é necessário ter o Java instalado devido ao teclado virtual. Sendo que para acessar, o java deve ser o sun-java, não podendo ser o java fornecido no site www.java.com, estranho, pois o próprio site do banco indica o link para download no www.java.com. Sendo assim, para poder acessar o Banco do Brasil via firefox n o Ubuntu tive de instalar o pacote: sun-java6-plugin. Nada dificil, basta o comando:
# apt-get install sun-java6-plugin

Mas antes tem de habilitar no sources do apt os pacotes multiverse. Após a instalação, basta reiniciar o navegador e abrir novamente o site do banco.

Firefox desconfiado...


O Firefox até no linux é prevenido. Veja esta tela, fiz download de um .pdf e ao abrir o arquivo me alertou da possibilidade de ter virus, se eu tinha certeza de que queria fazer isto mesmo. Pensei por um momento estar no windows sem querer.. :)

Banco Real barra Linux


Inicio a primeira postagem desse blog com uma notícia absurda. O Banco ABN/AMRO REAL alterou seu módulo de segurança do Internet Banking, com isso sistemas Linux passaram a ser incompatíveis. Liguei para o suporte e disseram que o Linux não é homologado pelo banco e que o cliente deve utilizar Windows.
Para utilizar outro sistema que não seja este, tem que solicitar a liberação do módulo de segurança para poder acessar sua conta com recursos de movimentação. Sendo que após esse bloqueio o cliente tem de renovar depois de 120 dias para continuar acessando.

Realmente algo inusitado ocorrer isso justamente quando as empresas, governo e diversos paises desenvolvem ferramentas para acesso com software livre, o ABN/REAL regride tecnologicamente e impõe a seus clientes o uso de um sistema frágil que precisa diversas ferramentas para se proteger.

Segue captura de tela.


UPDATE (06.01.08) Resposta do Banco Real
Prezado Celso,

Em resposta à sua mensagem, informamos que conforme divulgado no Real Internet Banking, o Módulo de Proteção Real está disponível para o sistema operacional Windows e navegadores Internet Explorer (5.5 ou superior) e Firefox (1.5 ou superior).

Havendo impossibilidade de instalação devido ao sistema operacional, browser ou demais situações, por favor, contate a Central de Atendimento do Real Internet Banking pelo telefone (11) 3553-4445 (São Paulo), (21) 3460 - 1303 (Rio de Janeiro) ou 0800-2864040 (Demais localidades), 24 horas por dia, 7 dias por semana.

Agradecemos o seu interesse pelo Banco Real. Estamos fazendo mais que o possível para oferecer a você e a todos os nossos clientes um banco cada vez melhor.

Estamos à disposição.

Atenciosamente,
Rodnei Ferreira
Sugestões & Reclamações
Banco ABN AMRO Real S/A