Dicas 24 fev 2007 10:47 pm

Palm OS – Aplicativos essenciais

Já há algum tempo sou proprietário de um Palm LifeDrive. Apesar de satisfeito não sou totalmente feliz com o aparelho devido as limitações e problemas que só o Palm OS pode proporcionar (acreditem em certas situações ele é mais problemático que o Windows). É claro que seguindo as recomendações da Palm de só utilizar os softwares originais e/ou recomendados por eles o nível de problemas cai para quase 0 (zero) mas quem consegue viver assim?

Apesar de tudo, o Palm OS é bem suportado pelo Software Livre e inclusive existem muitos aplicativos Livres para o sistema operacional da Palm.
No linux contamos com boas opções para manter o Palm sincronizado e também para integrar a transferência de dados entre aplicativos.

Continue Reading »

Artigos 29 jan 2007 09:11 pm

Autenticação SMTP no Postfix com pop-before-smtp

Postfix + pop-before-smtp

Recentemente tive que implementar alguma forma de autenticação no servidor de um cliente para envio de e-mail uma vez que ele decidiu utilizar um cliente de e-mail ao invés de webmail.
De cara pensei em SASL pois a configuração com Postfix não custuma ser muito trabalhosa, ao menos não no Gentoo. Infelizmente a distribuição do servidor de meu client é Fedora Core, uma distribuição com a qual não tenho nenhuma intimidade.
Procurei na internet alguma forma de fazer isso mas não fui muito feliz em minhas buscas. Como eu já tinha compilado o postfix com suporte ao mysql pois nãoa havia achado uma solução “pronta” na época da configuração do servidor, resolvi fazer o mesmo recompilando o postfix com suporte ao Mysql e SASL. Infelizmente a tentativa não deu certo e o postfix sempre morria após a primeira conexão na porta 25.
Cansado e sem paciência de tentar resolver esse problema achei melhor tentar algo mais prático, pensei então no pop-before-smtp (pop antes do smtp).


Continue Reading »

Dicas 24 nov 2006 11:15 am

Mysql – Error 1114 – Table is full

Recentemente instalei o Zabbix no servidor da minha rede para monitorar algumas máquinas, inclusive ele próprio. Ontem passei o dia configurando os itens a serem monitorados das minhas máquinas e tudo estava funcionando perfeitamente bem, com todos os gráficos sendo gerados e todas as estatísticas computadas.

Hoje ao chegar na empresa, fui direto ver a tela de gráficos que configurei e qual não foi minha surpresa ao verificar que os gráficos estavam todos em branco. Como por padrão o zabbix exibe o gráfico com período de 1 hora, alterei para 24 horas e pude notar que a última atualização no gráfico ocorreu ontem por volta das 23hrs, no entanto as estatísticas continuavam sendo coletadas. Seria esse um erro no serviço zabbix? Felizmente não existe nenhum problema com o Zabbix pelo que pude verificar ao reinicia-lo, no entanto continuo sem geração dos gráficos.

Alterei o nível de debug no arquivo zabbix-server.conf para 4 na linha com o parâmetro DebugLevel e reiniciei novamente o serviço. Dessa forma consegui verificar no log do servidor o problema que estava acontecendo:

# tail -f /var/log/zabbix/zabbix_server.log
013359:20061124:105552 Query::insert into trends \\
(clock,itemid,num,value_min,value_avg,value_max) values \\
(1164369600,17543,1,1041.594705,1041.594705,1041.594705)
013359:20061124:105552 Query failed:The table 'trends' is full [1114]

Table is full? Como isso pode acontecer? Como utilizo o Mysql para o Zabbix imaginei logo que o banco devia ter crescido demasiadamente e dessa forma teria enchido a partição /var. Uma rápida consulta ao espaço livre em disco (df) me mostrou que ainda existe muito espaço livre na partição /var então isso não pode ser um problema de espaço em disco para o Mysql.

Verifiquei que a tabela trends só tem cerca de 1 milhão de registros, o que não é muito pois já tive tabelas em algumas base de dados com muito mais do que essa quantidade de registros.
Resolvi tentar executar a query direto no mysql para ver o que acontecia

# mysql -p
Enter password:
Database changed

mysql> use zabbix
mysql> insert into trends (clock,itemid,num,value_min,value_avg,value_max) \\
values (1164369600,17539,1,112.790411,112.790411,112.790411);
ERROR 1114: The table 'trends' is full

Procurar no google por “mysql error 1114 table is full” não me retornou resultados satisfatórios então resolvi pesquisar no mysql mesmo a raiz do problema.
Imaginei que deveria existir alguma variável limitando o tamanho da tabela ou algo parecido. Com o comando show variables é possível verificar as variáveis atuais do mysql.
Como não existia nenhuma variável que aparentemente estivesse limitando o tamanho das tabelas, resolvi verificar as variáveis pertinentes ao tipo de tabela innodb uma vez que esse é o tipo das tabelas usadas pelo zabbix.

A variável que me pareceu mais passível de estar limitando o tamanho das tabelas foi a “innodb_data_file_path” cujo valor estava definido como ibdata1:10M:autoextend:max:128M (provavelmente o padrão do mysql), no entanto o nome da variável não indicava exatamente limitação de tamanho da tabela, mas de qualquer forma era bom verificar.

Procurando no google por esse valor achei um blog onde o autor do post relatava o mesmo problema que o meu com o zabbix e tableas do tipo innodb e coincidentemente a mesma distribuição Linux estava sendo usada: Gentoo.
Pelo que entendi o problema realmente estava na definição do tamanho máximo definido pro arquivo InnoDB (ibdata1). O autor do post indica o endereço http://www.browardphp.com/mysql_manual_en/manual_InnoDB.html onde a configuração do InnoDB é explicada.

De acordo com as especificações do site, alterei o parâmetro innodb_data_file_path para ibdata1:10M:autoextend, reiniciei o mysql e o zabbix, e pronto, o zabbix voltou a gerar os gráficos novamente.

# vi /etc/my/mysql.cnf

innodb_data_file_path = ibdata1:10M:autoextend

# /etc/init.d/mysql restart
# /etc/init.d/zabbix-server restart

Não esqueça de alterar novamente o nível de debug no arquivo zabbix-server.conf

Referências

Artigos 27 out 2006 02:18 pm

Roteando múltiplos links de internet

A empresa onde trabalho depende 100% da internet para seu funcionamento, devido a isso procurei escolher uma boa opção de link de internet levando em consideração o melhor preço X a melhor qualidade de serviço.
É claro que as melhores opções são sempre os links dedicados, no entanto esses serviços são caros se comparados aos serviços DSL disponíveis.

Depois de um bom tempo usando o Velox da Telemar, fui apresentado a MundiVox que até que tem um serviço de boa qualidade, só deixando a desejar no primeiro mês de uso.

Apesar da boa qualidade do serviço, inevitavelmente acontecem algumas pequenas interrupções que as vezes não passam de 1 minuto, mas as vezes pode passar dos 10. Sendo assim decidi contratar mais um link de internet de outro fornecedor para efeitos de backup.

Uma vez que o outro link já estava instalado e funcionando surgiu o desafio: Como inserir o novo link na rede de modo a garantir que a internet não pare nunca (failover), e como combinar os 2 links para aumentar a velocidade de acesso a internet (load balancing)?

Inicialmente pensei que a solução fosse utilizar o recurso de “bonding” do kernel, no entanto após ler bem a pouca documentação disponível descobri que o bonding só funciona com links que façam parte de uma mesma rede (lógica).

Pesquisando mais a fundo descobri que a solução está nas tabelas de roteamento do sistema, na verdade na parte Avançada de Roteamento do sistema (o conhecido Linux Advanced Routing and Traffic Control)

A idéia básica do sistema é de criar tabelas de roteamento separadas para cada link e utilizar um gateway multipath ( com rotas alternativas ) como rota padrão. Para isso é necessário utilizar o pacote iproute2, disponível em http://linux-net.osdl.org/index.php/Iproute2

O pacote iproute2 fornece ferramentas avançadas para a configuração de interfaces, endereços, rotas e filtros e pode substituir as ferramentas padrões já conhecidas: ifconfig, route, arp.
No kernel, a opção IP: advanced router provê o suporte necessário para o recurso.

A configuração é simples e basicamente se dá em configurar o kernel e adicionar algumas tabelas de roteamento.


Continue Reading »

Notícias 23 set 2006 08:48 pm

Gentoo Linux. Você está pronto para ele?

Recentemente li um artigo linux.com de um usuário linux relatando sua experiência com o Gentoo.
Na verdade o autor do artigo não chega a ter uma experiência agradável e tenho certeza que muitas pessoas passam pela mesma frustração ao tentar instalar o Gentoo.

A verdade é que a instalação do Gentoo não exige nada mais de conhecimento do que um usuário “intermediário” de linux deve ter, o que engloba compilação de software, compilação de kernel, particionamento e manutenção de disco e sistemas de arquivos, edição de arquivos de configuração, e um pouco de experiência com as ferramentas unix padrão.

Uma exigência que deve ser observada é a atenção ao manual de instalação, principalmente em uma primeira instalação, visto que passar desapercebido por algum detalhe pode significar em ter que recomeçar todo o processo.
Atenção em especial deve ser dada as partes que tratam do Portage e das USE flags.

Outro detalhe que pode ser observado na trajetória do autor é que são necessárias paciência para aguardar o tempo de compilação dos programas e experiência em pesquisas nos principais mecanismos de buscas na hora que aparecem dúvidas.

Resumindo, o Gentoo é feito para aqueles que querem:

  • conhecer a fundo o seu sistema
  • construir seu próprio sistema
  • optimizar o sistema
  • estar sempre atualizado
  • tem o controle total do sistema

Minha experiência com o Gentoo (desde dezembro/2003) tem sido muito agradável e desde então meu conhecimento sobre linux tem se multiplicado diariamente em áreas diversas e a cada dia ainda me surpreendo com novas ferramentas e facilidades que só o Gentoo proporciona.

O suporte a arquitetura 64bits não deixa nada a desejar, e outras arquiteturas são bem vindas também como PowerPC. O repositório de pacotes é tão grande quanto o da concorrência e uma vasta documentaçãi está disponível na internet, principalmente em ens http://wiki.gentoo-wiki.com ensinando a fazer de tudo um pouco, desde a configuração de servidores até a configuração de sistemas múltimidia, etc, etc.

Vida longa para o Gentoo!

Referências

http://distrocenter.linux.com/article.pl?sid=06/09/12/213246&tid=108
-

Artigos 13 set 2006 11:35 pm

Instalando o Webmail Horde IMP

O Horde IMP é um excelente webmail com suporte a IMAP/POP3 de código livre desenvolvido sob o framework Horde.
O Projeto Horde tem como objetivo fornecer um framework de desonvolvimento web para criação de aplicações de código aberto de alta qualidade.

A instalação do Horde IMP tem como principal dependência o próprio projeto Horde que por sua vez tem como dependência o já famoso trio Apache/Mysql/PHP. É necessário portanto instalar o horde e realizar uma configuração mínima para então prosseguir com o módulo de webmail.

Continue Reading »

Artigos 07 set 2006 09:30 pm

ACLs + Samba + NFS

O que são ACLs?

As ACLs – (Access Control List ou Lista de Controle de Acesso) extendem o nível de permissionamento de arquivos e diretórios padrão do mundo linux/unix (POSIX). Sistemas de rede como Novell Netware e Windows NT (e seus sucessores) contam com avançados serviços de diretórios.

No mundo de padrões POSIX durante muito tempo reinou o padrão usuário:grupo:outros com suas permissões rwx, porém para um bom gerenciamento de segurança em uma rede de dados é necessário muito mais do que isso e é ai que entram as ACLs.

Com as ACLs é possível definir acesso a mais de um usuário ou grupo além de definir permissões/usuários/grupos padrões para novos arquivos/diretórios.

Configurar o suporte a ACL no linux requer alguns poucos passos que incluem instalar as versões com suporte a acl das principais ferramentas de sistema como o pacote coreutils (mv, cp, rm, etc) por exemplo, instalar o pacote acl que contém os binários getfacl e setfacl, e por último adicionar suporte aos sistemas de arquivos desejados no kernel.

Continue Reading »

Artigos 04 set 2006 10:40 pm

Instalando Gentoo 64bits

O processo de instação do Gentoo é simples e envolve basicamente o particionamento do(s) disco(s), compilação do kernel, configuração do gerenciador de boot, instalação de software básico e a edição de arquivos de configuração.
O guia de instalação oficial (handbook) pode ser encontrado em http://www.gentoo.org/doc/en/handbook/index.xml e explica detalhadamente cada passo da instação, vale a pena a leitura.

Nesse guia/report será coberta a instalação mínima na arquitetura 64 bits usando processador Athlon64 da AMD. A máquina utilizada para essa instalação será utilizada como servidor de uma rede, o hardware escolhido é o que segue abaixo:

Continue Reading »

« Página anterior