TOP10 dos Sites Mais Acessados Através do Squid

Estou adicionando ao nosso sistema de monitoramento mais uma opção, que é a listagem dos 10 sites mais acessados nos Centros Digitais de Cidadania.

Primeiramente você deve ter toda a estrutura do proxy em funcionamento (Squid + Iptables ou Squid + Firefox configurado pra sair pelo proxy). Em seguida execute o comando em Shell Script abaixo:

# cat /var/log/squid/access.log | egrep -i -v “(\.jpg|\.gif|\.png|\.swf|\.jpeg|\.js|\.css|\.ico|\?)” | awk ‘{print $7}’ | sort | cut -d’/’ -f 1,2,3 | uniq -c | sort -rn | head -10

Ao final do comando será apresentada a quantidade de acessos ao site juntamente com seu endereço, o resultado será parecido com este:

1338 http://downloads.berimbau.ba.gov.br
101 http://safebrowsing-cache.google.com
22 http://www.secti.ba.gov.br
20 http://mirrors.adnettelecom.ro
12 http://www.bahianoticias.com.br
12 http://vida.berimbau.ba.gov.br
7 http://www.atalibaneto.com.br
7 https://atalibaneto.wordpress.com
6 http://www.cidadaniadigital.ba.gov.br
3 http://platform.twitter.com

Feito!

O que esse comando faz?

1. Primeiro vamos varrer todo o log aonde fica armazenado os sites acessados pelos usuários.

# cat /var/log/squid/access.log

2. Em seguida vou filtrar as conexões excluindo os sites que não me interessa como; imagens, ícones, java, flash e etc. Só quero o site principal que o usuário acessou. (você pode aprimorar essa limpeza adicionando mais opções ao filtro)

egrep -i -v “(\.jpg|\.gif|\.png|\.swf|\.jpeg|\.js|\.css|\.ico|\?)”

3. Seleciono o endereço dos sites que estão na 7ª coluna e organizo os sites em ordem alfabética.

awk ‘{print $7}’ | sort

4. Pego apenas o endereço principal dos sites, para isso vou pegar tudo que existir até a 3ª /. Por exemplo se aparecer assim http://www.atalibaneto.com.br/asdhkshkashd___34734 será mostrado http://www.atalibaneto.com.br

cut -d’/’ -f 1,2,3

5. Realizo a contagem de sites repetidos e organizo em ordem decrescente .

uniq -c | sort -rn

6. Listo apenas os 10 primeiros sites acessados, se você quiser visualizar todos, remova o comando abaixo. Se deseja alterar a quantidade de sites apresentado na lista, altere o número 10 para o valor que desejar.

head -10

Os testes foram realizados no Debian Lenny e Squid versão 2.7.STABLE3-4.1lenny1.

Existe uma ferramenta chamada Sarg que cria diversos relatórios através do log do Squid, inclusive o TOP10. Não usei o Sarg porque preciso dessa lista em modo texto e o Sarg gera relatórios em HTML dentre outros motivos. Além do mais Shell Script é Shell Script, simples e eficiente. :)

Até breve!

Invertendo Palavras no GNU/Linux

Se vc deseja inverter uma palavra, frase ou até um texto no GNU/Linux existe o comando rev que faz isso.

Invertendo palavras:

$ echo software livre | rev
ervil erawtfos

Invertendo texto de um arquivo:

$ rev sw.txt
.levínopsid amargorp od etnof ogidóc o ranrot e ,ervil erawtfos ed açnecil amu etse a raxena é ervil erawtfos ed oãçiubirtsid ed lausu arienam A .)laicremoc erawtfos( orcul odnajemla odidnev é euq erawtfos oa oãn sam ,)oiráteirporp erawtfos( ovitirtser erawtfos ed otiecnoc oa eõpo es ervil ed otiecnoc O .seõçirtser mes odíubirtsider e odadutse ,odaipoc ,odasu res edop euq rodatupmoc ed amargorp reuqlauq é ,noitadnuoF erawtfoS eerF alep adairc oãçinifed a odnuges ,ervil erawtfoS

Fikdik!

Problemas com o Dbus

1 – Identificando o Problema

Quando você logar no GDM e o Gnome não aparecer, faça o seguinte:

1 – Abra um terminal, pode ser usando as teclas CTRL+ALT+F1
2 – Acesse com seu usuário e senha, a mesma que está travando.
3 – Digite o comando: top

Vai aparecer a imagem abaixo.

4 – Agora você vai ler a mensagem de erro da sua sessão acessando o arquivo /home/seuusuario/.xsession-errors

Deve aparecer a mensagem :

(gnome-settings-daemon:13697): GVFS-RemoteVolumeMonitor-WARNING **: invoking List() failed for type GProxyVolumeMonitorGdu: org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)

(gnome-settings-daemon:13697): GVFS-RemoteVolumeMonitor-WARNING **: New owner :1.23 for volume monitor org.gtk.Private.GduVolumeMonitor connected to the bus; seeding drives/volumes/mounts

(gnome-settings-daemon:13697): GVFS-RemoteVolumeMonitor-WARNING **: invoking List() failed for type GProxyVolumeMonitorGdu: org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)

(gnome-panel:13702): GVFS-RemoteVolumeMonitor-WARNING **: invoking List() failed for type GProxyVolumeMonitorGdu: org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)

Se os processos dbus-daemon e udisk-daemon estiverem consumindo processamento e aparecer a mensagem acima no log, utilize essa solução de contorno.

2 – Solução de Contorno

Remova o pacote gnome-disk-utility

# aptitude remove gnome-disk-utility

Resolvido!

Alterar Endereço MAC da Placa de Rede no GNU/Linux

Toda placa de rede possui um número de identificação chamado de endereço MAC. Na lógica não deveria existir duas placas de rede com o mesmo endereço, porque muitas redes autorizam/bloqueiam acessos através do endereço MAC e não por IP. Então qual a vantagem de alterar seu MAC? acho que já respondi… *rs

Como alterar?

O exemplo altera a placa de rede eth0 e para executar os comandos abaixo você precisa de acesso root:

# ifconfig eth0 down
# ifconfig eth0 hw ether 00:11:22:33:44:55
# ifconfig eth0 up

Pronto!

Se divirta com seu novo endereço :)

Saiba mais sobre endereço MAC.

CTRL+C e CTRL+V Não Funciona no GNU/Linux

Utilizo Debian SID e não funciona CTRL+C e CTRL+V de um conteúdo que já foi apagado.

Exemplo:

Acesso um site: http://www.softwarelivre.org/
Copio o endereço.
Fecho o navegador.
Colo o endereço no editor de textos.
Simplesmente o endereço não é colado no editor, pois o navegador foi fechado.

Solução

Postei esse meu problema na lista de discussão do Debian e encontrei a solução. Basta instalar o glipper com o comando abaixo:

aptitude install glipper

O Glipper é um gerenciador de área de transferência para o GNOME. Ele mantém um histórico dos textos copiados para a área de transferência.

Pronto!

ForkBomb

Percebo que a maioria dos usuários que utilizam GNU/Linux estão vulneráveis ao forkbomb, e muitos desconhecem dessa técnica que pode ser usada pro mal.

O que é forkbomb?

Forkbomb é uma instrução de programação que se auto executa infinitas vezes, consumindo assim todo o recurso da cpu travando o computador em alguns segundos.

Como executar um forkbomb?

Digite no console:

:(){ :|:& };:

Em alguns segundos seu computador vai travar, sendo necessário reiniciá-lo manualmente.
O forkbomb pode ser executado por um usuário comum sem privilégios que vai travar o sistema do mesmo jeito.

Como se proteger?

Edite o arquivo /etc/security/limits.conf
Adicione a linha abaixo no final do arquivo:
*       hard    nproc   200

O que fiz acima, foi limitar a quantidade de processos de todos usuários, sendo assim, cada usuário só poderá executar até 200 processos :)
Se deseja limitar um grupo específico coloque assim, exemplo limitando o grupo users:
@users       hard    nproc   200

Pronto!

Referência:  http://en.wikipedia.org/wiki/Fork_bomb

Preferências de Acesso Universal

As vezes quando habilitamos a opção de acesso universal no Gnome aparece um ícone no painel ao lado do relógio. O ícone é esse abaixo:

Como fazer pra removê-lo?

Acesse o menu Sistema > Preferências > Teclado

Na guia Acessibilidade desabilite a opção abaixo:

Feito!

Sei que existe essa solução em diversos sites, mas prefiro deixar no meu blog que eu sei que vou encontrá-lo quando esquecer novamente :)

Remover Tag ID3 de MP3 no Linux

“A Tag ID3 (chamado também de ID3 Tag) é um conjunto de informações mais usado junto com o formato de áudio MP3. Ela permite armazenar informações como o título, artista, album, número da faixa, ou outra informação sobre o arquivo no próprio aquivo.”

O que acontece é que alguns tocadores de áudio organizam as músicas com base nas informações dessas tags, que são diferentes das que organizamos com os nomes e diretórios tornando uma confusão quando estamos escutando nossas MP3.

Aqui vai uma dica para remover tag dos MP3’s.

Dica testada no Debian GNU/Linux !

Instalar o id3v2:

# aptitude install id3v2

Removendo tags

$ id3v2 -D musica.mp3

Exemplo:

RemoverTagMp3

Turbine seu Firefox

Abaixo algumas configurações pra deixar seu Firefox Turbinado.

Primeiro abra o Firefox e na barra de endereços digite: about:config

Vai a parecer a imagem abaixo, clique no botão para continuar.

Tela de aviso

Remover tempo para instalação de Addons (Padrão 3s)

security.dialog_enable_delay = 0

Selecionar toda barra de endereço após clicar

browser.urlbar.clickSelectsAll = true

Autocompletar endereço URL quando estiver digitando

browser.urlbar.autoFill = true

Desablitar favicon – ícone dos sites

browser.chrome.site_icons = false

Turbinar conexão

network.http.pipelining = true
network.http.pipelining.maxrequests = 8
network.http.max-connections = 96
network.http.max-connections-per-server = 32
network.http.max-persistent-connections-per-server = 8
network.http.pipelining.ssl = true
network.http.proxy.pipelining = true

Turbinar Conexão

Protegendo Diretórios de Sistema GNU/Linux com safe-rm

Uma boa dica é o utilitário safe-rm que não deixa você excluir os diretórios de sistema e outros que você desejar proteger.

1 – Instalação

Você pode instalar no Debian: $ sudo aptitude install safe-rm

Após a instalação ele cria o arquivo de configuração /etc/safe-rm.conf contendo todos os diretórios que ele não permitirá sua exclusão, por padrão ele já protege os seguintes diretórios:

Config do safe-rm

2 – Modo de usar:

Se você tentar apagar algum diretório da lista aparece a seguinte mensagem:

Safe-rm protegendo diretório

Você também pode adicionar mais diretórios no arquivo /etc/safe-rm.conf ;)

Sites do safe-rm:  http://freshmeat.net/projects/safe-rm

http://packages.debian.org/lenny/safe-rm

Dica fornecida pelo meu amigo gordo Rui.

Instalando Berimbau GNU/Linux Para 3ª Fase

Já começou o processo para implantar mais 326 Centros Digitais em mais de 80 municípios da Bahia através do Programa de Inclusão Sociodigital Cidadania Digital e adivinhem quem foi instalar o Berimbau GNU/Linux nesses 326 servidores? Eu e meu parceiro Tito. Tá pensando o quê? Somos pau pra toda obra rapá! Nada melhor que sentir na pele os processos que nós mesmos criamos. Lugar de Desenvolvedor não é só ficar sentado na cadeira de frente pra um computador não, temos que experimentar o nosso veneno hehehe…

Todo processo era bem simples, apenas trabalhoso. Primeiramente a equipe da empresa que ganhou a licitação abriam as máquinas, colocavam todos os dispositivos como master e outros procedimentos a mais e em seguida empilhavam esses servidores no nosso pálete. Esso é um grande diferencial do nosso projeto de inclusão digital com relação aos outros, possuímos um parque totalmente homogêneo, desde a ordem dos dispositivos até o sistema operacional, dessa forma possuímos vantagens na sua manutenção e administração.

Pegamos os servidores no nosso pálete e montamos na bancada (11 máquinas por vez) e em seguida instalamos o Berimbau. A duração da instalação é de 20min (10min para cada disco, pois o Berimbau para essa fase cresceu em tamanho e teve que ser instalado em DVD). A instalação do Berimbau é:

1 – Rápida
2 – Sem interação humana

Pois só assim conseguimos instalar muitos servidores em curto espaço de tempo.

Após 20min você tem disponível um sistema operacional completo instalado em dois discos rígidos prontinho pra funcionar.

Dá uma olhada numa pequenina porção de servidores que ocuparam quatro páletes.

Se o processo de instalação não fosse rápido e sem interação estávamos f$#@%@
Instalamos todas as máquinas em +/- 5 dias, mas dava tranquilamente pra terminar em 3 (+/-100 por dia). Abaixo a bancada com os servidores sendo instalados.

Parceiro de trabalho Tito.

O término da instalação.

Essa mensagem é bem legal ;) estrogonoficamente falando hehehe…

Depois de instalar os servidores, realizamos alguns testes, como checagem de memória, sistema e discos. Em seguida colocávamos os servidores em outro pálete onde a equipe do depósito guardavam esses servidores nas suas respectivas caixas e com uma observação relevante: os servidores são colocados na caixa com a placa-mãe próxima ao chão, isso evita que as memórias folguem nas viagens aos Centros Digitais. Fica aí essa dica pra você!

Olha Josias guardando os servidores de forma correta.

Em breve a população baiana será beneficiada com mais Centros Digitais totalmente em Software Livre ;) tendo acesso as tecnologias e usando essa tecnologia para melhorar a qualidade de vida.

Plugins Que Uso No Firefox

O navegador Firefox possui inúmeros recursos e um deles são os plugins. Aqui vou mostrar os que eu utilizo.

1 – DownThemAll! – É pra mim o melhor gerenciador de downloads.

2 – Corretor ortográfico brasileiro – Indispensável!

3 – Tab Mix Plus – Gerenciador de abas; possui recursos de recuperar abas fechadas, restaurar sessão, organizar em fileiras, controlar foco e muito mais.

4 – Gmail Manager – Gerencia múltiplas contas de email do gmail. Permite visualizar os emails sem precisar acessar o Gmail, pois ele mostra o resumo da caixa de entrada.

5 – Gtranslate – Tradutor do google; Com o click do mouse você pode traduzir uma palavra ou uma frase.

Você pode acessar AQUI e encontrar muitos outros plugins.

Por enquanto é só ;) até mais…

Tema Para BrDesktop

Tema pro BrDesktop criado por Rodrigo Bezerra (Pancinha). A cada dia que passa esse garoto se supera ;)

Se o tema vai ser aprovado ou não eu já não sei, mas que ficou lindo ficou :p

As screens são: grub, gdm, splash, área de trabalho e navegador de arquivos.

Ainda tem um plus do GDM ;)

Na área de trabalho foram utilizados:

Controles: Clearlooks
Cores: Itens selecionados: #89C951
Margem da janela: Clearlooks
ícones: Tango-Green-Materia (Alguns ícones alterados para a cor verde e a logo do menu principal foi alterado para a logo do BrDesktop)

Parabéns Pancinha ;)

Para baixar os temas clique aqui.

Converter Músicas WMA/MP3/OGG/WAV e Etc…

Certa vez extrai um cd inteiro para ogg, agora preciso converter essas músicas para mp3.

Instalei o SoundConverter e segui a dica desse site Blog do Digão. No meu caso não apareceu a opção de conversão para MP3, então segui outra dica que é essa aqui. No Debian basta instalar o pacote gstreamer0.10-lame no site do Debian Multimedia.

Após instalar o gstreamer0.10-lame a opção de conversão para MP3 foi habilitada e consegui converter minhas OGG’s para MP3 com sucesso!

Fica a dica do SundConverter ele possui outras funcionalidades, inclusive ele buscou o nome das músicas na internet e na conversão eu selecionei a opção que organiza pelo número e nome da música.

Apresentação De Ferramentas De Gestão

Semana passada aconteceu a 6ª Oficina para Inclusão Digital no Instituto Anísio Teixeira aqui em Salvador. Participei na Quarta-feira dia 28/11/2007 da oficina Ferramentas de Gestão aonde mostrei algumas ferramentas utilizadas pelo PISD. No começo pensei que poucas pessoas iriam participar, mas foi um ledo engano ;c)

A Oficina foi muito interessante, principalmente para os Monitores dos CDC’s que puderam conhecer um sistema que usamos que eles não sabiam que a gente sabia o que eles não sabiam ;c)

Pra quem quiser ver apresentação pegue aqui

Apresentação 01Apresentação 02

Deslogar v2.0

Esse é meu primeiro post e vou mostrar uma nova ferramenta que estou criando para ser utilizada no Berimbau Linux

Na verdade já utilizamos um chamado de killprocess (em breve no sourceForge) criado pela nossa equipe, mas resolvi criar uma nova por causa da sua manutenção e simplicidade no código.

O quê o Deslogar v2.0 faz:

  1. Lista todos os usuários que estão logados no sistema. No nosso caso, serão mostradas apenas os usuários das estações LTSP.
  2. Permite selecionar vários usuários e deslogá-los

Dependência de pacotes:

  1. Zenity
  2. Slay

Utilizei Shell Script + Zenity e a tela é essa aí:

Deslogar v2.0

O seu código original é esse:

#!/bin/bash

## Ferramenta criada pela Equipe de Desenvolvimento – PISD – Programa de Inclusao Socio-Digital do Estado da Bahia.
## Desloga os usuarios das estações LTSP
## Arquivo criado em 13/11/2007

##
# Pegando valor do ID
ID=$(cat /etc/idconf)

if [ -z $ID ]; then
# Se nao encontrar ID aparece essa mensagem de erro.
zenity –error –title “ERRO” –text “ID não encontrado, por isso o programa não será executado.\nEntre em contato com a Central de Atendimentos.”
else
DESLOGAR=$(zenity –list –multiple –print-column=2 –width=400 –height=400 –title “Deslogar v2.0” –text “Selecione o(s) usuario(s) que deseja deslogar:” –column “Estacao” $(w -h | grep ${ID}E | egrep -v ‘(pts|admin|admintec|root)’ | awk ‘{print $3″ “$1}’ | sort -n) –column “Usuario”)

if [ ! -z $DESLOGAR ]; then
slay $(echo $DESLOGAR | tr ‘|’ ” “)
fi
fi

Pode selecionar um, vários ou todos os usuários:

Deslogar v2.0

Lembrando que pra utilizar o Deslogar v2.0 é preciso ter privilégio de root ;)

Mas pra quem usa LTSP e deseja utilizar essa ferramenta, pode utilizar esse código:

#!/bin/bash

## Ferramenta criada por Ataliba Neto – ataliba”ARROBA”atalibaneto.com.br
## Desloga os usuarios conectados no sistema
## Depende dos pacotes: Zenity e Slay
## Arquivo criado em Wed, 14 Nov 2007 15:43:35 -0300

DESLOGAR=$(zenity –list –multiple –print-column=2 –width=400 –height=400 –title “Deslogar v2.0” –text “Selecione o(s) usuario(s) que deseja deslogar:” –column “Estacao” $(w -h | awk ‘{print $3″ “$1}’ | sort -n) –column “Usuario”)

if [ ! -z $DESLOGAR ]; then
slay $(echo $DESLOGAR | tr ‘|’ ” “)

fi

Só que esse código não é 100% funcional, pois utilizei o comando ‘w’ do Linux para listar os usuários, e esse comando possui uma problema. Ele só lista os oito primeiros caracteres dos usuários, ou seja, se o usuário for ‘atalibaneto’ ele só vai listar ‘ataliban’ e o Deslogar v2.0 não vai funcionar. Pra isso vou usar o comando ‘finger’ que lista o nome do usuário completo, mas ainda não terminei.

Por enquanto é só ;)