Evento – Software Freedom Day 2008 (Sucesso)

setembro 22, 2008

Com todos os problemas que tivemos, posso dizer que foi um sucesso. Já que tivemos mais de 200 pessoas satisfeitas e 292 quilos de alimentos doados!!!

Muito obrigado a:

Valéssio – Cara! Realmente precisamos de mais pessoas como você, que vêem o problema e “mete a mão na massa” pra ajudar! Valeu mesmo!

Aurélio Heckert – Cara! Suou a camisa hein? Quem sabe faz “AO VIVO”!!! 😀 Muito Obrigado mesmo!

Hugo Doria – Você é sensacional man! Um verdadeiro amante da comundade SL, veio de Aracaju somente pra o evento! Valeu mesmo!!!

Guilherme Razgriz – Esse ai veio do Rio De janeiro, passou um “perrengue retado” e ainda assim lotou uma sala. Valeu e vai desculpando qualquer coisa.

Vicente Aguiar – Rapaz! Sua palestra foi o sucesso… Ainda em dose dupla hein? Sensacional! valeu mesmo! Obrigado e vai desculpando qualquer coisa!

Elder Souza – O mais novo colaborador da comunidade SL, já mostrou que tá ativo e vai “chegar junto” conosco! Valeu man!

Ramon – Sua presença nesse evento prova que a comunidade vai além de que “bandeira” carrega, valeu mesmo! Esse é só o primeiro de muitos outros eventos!

Nilo – Obrigado pela palestra de ultima hora, já tive bons retornos sobre ela viu? Valeu!

Antonio Terceiro – Sua palestra, na minha opinião, tecnicamente, foi a melhor. Valeu a presença!

Isamar – Valeu pelo apoio man! Esse é somente o começo dessa parceria! 😀

Anne D’Israel – Essa me ajudou muito quando precisei. Te Amo viu!? Tá, é minha noiva, dizem que não conta, mas ajudou, tenho que agradecer!

Daniel Neto – Meu professor, me deu todo apoio na resolução de problemas e “chegou junto” quando o “bicho pegou…” Valeu!

Luciano Pena – Meu coordenador, valeu pela confiança que depositou em mim. Espero ter retribuido a altura.

Aos Alunos do Cefet de Santo Amaro que compareceram em peso ao evento! Valeu pessoal!

Aos outros organizadores que também me ajudaram ; Kessia e Cristiano Furtado (Esse atrasou até a ida a formatura da mulher pra palestrar!) Valeu pessoal é assim que se faz uma verdadeira comunidade.

Aos funcionários da Unifacs, que me ajudaram muito! Valeu mesmo!

A todos os outros membros da comunidade de Software Livre que estavam lá prestigiando o evento e aos “simpatizantes” que também estiveram por lá.

Novamente, a todos, Obrigado! Isso que é uma comunidade ativa!

Esse não será o ultimo evento do Ano! Se possível, isso será um hábito!

Obs: Aguardem, logo estarei divulgando as fotos e pequenos filmes do evento. Estou esperando algumas outras fotos (Não é Valéssio? rs :P).


Software Freedom Day 2008 – Bahia

setembro 10, 2008

O que é Software Livre? Como posso usar? Porque não preciso pagar para usá-lo? Esse modelo realmente é interessante? Essas e outras perguntas poderão ser respondidas no dia 20 de setembro de 2008 no campus da paralela da Universidade Salvador (Unifacs), pois nesse dia acontecerá o Software Freedom Day 2008. Onde terá como foco a disseminação do conhecimento em software livre.

O SFD 2008 (Software Freedom Day) é um esforço global nas comunidades para falar sobre as virtudes e disponibilidade do software livre e de código aberto.

Nessa edição do evento teremos palestrantes conhecidos internacionalmente, que estarão disponíveis a suprir todas as nossas duvidas sobre diversos assuntos. Desde pontos filosóficos sobre a cultura hacker e a sua importância no desenvolvimento do conhecimento cibernético e até mesmo assuntos mais técnicos.

Com a participação especial da Colivre, com seus colaboradores extremamente renomados no cenário de Software Livre na Bahia e no mundo. Teremos também a colaboração do projeto Arch Linux e Projeto Fedora Brasil, com a participação de Hugo Doria, desenvolvedor oficial do projeto Arch Linux Internacional e Guilherme Razgriz, integrante do grupo Artwork do Projeto Fedora. E por fim, a apresentação de um novo projeto em GPL para a comunidade Software Livre na Bahia, que será feita pela empresa alemã Comsat GmbH[1].

O evento será dividido em palestras, mini-cursos e uma mesa redonda onde iremos discutir o futuro do Software Livre no estado da Bahia.

Esse evento conta também com a ajuda do grupo JavaBahia, que em parceria visa também divulgar a informação de maneira livre. Não se esqueçam que setembro é mês do Java no Brasil. Se inscreva aqui[3] na rodada de palestra que teremos no dia 15 de setembro.

A nossa programação e maiores detalhes do evento se encontra nesse link.

Gostou? Deseja se inscrever? Clique aqui nesse link. Não perca essa oportunidade!!!


Tuning no Squid

junho 5, 2008

Tuning no Squid

Continuando meus posts sobre Squid, hoje vou mostrar como deixar seu Squid mais “parrudo”. Iremos apenas modificar alguns parâmetros no arquivo de configuração que podem surtir um efeito satisfatório na navegação dos usuários. Vamos lá!

Começando pela memória utilizada pelo squid.

A contagem é bem simples. O squid utiliza 10MB de memória RAM para cada 1GB setado no parâmetro do Cache_dir, adicionado ao valor estipulado no cache_mem e por fim adicionando um valor de gordura de 20MB.

Exemplo :

Tenho um cache_dir com 10GB e um cache_mem de 512. Assim terei utilização na memória de 100MB + 512 + 20 = 632MB de utilização. Isso com uma memória de 1GB aguenta perfeitamente, pois uma maquina com o SO otimizada não utiliza mais 50MB de RAM, no fim ainda teríamos sobra para possíveis picos de utilização de outras aplicações.

Obs: Não é aconselhável ter cache_dir maior que 10GB, se necessário for ter cache maior que isso, é indicado criar partições separadas, pois com partições maiores que essa quantidade existe uma latência no retorno de informações, por conta do grande espaço a ser consultado. (Isso é um mito!!!)

Agora vamos para políticas de troca do cache:

Com o squid compilado “bonitinho” temos as seguintes políticas de troca:

lru : Squid’s original list based LRU policy

Mantém em cache os arquivos abertos recentemente.

heap GDSF : Greedy-Dual Size Frequency

Otimiza o HIT Ratio de objetos mantendo os arquivos menores e populares no cache, para obter uma melhor chance de acontecer um HIT.

heap LFUDA: Least Frequently Used with Dynamic Aging

Procura manter no cache arquivos populares, independente do tamanho otimizando assim o Byte HIT em detrimento do HIT

heap LRU : LRU policy implemented using a heap

Mantém em cache os arquivos abertos recentemente utilizando-se a política heap

Então pude concluir que:

A melhor política para memória é o GDSF, pois manipula pequenos arquivos. Muito interessante para cenários com muitos usuários.

Para guardar arquivos no disco a melhor é LFUDA, pois tem como função aumentar o bit HIT e assim economizar banda, sem falar na manipulação de grandes arquivos, que todo mundo sabe que é bem mais rápido no disco.

Temos os seguintes parâmetros:

memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA

Obs : Aumente o parâmetro maximum_object_size para ganhar vantagem do LFUDA. (100MB para ambiente com atualizações grandes na internet).

Sistema de arquivos do cache:

No parâmetro cache_dir é o local utilizado para especificar o filesystem e informar os detalhes do mesmo.

O melhor sistema de arquivos em minha opinião é o diskd, que tem uma performance de 160 requisições por segundo.

O meu cache_dir ficaria da seguinte forma:

cache_dir diskd /var/spool/squid 10000 64 256 Q1=64 Q2=72
O primero parametro depois do local é o tamanho maximo do diretorio de cache.
O Segundo parametro é o numero maximo de pastas criadas no primeiro nível do cache_dir.

O terceiro parametro é o numero maximo de pastas criadas no segundo nível do cache_dir.
O Q1 e Q2 representam :

Q1 é o numero maximo de requisições para que o proxy pare de abrir novos arquivos.
Q2 é o numero maximo de requisições para que o proxy bloquei novas requisições.

Então:

Quando Q1 > Q2 (o padrão) tem um menor tempo de resposta, por conta do bloqueio antes que o máximo seja realmente excedido . Trocando a ordem (Q1 < Q2)  ganhamos performance, pois com o processamento rápido do cache para requisições não serão facilmente bloqueadas.
Numeros de arquivos que o squid pode abrir:

O kernel, junto ao squid, tem um limite de arquivos que pode ser aberto para manipular o cache e o repasse de paginas para os clientes.

Qual o limite do seu kernel?

# cat /proc/sys/fs/file-max

Deseja Aumentar?

# sysctl -w fs.file-max=100000

No squid isso é feito no ato da compilação com o parâmetro –with-maxfd=<numero>

PS: Cuidado com o numero de arquivos, para que não tenhamos um sobrecarga no seu sistema. Eu utilizo 16384, que veio no padrão do rpm no CentOS 5. Achei um bom numero.

Fechando conexões “meio encerradas”:

O squid mantem algumas conexões que não foram encerradas pelo cliente, mas não estão em uso. Sendo assim o parametro half_closed_clients deve ser setado como off.

Obs : Todos essas dicas foram testadas na distribuição CentOS 5.1 em ambiente virtualizado com 2 GB de RAM dedicados.

Fonte


Instalando Placa Wireless Atheros no Fedora 8

abril 10, 2008

Como iremos usar o MadWifi, ele pode funcionar com outras placas wireless, mas eu testei com  Atheros AR5212. Veja a lista de placas compativeis.

Primeiro será necessário inserir o repositorio Livna, se ele já não estiver configurado nessa maquina.

Baixe o pacote:

#wget  http://rpm.livna.org/livna-release-8.rpm

Efetuei e instalação

# rpm -ivh livna-release-8.rpm

Então vamos a instalação do Madwifi

# yum install madwifi kmod-madwifi

Depois disso será necessário configurar os modulos:

# vi /etc/modprobe.conf

E inserir o seguinte conteudo:

## Inicio da conf do Atheros
alias wifi0 ath_pci
alias wlan0 ath_pci
options ath_pci autocreate=sta
## Fim

No Fedora 8, a minha placa foi reconhecida no momento da instalação, porém não conseguir entrar em nenhuma rede Wireless. Fui informado que o modulo que foi utilizado automaticamente não é correto.

Se houver outra linha com wlan0, comente colocando o caracter # no inicio da linha.

Quando eu rebotei a maquina após efetuar esses passos, eu tive o seguinte retorno quando ele tentou carregar a placa wireless.

Error Wireless request “Set Mode” (8B06)

SET failed on device wlan0 ; invalid argument

Quando dei uma pesquisada na internet, verifiquei que quando mudamos o modo de atuação dessa interface o problema é resolvido.

entre no arquivo /etc/sysconfig/network-scripts/ifcfg-wlan0 e modifique no seguinte ponto:

MODE=Managed #==> Mudei de auto para managed

Porém ainda não sei a razão dessa mudança, mas irei pesquisar e postarei aqui! Até mais!

Fontes : fedorasolved.org e under-linux.org


O Linux vai dominar o mundo?

abril 10, 2008

Calma pessoal! Nada de teoria da dominação e afins. Era somente um atrativo para leitores.

O Linux vai dominar o mundo?

O Linux quando nasceu, era considerado brincadeira de estudantes rebeldes, pessoas que apenas passavam o tempo escrevendo codigos, por pura diversão. De boa parte é verdade, mas associar o Gnu/Linux apenas a estudantes sempre foi um erro. Ele sempre foi voltado a liberdade de escolha em todos os níveis . Seja entre estudantes ou empresas, mesmo que no inicio não era muito comum uma empresa adotar Gnu/Linux.

O cenário que temos hoje é o Gnu/Linux crescendo cada vez mais. Até mesmo existem estudos que informam que o Gnu/Linux estará presente em 90% das empresas de TODO globo.  Ou seja, realmente não é brincadeira de estudante.

Como o Gnu/Linux consegue crescer? Como ganhar dinheiro com o Gnu/Linux? A resposta é rápida! COMUNIDADE!

Os maiores avanços, denominados revoluções tecnológicas, foram feitas de forma colaborativa. Como por exemplo o TCP/IP, WWW e outros.

Como uma empresa pode participar da Comunidade? Por que ele deveria participar se pode pegar os resultados sem a necessidade de provar contribuição?

Simples, a comunidade é um ciclo, é necessário que alguém inicie esse ciclo e que outros dêem continuidade, sempre girando.

Exemplificando. Alguém lança uma solução X e a empresa Y resolve adotá-lo como ferramenta e então ela informa que usou e teve problema no serviço W dessa solução, outro pessoa que também está usando esse produto, visualiza a mensagem e resolve ajudar e então resolve o problema. Dias depois muitas outras pessoas resolvem aderir a ferramenta e com isso ele cresce cada vez mais. Crescendo não só em usuários, mas em corretores de falha, tradutores e afins. Veja comunidades como Fedora, Ubuntu e muitas outras.

Quem ganhou com tudo isso? TODOS! Pois todos participaram da comunidade, ambas pessoas ajudaram e foram ajudadas. Assim funciona a comunidade. Claro com algumas exceções de uma comunidade ou outra, mas essa seria a sua essência.

Mais e mais empresas vislumbram no Linux uma ótima oportunidade de negocio.

Pensar que o Linux não tem futuro é apenas fechar os olhos para uma tendência realmente clara no mercado, mesmo que essencialmente o mercado corporativo não seja o objetivo.


Script para mudança do horário de verão

fevereiro 22, 2008

Aqui na Bahia não teremos esse problema, porém temos nossos amigos usuários de Linux que ainda passam por esse processo de contenção de custos e assim ainda precisam de nossa ajuda.

Então divulgo essa informação que obtive em uma newsletter do DicasL:

Conforme informações obtidas no link ->
http://www.rnp.br/cais/alertas/2007/cais-alr-20071005.html, executei a
mudança na informação de zona Brazil/East com sucesso e meu sistema ficou
atualizado automaticamente.

Fui um pouco adiante e escrevi um script para fazer o trabalho automaticamente.
Segue abaixo o script horario-verao-2007-2008.sh:

#!/bin/sh
# Script criado para alterar o zoneinfo Brazil/East para o horario
# de verao 2007-2008 – baseado em http://www.rnp.br/cais/alertas/2007/cais-alr-20071005.html
# Marcelo Conti – 12/2007

hwc=`which hwclock`
ntp=`which ntpdate`
zic=`which zic`

if [ ! $( id -u ) -eq 0 ]; then
echo “Digite a senha para Sudo.”
exec sudo sh -c “$0” # Executar o script como root
exit ${?} # retorna erro se nao executar
fi

cd /usr/share/zoneinfo/Brazil

echo “Rule Brazil 2007 only – Oct 14 00:00 1 S” > verao2007.zic
echo “Rule Brazil 2008 only – Feb 17 00:00 0 -” >> verao2007.zic
echo “” >> verao2007.zic
echo “Zone Brazil/East -3:00 Brazil BR%sT” >> verao2007.zic

$zic verao2007.zic

cd /etc
mv localtime localtime.default

ln -s /usr/share/zoneinfo/Brazil/East /etc/localtime

$ntp br.pool.ntp.org
$hwc –systohc

Espero que seja util, pois, resolveu meu problema. Criticas, dúvidas e
sugestões para melhorar são bem aceitas.

Foi testado em CentOS 4.5 e Ubuntu 7.10.


SquidClamav

janeiro 26, 2008

Primeiro você precisa ter instalado em sua maquina o Clamd (O daemon do Antivirus Clamav).

No meu caso que uso o CentOS 5.0 usei o yum para instalar.

yum install clamav

(Se não tiver em seus repositorios, pode utilizar o rpmforge – http://dag.wieers.com/rpm/FAQ.php#B).

Depois baixe o SquidClamav

Agora descompacte e instale

# tar xvzf squidclamav-3.2.tar.gz

# cd squidclamav-3.2

# ./configure && make && make install

Copie o arquivo de configuração

# cp squidclamav.conf.dist /etc/squidclamav.conf

Crie o arquivo de log

# touch /var/log/squidclamav.log

# chown squid /var/log/squidclamav.log

Agora edite o arquivo a seu gosto

# vi /etc/squidclamav.conf

O meu está assim:

# Endereço do proxy, no meu caso mesma maquina

proxy http://127.0.0.1:3128/

# Endereço do arquivo de log

logfile /var/log/squidclamav.log

# Pagina que será redirecionado ser encontrar virus, eu mesmo criei essa pagina (veja mais abaixo como criar a sua)

redirect http://127.0.0.1/squidclamav/index.html

# Valor do Debug

debug 0

# Forçar a verificação de cabeçalhos mal formados

force 1

#Mostra as estatisticas do processamento do squidclamav no log.

stat 1

# Se o Clamav estiver na mesma maquina que o squidclamav, informe a linha abaixo (verifique se o arquivo está lá mesmo).

clamd_local /tmp/clamd.socket

# Endereço do Servidor do Clamav (No meu caso, a mesma maquina).

clamd_ip 127.0.0.1

# Porta onde está funcionando o Clamav (Essa porta é default, pode ser mudada no clamav).

clamd_port 3310

# Tempo de espera para encontrar o clamav

timeout 60

# A sintaxe abort informa quais tipos de arquivos não devem ser verificados, no caso do aborti são utilizados para imagens.

abort ^.*\.gz$
abort ^.*\.bz2$
abort ^.*\.pdf$
abort ^.*\.js$
abort ^.*\.html$
abort ^.*\.css$
abort ^.*\.xml$
abort ^.*\.xsl$
abort ^.*\.js$
abort ^.*\.ico$
aborti ^.*\.gif$
aborti ^.*\.png$
aborti ^.*\.jpg$
aborti ^.*\.swf$

# no manual do squidclamav informa que serve para visualizar tipo de conteúdo, juro que não entendi, mas esse valor vem no default do arquivo de configuração.

content ^.*application\/.*$

# Quais domínios não devem ser verificados
whitelist .*google\.com
Adicione essas linhas ao seu squid.conf

# Configuracao do Squidclamav

http_access deny to_localhost
http_access allow localhost
url_rewrite_access deny localhost

# Essas três linhas acima são para evitar loop no squidclamav

url_rewrite_program /usr/local/bin/squidclamav
url_rewrite_children 15

# As duas linhas acima servem para chamar o squidclamav para verificação

Criando sua propria pagina de informe de vírus no squidclamav

# mkdir /var/www/html/squidclamav

# vi /var/www/html/squidclamav/index.html

Coloque o seguinte conteúdo nesse arquivo:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”&gt;
<HTML><HEAD><META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=iso-8859-1″>
<TITLE>ERRO: A URL solicitada não pode ser recuperada</TITLE>
<STYLE type=”text/css”><!–BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}–></STYLE>
</HEAD><BODY>
<H1>ERRO</H1>
<H2>A URL solicitada não pode ser recuperada</H2>
<HR noshade size=”1px”>
O seguinte erro foi encontrado:
<UL>
<LI>
<STRONG>
PAGINA INFECTADA
</STRONG>
<P>
Essa pagina está infectada!
</UL>
</P>

Pronto! Agora somente iniciar seu Apache, Squid e Clamd

Quem quiser testar, pode acessar esse site e tentar baixar alguns trojans (POR SUA CONTA EM RISCO), infelizmente o squidclamav não pega todos.