Melhorias no controle de SPAM & VIRUS no Zimbra

Integradando SPF, Razor & Pyzor ao SpamAssassin do Zimbra

Instalando spf query

SPF (Sender Policy Framework) é um sistema que tenta prevenir o envio de mensagens forjadas, faz isto através de configurações em seu DNS, quando um e-mail for enviado, o servidor checará as entradas TXT/SPF no seu servidor de DNS, e através dela saberá qual servidor pode entregar mensagens com origem em seu domínio, caso alguém esteja enviando mensagens @seudominio sem ser os servidores citados no registro TXT/SPF o servidor MTA pode ser configurado para recusá-la. É uma maneira bem eficiente de evitar problemas com seu dominio.

Instale a biblioteca para checagem spf

#Debian like

apt-get install libmail-spf-query-perl 

#RedHat like

yum install perl-Mail-SPF perl-Mail-SPF-Query

Instalando o razor2

O Razor2 é um sistema colaborativo, distribuido de filtro para deteccao e controle de spam.

Instale o razor2

#Debian like

apt-get install razor

#RedHat like

yum install perl-Razor-Agent razor-agents

Crie o diretorio do razor

mkdir /opt/zimbra/amavisd/.razor; chown -Rf zimbra:zimbra /opt/zimbra/amavisd/.razor

Agora torne-se zimbra (su zimbra) e crie a conta no razor

razor-admin -home=/opt/zimbra/amavisd/.razor -create
razor-admin -home=/opt/zimbra/amavisd/.razor -discover
razor-admin -home=/opt/zimbra/amavisd/.razor -register

Agora edite o arquivo /opt/zimbra/conf/spamassassin/v310.pre e descomente a linha referente ao razor

loadplugin Mail::SpamAssassin::Plugin::Razor2

Instalando o pyzor

O pyzor é uma rede de sistemas distríbuidos para controle de spam, este utiliza digest de mensagens para fazer análise e identificar o SPAM.

#Debina like

apt-get install pyzor

#RedHat like

wget -q -O – http://www.atomicorp.com/installers/atomic.sh | sh

yum install pyzor

Crie o diretorio do pyzor

mkdir /opt/zimbra/amavisd/.pyzor; chown zimbra:zimbra /opt/zimbra/amavisd/.pyzor

Agora como usuario zimbra (su zimbra)

zimbra@zcs:~/amavisd$ pyzor --homedir /opt/zimbra/amavisd/.pyzor discover
downloading servers from http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x
Traceback (most recent call last):
  File "/usr/bin/pyzor", line 8, in <module>
    pyzor.client.run()
  File "/var/lib/python-support/python2.5/pyzor/client.py", line 1005, in run
    ExecCall().run()
  File "/var/lib/python-support/python2.5/pyzor/client.py", line 184, in run
    self.servers  = self.get_servers(servers_fn)
  File "/var/lib/python-support/python2.5/pyzor/client.py", line 411, in get_servers
    servers.read(open(servers_fn))
  File "/var/lib/python-support/python2.5/pyzor/client.py", line 117, in read
    self.append(pyzor.Address.from_str(line))
  File "/var/lib/python-support/python2.5/pyzor/__init__.py", line 458, in from_str
    fields[1] = int(fields[1])
IndexError: list index out of range

Esse erro é normal, o pyzor tenta baixar o arquivo servers atualizado em http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x porém ele o arquivo não está disponível e retorna o erro.

Para resolver este problema, coloque a linha abaixo no arquivo servers dentro do diretório /opt/zimbra/amavisd/.pyzor, pois ele vai funcionar.

zimbra@zcs:/opt/zimbra$ echo "82.94.255.100:24441" > /opt/zimbra/amavisd/.pyzor/servers

Agora vamos fazer um teste para ver se nosso pyzor consegue se conectar no servidor.

zimbra@zcs:/opt/zimbra/amavisd/.pyzor$ pyzor --homedir /opt/zimbra/amavisd/.pyzor ping
82.94.255.100:24441     (200, 'OK')

Ajustando o spamassassin para trabalhar com razor2 e pyzor

Edite o arquivo /opt/zimbra/conf/spamassassin/local.cf

ok_languages en es
ok_locales en es
trusted_networks 127. 10.70. 192.168.
use_bayes 1
skip_rbl_checks 0
use_razor2 1
dns_available yes 

## Optional Score Increases
## Choose your preferred values...
score SPF_FAIL 10.000
score SPF_HELO_FAIL 10.000
score RAZOR2_CHECK 2.500
score PYZOR_CHECK 2.500
score BAYES_99 4.300
score BAYES_90 3.500
score BAYES_80 3.000
bayes_ignore_header Received: from mail3.example.com
bayes_ignore_header Received: from localhost
bayes_ignore_header Received: from mail1.example.com
bayes_ignore_header Received: from mail2.example.com

Ajustando configurações do amavisd-new

Edite o arquivo /opt/zimbra/conf/amavisd.conf

$sa_tag_level_deflt  = -10.0;  # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.6; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 15; # triggers spam evasive actions
$sa_dsn_cutoff_level = 15;    # spam level beyond which a DSN is not sent
$sa_quarantine_cutoff_level = 15;  # spam level beyond which quarantine is off

$sa_mail_body_size_limit = 512*1024; # don't waste time on SA if mail is larger
$sa_local_tests_only = 0;    # only tests which do not require internet access?

Integrando postgrey ao zimbra

O postgrey é uma implementação do conceito “greylist”. Muito eficiente no combate ao SPAM a greylist consiste em uma fila especial para entrega de mensagens, ele funciona da seguinte forma, quando um MTA tentar entregar uma mensagem para o seu servidor MTA o postgrey recusar a mensagem, dando um reject com codigo 550 (ou seja, tente mais tarde), se for um servidor real, configurado de acordo com as RFC’s de SMTP, ele tentará entregar a mensagem novamente depois de algum tempo, na segunda tentativa o postgrey libera o envio. Se for um sistema de SPAM ele simplesmente passa para a próxima mensagem de sua lista e não tenta entregar aquela mensagem que foi rejeitada. O postgrey é um sistema simples, com um conceito simples, porém extremamente funcional e diminui muito SPAM e VIRUS, seu fluxo de mensagens e sua fila vão diminuir bastante.

Veja neste gráfico como diminuiu a quantidade de spam e virus do servidor, analise o antes e depois.

Mailgraph greylisting.png

#Debina like

apt-get install postgrey

#RedHat like

yum install postgrey

Agora vamos configurar o postfix do zimbra para ususá-lo, edite o arquivo

vi /opt/zimbra/conf/postfix_recipient_restrictions.cf

E coloque a linha baixo antes da linha que contem a diretiva permite

check_policy_service inet:127.0.0.1:60000

Parametros de inicializacao do postgrey

Agora vamos ajustar os parametros de incializacao do postgrey, edite o arquivo /etc/defaults/postgrey e substitua

POSTGREY_OPTS="--inet=127.0.0.1:60000"

por

POSTGREY_OPTS="--inet=127.0.0.1:60000 --delay=60 --max-age=30"

Vamos entender o que é o que!

--delay especifica o tempo que um MTA ficara na greylist (por quanto tempo ele vai recusar msgs do mta).
--max-age significa por quanto tempo o postgrey vai manter essas informações em cache

whitelist do postgrey

O postgrey possue 2 tipos de whitelist, uma para clients e outra para recipients, vamos ajustar a whitelist de clients, edite o arquivo /etc/postgrey/whitelist_clients e caso queria colocar parte da esplanada dos ministérios lá, ficaria assim…

# ministerios do brasil 

planejamento.gov.br
comunicacoes.gov.br
mc.gov.br
mct.gov.br
mec.gov.br
desenvolvimento.gov.br
mds.gov.br
cultura.gov.br
cidades.gov.br
agricultura.gov.br
incra.gov.br
in.gov.br
mma.gov.br
mme.gov.br
mpas.gov.br
mre.gov.br
saude.gov.br
turismo.gov.br
presidencia.gov.br
brasil.gov.br
defesa.org.br
fazenda.gov.br
esporte.gov.br
integracao.gov.br
mj.gov.br
mte.gov.br
transportes.gov.br

# entidades com status de ministerio

agu.gov.br
cgu.gov.br
bcb.gov.br
nae.gov.br

# autarquias, agencias e programas ligados a ministerios

iti.gov.br
radiobras.gov.br
ebc.tv.br
onid.org.br
tvbrasil.org.br
serpro.gov.br
dataprev.gov.br

Salve a lista, reinicie o postgrey

/etc/init.d/postgrey restart

ou

invoke-rc.d postgrey restart

pronto, postgrey instalado, configurado e integrado!

referências

Instalando Xen 4.0 no Debian 6 Squeeze – 64 bits

1. Instalação

  •  Instalar o sistema debian 6 64 bits
  •  Atualizar o sistema

apt-get dist-upgrade

  •  Instalar os pacotes necessários

 apt-get install xen-hypervisor-4.0-amd64 linux-image-xen-amd64 xen-tools xen-qemu-dm vncviewer vnc4server xinetd xterm rsync

  • Após instalar o xen, é necessário corrigir a inicialização do mesmo no grub2

mv -i /etc/grub.d/10_linux /etc/grub.d/50_linux && update-grub2

2. Configuração do Xen

  • Criar backup do arquivo de configuração padrão do xen

cp -a /etc/xen/xend-config.sxp /etc/xen/xend-config.sxp.bkp

  • Editar o arquivo /etc/xen/xend-config.sxp como exemplo entre abixo:

(logfile /var/log/xen/xend.log)
#(loglevel DEBUG)

(xend-http-server yes)
(xend-port 8000)
(xend-address localhost)

(xend-unix-server yes)

(network-script ‘network-bridge antispoof=yes’)

(vif-script vif-bridge)

(dom0-min-mem 196)

(enable-dom0-ballooning yes)

(total_available_memory 0)

(dom0-cpus 0)

(vnc-listen ’0.0.0.0′)
(vncpasswd ‘senha_vnc’)

(keymap ‘pt-br’)

  • Editar o arquivo /etc/xen-tools/xen-tools.conf e verificar se as linhas abaixo estão descomentadas, caso contrário, descomentar:

serial_device = hvc0
serial_device = tty1
disk_device = xvda
pygrub=1

3. Configuração das DomUs Para-Virtualizados (Máquinas Virtuais)

  •  Criar diretório onde ficarão as servidores virtualizados

mkdir -p /nome_do_diretorio/domains

3.1 Configuração de DomU de Servidor existente via rsync

  •  Criar diretórios de virtualização do servidor

mkdir -p /nome_do_diretorio/domains/nome_do_servidor/tmp

  • Criar HD virtual do servidor

cd /nome_do_diretorio/domains/nome_do_servidor

qemu-img create -f raw hd_root.img 50G

mkfs.ext3 -F hd_root.img

qemu-img create -f raw hd_swap.img 2G

mkswap -f hd_swap.img

  •  Criar arquivo de configuração da servidor
  • use o editor de texto de sua preferência
  • cd /nome_do_diretorio/domains/nome_do_servidor
  • vim nome_do_servidor.cfg

import commands
krn_vers = commands.getoutput(‘uname -r’)

name = ‘nome_do_servidor’
builder = ‘linux’
ostype = ‘squeeze’ (Em distribuições debian-like, usar o nome da versão. Em distribuições centos, usar centos-{3,4,5 ou 6}, para demais, consulte tabela)
disk = [
'file:/nome_do_diretorio/domains/nome_do_servidor/hd_root.img,xvda1,w',
'file:/nome_do_diretorio/domains/nome_do_servidor/hd_swap.img,xvda2,w'
]
memory = 1024 (Quantidade de memória)
vcpus = 1 (Quantidade de processadores)
arch = ‘amd64′ (Arquiterura do servidor: i386 ou amd64)
vif = [ 'bridge=xenbr0' ]
kernel = ‘/boot/vmlinuz-’ + krn_vers
ramdisk = ‘/boot/initrd.img-’ + krn_vers
root = ‘/dev/xvda1 ro’
on_poweroff = ‘destroy’
on_reboot = ‘restart’
on_crash = ‘restart’
extra = ‘xencons=xvc console=xvc0 video=tty’
vfb = [ 'type=vnc,vncdisplay=X,vnclisten=0.0.0.0,vncpasswd=senha_vnc' ] (vncdisplay=X é o mesmo que: 590X, ou seja, vncdisplay=1 significa 5901)

  •  Liberar acesso ao servidor xen (Dom0) via rsync para o servidor que esta sendo virtualizado
  • use o editor de texto de sua preferência
  • vim /etc/rsyncd.conf

# arquivo de log
log file = /var/log/rsyncd.log

# host
[nome_do_servidor](modulo_do_servidor)
path = /nome_do_diretorio/domains/nome_do_servidor/tmp
read only = false
uid = root
hosts allow = ip_do_servidor
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.

  • Montar imagem do HD virtual no diretório tmp

cd /nome_do_diretorio/domains/nome_do_servidor

mount -o loop hd_root.img tmp

  • Rsync do servidor para o HD virtual
  • Logar no servidor que esta sendo virtualizado e começar o rsync

rsync -vaH –numeric-ids –stats –progress –exclude “/mnt/*” –exclude “/proc/*” –exclude “/sys/*” –exclude “/tmp/*” –exclude “/var/tmp/*” / ip_do_servidor::modulo_do_servidor

  • Finalizar instalação
  • cd /nome_do_diretorio/domains/nome_do_servidor/tmp
  • use o editor de texto de sua preferência
  • FSTAB – Debian/Ubuntu

vim etc/fstab —  (NÃO COLOCAR “/” ANTES DO ETC

/dev/xvda1       /               ext3    defaults,errors=remount-ro 0       1
/dev/xvda2       none            swap    sw              0       0
proc            /proc           proc    nodev,noexec,nosuid     0       0

  • INITTAB – Debian / CentOS

vim etc/inittab

–Incluir linha–

#Xen
co:2345:respawn:/sbin/agetty 38400 xvc0

  •  EVENT.D – Ubuntu

mkdir etc/event.d

vim etc/event.d/xvc0

# xvc0 Xen Console
# This service maintains a getty on xvc0 from the point the system is
# started until it is shut down again.
start on runlevel 2
start on runlevel 3
stop on runlevel 0
stop on runlevel 1
stop on runlevel 4
stop on runlevel 5
stop on runlevel 6
respawn
exec /sbin/agetty 38400 xvc0

  • Configurar rede, se necessário:

vim etc/network/interfaces

  • Configurar securetty

vim etc/securetty

–Incluir no final do arquivo–

# Xen console
xvc0

  •  Copiar arquivos do kernel

cp -a /lib/modules/$(uname -r) lib/modules

  • Desmontar imagem do HD virtual

cd /nome_do_diretorio/domains/nome_do_servidor

umount tmp

  • Inicializar máquina virtual

xm create -c /nome_do_diretorio/domains/nome_do_servidor

Se a rede foi configurada, o servidor pode ser acessado via ssh

Acesso via VNC, ip_do_servidor:X, onde X faz referência ao vncdisplay informado no arquivo de cfg da máquina virtual

3.2 Configuração de DomU de Servidor novo via debootstrap

  •  Criar diretórios de virtualização do servidor

mkdir -p /nome_do_diretorio/domains/nome_do_servidor/tmp

  •  Criar HD virtual do servidor

cd /nome_do_diretorio/domains/nome_do_servidor

qemu-img create -f raw hd_root.img 50G

mkfs.ext3 -F hd_root.img

qemu-img create -f raw hd_swap.img 2G

mkswap -f hd_swap.img

  • Criar arquivo de configuração da servidor
  • use o editor de texto de sua preferência
  • cd /nome_do_diretorio/domains/nome_do_servidor
  • vim nome_do_servidor.cfg

import commands
krn_vers = commands.getoutput(‘uname -r’)

name = ‘nome_do_servidor’
builder = ‘linux’
ostype = ‘squeeze’ (Em distribuições debian-like, usar o nome da versão. Em distribuições centos, usar centos-{3,4,5 ou 6}, para demais, consulte tabela)
disk = [
'file:/nome_do_diretorio/domains/nome_do_servidor/hd_root.img,xvda1,w',
'file:/nome_do_diretorio/domains/nome_do_servidor/hd_swap.img,xvda2,w'
]
memory = 1024 (Quantidade de memória)
vcpus = 1 (Quantidade de processadores)
arch = ‘amd64′ (Arquiterura do servidor: i386 ou amd64)
vif = [ 'bridge=xenbr0' ]
kernel = ‘/boot/vmlinuz-’ + krn_vers
ramdisk = ‘/boot/initrd.img-’ + krn_vers
root = ‘/dev/xvda1 ro’
on_poweroff = ‘destroy’
on_reboot = ‘restart’
on_crash = ‘restart’
extra = ‘xencons=xvc console=xvc0 video=tty’
vfb = [ 'type=vnc,vncdisplay=X,vnclisten=0.0.0.0,vncpasswd=senha_vnc' ] (vncdisplay=X é o mesmo que: 590X, ou seja, vncdisplay=1 significa 5901)

  •  Inicializar instalação do sistema básico

cd /nome_do_diretorio/domains/nome_do_servidor/tmp
debootstrap –arch amd64 squeeze . http://ftp.debian.org/debian
debootstrap –arch amd64 lucid . http://archive.ubuntu.com/ubuntu

  •  Finalizar instalação
  • cd /nome_do_diretorio/domains/nome_do_servidor/tmp
  • use o editor de texto de sua preferência
  • INITTAB – Debian / CentOS

vim etc/inittab

–Incluir linha–

#Xen
co:2345:respawn:/sbin/agetty 38400 xvc0

  •  EVENT.D – Ubuntu

mkdir etc/event.d

vim etc/event.d/xvc0

# xvc0 Xen Console
# This service maintains a getty on xvc0 from the point the system is
# started until it is shut down again.
start on runlevel 2
start on runlevel 3
stop on runlevel 0
stop on runlevel 1
stop on runlevel 4
stop on runlevel 5
stop on runlevel 6
respawn
exec /sbin/agetty 38400 xvc0

  • Configurar rede, se necessário:

vim etc/network/interfaces

  • Configurar securetty

vim etc/securetty

–Incluir no final do arquivo–

# Xen console
xvc0

  •  Copiar arquivos do kernel

cp -a /lib/modules/$(uname -r) lib/modules

  •  HOSTS

vim etc/hosts

127.0.0.1 localhost.localdomain localhost
ip_do_servidor nome_do_servidor.dominio_do_servidor nome_do_servidor

  •  HOSTNAME

vim etc/hostname

nome_do_servidor

  •  Configurar rede, se necessário

vim etc/network/interfaces

  •  Configurar securetty

vim etc/securetty

–Incluir no final do arquivo–

# Xen console
xvc0

  •  Copiar arquivos do kernel:

cp -a /lib/modules/$(uname -r) lib/modules

Se o sistema de destino não for 64bit, efetuar a cópia dos módulos 64bits

mkdir -p lib64/modules

cp -a /lib64/modules/$(uname -r) lib64/modules

  •  Desmontar imagem do HD virtual

cd /nome_do_diretorio/domains/nome_do_servidor

umount tmp

  •  Inicializar máquina virtual

xm create -c /nome_do_diretorio/domains/nome_do_servidor

Se a rede foi configurada, o servidor pode ser acessado via ssh

Acesso via VNC, ip_do_servidor:X, onde X faz referência ao vncdisplay informado no arquivo de cfg da máquina virtual

4. Bibliografia

  • http://alex.mordue.co.uk/blog/?p=85
    http://wiki.xensource.com
    http://wiki.kartbuilding.net/index.php/Create_Centos5_DomU_on_Debian_Etch_Dom0#Xen-tools.2Frmpstrap_Method_-_Problematic
    http://conshell.net/wiki/index.php/Centos-4_on_Xen
    http://wiki.xen-br.org/P2v-howto
    http://wiki.xen-br.org/P%C3%A1gina_principal
    http://wiki.xen-br.org/Vm-ubuntu
    http://wiki.xen-br.org/Vm-debian
    http://manpages.ubuntu.com/manpages/gutsy/man1/rpmstrap.1.html
    http://wiki.openvz.org/Debian_template_creation
    http://groups.google.com/group/xen-br/browse_thread/thread/19db8f08b4b75ae6?pli=1

3 formas de organizar sua vida usando Gnote

Organize-se! Aqui estão 3 maneiras de organizar a sua vida e construir uma base de dados pessoal com Gnote.

O Gnote deve vir pré-instalado na sua instalação do Fedora, pelo que não incluímos aqui instruções de instalação. Para começar a usar o Gnote, basta clicar sobre o ícone do post-it amarelo que aparece no seu painel do ambiente de trabalho, como aqui mostrado.

1. Manter e gerir listas diárias de Tarefas

Pode ter lido alguns livros sobre organização pessoal, como Gettings Things Done de David Allen, que defendem a manutenção de listas de todas as tarefas que temos em mãos. Um problema que tive ao usar o sistema defendido em Getting Things Done é que acabamos com algumas longas listas que podem ser realmente desmotivadoras de analisar – todas aquelas coisas numa grande e longa lista podem ser avassaladoras.

Usando Gnote, no entanto, pode armazenar uma ampla (e longa) lista mestra ‘Tarefas’, uma completa lista de tarefas ‘Em Espera’ que está à espera que outras pessoas terminem, e uma lista de tarefas de ‘Algum Dia’ ou ‘Tickler’ que gostaria de fazer um dia – e que também pode armazenar diariamente listas de ‘Tarefas’ que terminam num pedaço muito pequeno e de fácil digestão de listas mestres maiores. Isto pode ser muito menos de desmotivador, porque está a realizar tarefas separadamente da sua lista mestre, armazenadas separadamente, mas de uma forma que o protege da enorme quantidade de tarefas que ainda não tenha realizado no trabalho de hoje!

Configurar as suas 3 principais listas mestras de tarefas

O deve fazer primeiro é transcrever qualquer uma das suas listas mestras de tarefas / em espera / qualquer dia do seu sistema de arquivo actual – talvez um caderno de papel – e criar uma nota no Gnote para cada uma. Se ainda não tiver nenhumas listas, aqui está um processo básico para criá-las:

  • Analise todas as notas, emails e documentos que possa ter, o seu cérebro, e anote tudo que o precisa fazer. Mercearias, projectos de trabalho, telefonemas para fazer – tudo serve. Anote tudo numa nota do Gnote; dê como título à nota “Lista Mestra de Tarefas”. Recomendo usar um formato de lista com marcadores – basta adicionar um carácter “*” antes de sua primeira entrada na nota e pressionar Enter para continuar para o próximo item com marcador.
  • Crie mais duas notas no Gnote, uma intitulada “Lista de Tarefas de Qualquer Dia”, e uma intitulada “Lista de Tarefas em Espera”.
  • Comece por percorrer a sua lista item por item. Para cada item, decida se é algo que precisa fazer num futuro imediato, algo que gostaria de ter feito mas não tem necessidade imediata de realizar, ou se é algo em que está envolvido com mas que agora estão nas mãos de outra pessoa.
  • Para os itens que não tenha planos imediatos para concluir, retire-as da “Lista Mestra de Tarefas” so Gnote e coloque-os na nota “Lista de Tarefas de Algum Dia”.
  • Para os itens que está à espera de alguém para continuar, retire-as da “Lista Mestra de Tarefas” do Gnote e coloque-os na nota “Lista de Tarefas em Espera”.

Agora tem três listas de tarefas mestras principais!

Fluxo de trabalho diário

Aqui está um fluxo de trabalho diário que pode usar para fazer este sistema funcionar!

  1. No início do dia, crie uma nova nota e coloque a data. Por exemplo, o formato de data que gosto de usar é: “Tarefa: 8 de Novembro de 2010″.
  2. Abra a sua nota da “Lista Mestra de Tarefas” e escolha um ou dois itens acha que pode realizar hoje. Copie-os para a nota de Tarefas de hoje.
  3. Abra a sua nota da “Lista de Tarefas em Espera” e escolha um ou dois itens que acha que poderia acompanhar hoje. Se o João tem aquela proposta na mesa desde à duas semanas, agora pode ser um bom momento para o lembrar que está à espera que ele a reveja!
  4. Á medida que o seu dia progride, tente trabalhar nos itens que definiu para si mesmo. À medida que completa esses itens, seleccione o item e pressione Ctrl+S para o riscar da sua lista.
  5.  Coisas fora dos nossos planos diários surgem sempre, e às vezes temos de desistir do nosso plano e atender a essas questões imprevisíveis mais urgentes. Não se preocupe com isso!
  6. No final do dia, anote tudo que tenha realizado ou onde tenha gasto tempo fora do âmbito das tarefas que planeou para o dia. Crie uma nova nota de tarefas para amanhã e copie todos os itens que não realizou hoje para o seu plano de amanhã. Para todos os itens que completou hoje, risque-os, também, da sua “Lista Mestra de Tarefas”.

Pode manter todas estas listas sempre visíveis na lista de notas do Gnote clicando no ícone do pionés ao lado deles na lista. Manter listas de tarefas diárias usando o Gnote é uma óptima maneira de rever o que conseguiu concretizar ao fim de uma semana, e torna mais fácil escrever relatórios semanais do estado, se o seu trabalho o exigir.

2. Limpe todos aqueles recados colados na sua secretária!

Rasgue-os todos! Isso mesmo! Reúna todos os seus recados, pedaços de papel, notas escritas nas costas de outros papéis e faça uma pilha. Um por um, passe por cada pedaço de papel e transcreva-o para um Gnote digital. Agora sua mesa está muito mais arrumada e pode pesquisar em todas as suas notas.

Pesquisar nas suas notas

Clique no ícone do Gnote no seu painel do ambiente de trabalho e seleccione no menu Procurar em todas as notas. Pode pesquisar em todas as suas notas ou apenas em notas de específico ‘Livro de notas’.

3. Mantenha excelentes minutas de reuniões e envie-as!

Adquira o hábito de abrir uma nota do Gnote nova para cada reunião que frequenta e em breve terá uma base de dados de todas as reuniões que participou. Recomendo que use assunto e data da reunião no título da nota.

Quer ser um herói para os seus companheiros de reunião? Pode facilmente exportar as suas minutas das reuniões para HTML ou PDF e enviá-las por email.

Exportar para HTML

  • Abra a minuta de notas da reunião.
  • Clique no ícone ‘engrenagem’ na barra de ferramentas do topo da nota.
  • No menu seleccione ‘Exportar para HTML’.

Recomendo guardar a exportação de HTML no seu ambiente de trabalho, de seguida, vá ao seu ambiente de trabalho, clique com o botão direito do rato no documento e seleccione “Enviar para” no menu para enviá-lo por email.

Guardar a sua nota como um ficheiro PDF

  • Abra a minuta de notas da reunião.
  • Clique no ícone ‘engrenagem’ na barra de ferramentas no topo da nota.
  • Seleccione ‘Imprimir’ no menu.
  • Na caixa de diálogo Imprimir que aparece, seleccione ‘Imprimir para Ficheiro’ no topo da lista de impressoras.
  • Preencha um nome para o PDF no campo ‘Nome:’ e clique no botão à direita ‘PDF’.
  • Escolha uma pasta para guardar o PDF no diálogo ‘Guardar na Pasta:’ e clique no botão ‘Imprimir’ para criar o PDF.

Para enviar por email o PDF, recomendo que o guarde no seu ambiente de trabalho, vá no seu ambiente de trabalho, clique com o documento e seleccione ‘Enviar para’ no menu para enviá-lo por email.
Mais dicas do Gnote

Aqui estão mais algumas sugestões de maneiras de organizar a sua vida com Gnote:

 

  • Planeamento de Eventos: Todos os endereços web ou endereços de email que colar numa nota tornar-se-ão em ligações clicáveis. Se está, digamos, a tentar reservar uma sala de recepção para um evento, pode criar uma nota de lugares possíveis, reunir os seus números de telefone e endereços da web num só lugar, e assim que ligar para cada lugar, pode fazer anotações dentro da nota e ter acesso rápido e fácil ao seu sítio web para analisar à medida que fala.
  • Listas de Compras: Durante a semana, à medida que percebe que vai ficar sem itens ou que precisa de determinado item para um receita que quer experimentar, adicione-os a uma nota ‘lista de compras’. Quando estiver pronto para ir ao supermercado, basta imprimir a lista e trazê-la consigo.
  • Recomendações de Armazenamento: Os amigos estão sempre a recomendar restaurantes a experimentar, livros a ler, filmes a ver – mas quando é a altura de comer, ir à biblioteca ou escolher um filme, nunca me consigo lembrar dessas recomendações. Nunca mais! Mantenho listas de ‘A Experimentar’ numa variedade de categorias no Gnote – restaurantes, livros, filmes, destinos de viagem, receitas, álbuns de música – e durante os momentos em que eu não tenho certeza do que experimentar, puxo dessas listas.

Fonte: Fedora Project

Twitter de comandos Unix

O twitter @UnixCommandstem a proposta de reunir dicas de comandos que cabem em uma linha, bem como a de linkar páginas com conteúdo relevante para aumentar a eficiência do trabalho com a shell *nix.

Se você tem mais idéias de comandos ou de posts que possam ser úteis para os usuários de shell Unix e similares, estamos procurando por mais colaboradores. Para contribuir basta twittar para nós um comando. Nós iremos retwittar! Agradecemos antecipadamente aos colaboradores.

[referência: twitter.com]

[referência: facebook.com]

[fonte: br-linux.org]

Instalação do Arch Linux Sem Dor

De acordo com seu Guia de Instalação Oficial, o Arch Linux é uma Distribuição GNU/Linux otimizada e desenvolvida para arquiteturas i686 e x86_64 de forma independente. Para quem não sabe, a ideia inicial para a criação do Arch Linux veio da distribuição Linux chamada CRUX.

O CRUX é uma distribuição GNU/Linux bastante leve, otimizada para arquiteturas i686 e voltada para usuários mais experientes no mundo Linux. O foco principal desta distribuição é “keep it simple”, que reflete em um sistema de pacotes simples baseado em arquivos tar.gz, enquanto seu objetivo secundário é a utilização de novos recursos do Linux, ferramentas inovadoras e bibliotecas. O CRUX utiliza apenas pacotes estáveis na sua instalação, podendo requerer a compilação de alguns aplicativos.

O desenvolvimento do Arch é focado no equilíbrio entre simplicidade, elegância, retidão de código e programas “bleeding edge” (extremamente recentes). Sua leveza e simplicidade o torna fácil de estender e/ou moldar para qualquer tipo de sistema que você esteja construindo.

O Arch Linux é considerado por muitos como um Linux difícil de usar e, principalmente, de instalar. Mas vou provar neste post que isso é uma inverdade, e uma injustiça com essa poderosa distribuição Linux. Por isso, deixe seu medo de lado e saiba que qualquer usuário Linux, independente de seu conhecimento sobre o sistema, pode usar essa poderosa distribuição no seu dia-à-dia, seja no trabalho, em casa, ou mesmo em seus estudos (escola, faculdade).

Fonte: Mind Bending

Google libera Voice e Video Chat Technology como Open Source

Entre as grandes empresas de tecnologia, a Google tem aberto o código de muitos de seus próprios projetos a uma taxa crescente, e o mais recente é o opensource WebRTC, uma tecnologia aberta de voz e video pela internet. O código e a API estão disponíveis aqui. WebRTC é um projeto aberto que permite que os navegadores utilizem RTC (Real-Time Communications) através de simples APIs Javascript. Segundo o Google: “Esta primeira versão do WebRTC visa principalmente a comunidade de desenvolvedores de navegadores. Permite aos fabricantes de navegadores integrar os componentes necessários para uma comunicação rica em seus navegadores web..”

Fonte: Linux.com

JWS – Just Wanna Say

Acho que todo mundo trabalha ou já trabalhou com aquele colega que passa o dia inteiro ouvindo música pesada num fone de ouvido que o isola completamente do mundo exterior. Diversas técnicas já foram criadas para chamar a atenção desses colegas, como por exemplo tentar falar muito alto, gesticular freneticamente ou tentar atingi-los com objetos diversos. Entre nós há alguns colegas assim, e também há o colega criativo que gosta de inventar maneiras inusitadas de resolver problemas. E foi nesse contexto que surgiu o jws, um programinha que lê coisas usando o serviço do Google Translate.

Inicialmente utilizado para sacanear nosso colega do fone de ouvido, o jws foi evoluindo até se tornar indispensável, com mil-e-uma utilidades e aplicações. Se você tem acesso ao Google Translate, um interpretador Python e por algum motivo precisa que um programa leia coisas, então o jws é ideal para você.

É sabido que o jws funciona bem em nossos sistemas Linux, mas ele deverá rodar tranquilamente em Windows ou Mac. E se por acaso ele não achar um jeito de tocar o áudio em seu sistema, é possível adicionar novos métodos de saída com bastante facilidade.

O jws é simples e fácil de usar. Experimente, por exemplo, o seguinte:

$ jws Olá, mundo.

Mas também há opções mais avançadas, que permitem escolher o idioma da entrada
e o backend de saída. Para ler um texto em inglês, com o mplayer, por exemplo,
podemos usar o seguinte comando:

$ jws --language=en --backend=external --backend-options=mplayer "Hello world! I'm a fancy little lovely text-to-speech program."

O código está disponível num repositório no bitbucket, mas você pode baixar um pacote diretamente aqui.

Fonte: opensourcecoders

Juntando arquivos pdf

Bom, se vocês, como eu, já quiseram juntar vários pdfs em um único arquivo, seja pra facilitar ou mesmo organizar, hoje vou mostrar a solução que adotei.

Primeiramente, lembramos que estamos trabalhando em uma estação linux com Ubuntu, portanto, se a sua praia é M$ (Microsoft Windows) isso não vai ser de grande utilidade.

Instalação dos pacotes:

sudo apt-get -y install pdftk

Após instalado, basta mudar para o diretório que contém os arquivos a serem unidos e unir os arquivos:

# muda o diretorio
cd /diretorio_com_as_partes_pdf

# une os arquivos
pdftk arquivo1.pdf arquivo2.pdf cat output arquivo.pdf

As 10 principais diferenças entre o Windows e o Linux

É bastante comum encontrarmos comparações entre Linux e Windows. Algumas apontam pontos fortes e fracos de cada um, outras apenas atacam o rival. Porém, poucas são aquelas realmente tiram as dúvidas dos usuários.

Windows ou Linux?Windows ou Linux?

Este artigo do TechRepublic aponta as 10 principais diferenças entre o Windows e o Linux, sem ataques ou flames desnecessários. O Guia do PC obteve autorização da editora do TechRepublic, Jody Gilbert, para esta tradução livre.

1. Acesso completo x Sem acesso

Provavelmente, a maior diferença entre o Windows e o Linux, é que no Linux você tem acesso completo ao código fonte. Isso ocorre porque o Linux está sob a GNU Public License (GPL), e todos os usuários, de todos os tipos, podem acessar (e alterar) o código do kernel do sistema. Você quer fazer o mesmo com o Windows? Boa sorte. A menos que você faça parte de um seleto grupo de pessoas, você nunca irá botar os olhos no código-fonte do sistema operacional da Microsoft.

2. Liberdade de licença x Restrições de licença

GNU, licença do kernel LinuxGNU, licença do kernel Linux

Com um sistema Linux, licenciado sob a GPL, você é livre para modificar, lançar novamente e até vender os aplicativos que você usa (desde que mantenha o código fonte disponível). Além disso, com a GPL, você pode baixar uma simples cópia de uma distribuição Linux e instalar em quantas máquinas você queira. Com a licença Microsoft, você não pode fazer nenhum dos dois e é obrigado a usar apenas o número de licenças compradas. Se comprou 10 licenças do Windows para sua empresa, por exemplo, só pode instalar o Windows legalmente em 10 máquinas. Se instalar em mais de 10 máquinas, estará descumprindo o contrato aceito no momento da instalação do sistema operacional.

3. Suporte online comunitário x Suporte via help-desk pago

AjudaIsso pode até ser um empecilho para que empresas usem o pinguim, mas, com o Linux, você tem suporte de um grande número de fóruns e sites de ajuda (como o Guia do PC Respostas), busca online e uma gama de sites dedicados sobre o assunto. E, claro, é possível comprar contratos de suporte com algumas grandes companhias de Linux, como a Novell e a Red Hat.

No entanto, se você quer suporte gratuito no Linux, não pode ter pressa. Isso porque, quando você reporta uma dúvida em um fórum de discussão, por exemplo, é possível que espere 10 minutos para que seja respondido, como também pode demorar horas ou dias, ou até mesmo nunca ser respondido. Mas, geralmente, os principais problemas no Linux são documentados e, as chances de você conseguir uma resposta rápida é grande.

Do outro lado da moeda está o Windows. Sim, você tem o mesmo suporte de usuários Windows em fóruns que abordam o sistema, e pode contatar o suporte da Microsoft também. De muitas pessoas que contrataram o suporte pago do Linux, ou o suporte pago da Microsoft, não dá pra dizer qual fica mais satisfeita.

4. Suporte completo de hardware x Suporte parcial

HardwareUm problema que aos poucos está sendo sanado, é o suporte a hardware. Anos atrás, se você pretendia instalar Linux, você teria que escolher a dedo todo o equipamento do seu computador, ou não teria uma instalação 100% funcional. Hoje esta teoria caiu por terra. Você pode pegar tanto um PC ou laptop (ou até mesmo um Mac) e a maioria das distribuições instaladas terão muitas chances de funcionar 100%. Claro, ainda existem algumas exceções, mas elas são cada vez mais raras.

Com o Windows, você sabe que cada parte do hardware irá funcionar no seu sistema. Claro, há uns e outros que, eventualmente, demandarão mais tempo na caça a drivers que você não possua o CD de instalação. Você então pode descansar tranquilo sabendo que aquela placa de vídeo de última geração provavelmente vai funcionar no máximo de sua capacidade.

5. Linha de comando x Sem linha de comando

Prompt de comandoNão importa onde a evolução do Linux chegue, ou quão fantástico o ambiente desktop possa se tornar, a linha de comando será sempre uma ferramenta imprescindível para propósitos administrativos. É difícil imaginar uma máquina com Linux sem a linha de comando. Entretanto, para o usuário final, já é algo bastante próximo da realidade. Você pode usar o Linux por anos sem jamais tocar na linha de comando, assim como você faz no Windows. E embora você possa utilizar a linha de comando no Windows, ela não será tão poderosa quanto é no Linux. A Microsoft tende a esconder o prompt de comando do usuário. A menos que você acesse o “executar” e entre com “cmd”, o usuário provavelmente nem saberá que a linha de comando existe no Windows. E mesmo que ele consiga acessá-la, não terá utilidade nenhuma, já que praticamente todas as configurações do Windows são feitas pelo ambiente gráfico.

6. Instalação centralizada de aplicativos x Instalação descentralizada

SoftwareCom qualquer distribuição Linux atual, você tem um local onde é possível procurar, adicionar ou remover softwares. São os gerenciadores de pacotes, como o Synaptic. Com ele, você pode abrir uma única ferramenta, procurar por uma aplicação (ou um grupo de aplicações) e instalar sem fazer qualquer busca na internet. Mesmo assim, é importante lembrar que softwares sem pacotes pré-compilados existem, e complicam muito a vida do usuário iniciante.

O Windows não tem nada parecido com isso. No Windows, você precisa saber onde encontrar o software que você pretende instalar, baixar o software (ou colocar o CD no drive), e executar setup.exe ou install.exe. Por muitos anos pensamos que instalar aplicativos no Windows era mais fácil que no Linux, e por muitos anos estavamos certos. Não agora. Instalar aplicativos no Linux é simples, indolor e centralizado – na maioria das vezes.

7. Flexibilidade x Rigidez

É comum compararmos Linux e Windows a outros hábitos do cotidiano. Carros e motos, casas e apartamentos… mas vamos tentar nos ater ao desktop em si. A não ser que você pretenda pagar para instalar um aplicativo de terceiros, para alterar a aparência, por exemplo, no Windows você terá que se contentar com o que a Microsoft decidiu que é bom pra você (ou modificar arquivos do sistema, o que, pelo menos em teoria, é proibido pela licença). No Linux, você pode confortavelmente fazer seu desktop ter o “look and feel” que é a sua cara. Você pode ter exatamente o que você quer. Desde um ambiente gráfico simples, como o Fluxbox, até uma experiência 3D completa com o Compiz.

8. Fanboys x Corporativismo

Quisemos adicionar esse tópico pois mesmo o Linux tendo atingido um nível superior ao de projeto escolar, os usuários tendem a ser fanáticos que apelam para os mais diversos tipos de medidas para fazer você escolher o Linux e não o Windows. Muitos dos ditos fanboys ainda tentam recrutar novos para o bando, e isso é realmente muito ruim. Muitos acham que isso não é profissional. Mas por que algo que é digno de um trabalho de grandes empresas precisa de “animadores de torcida”? O programa não deveria fazer sucesso sozinho? O problema é que com a natureza livre do Linux ele tende a ter uma diferença de marketing em relação ao milionário orçamento da Microsoft. Por isso existe a necessidade de se ter mihares de fãs ao redor do mundo para espalhar o sistema. E o boca-boca é o melhor amigo do Linux.

Entrada frontal do campus da Microsoft em Redmond, nos Estados Unidos.Entrada frontal do campus da Microsoft em Redmond, nos Estados Unidos.

Muita gente imagina que a imagem do Linux como sistema operacional possa ser prejudicada pelos fanboys do sistema. Mas preferimos discordar. Outra companhia, graças ao fenômeno de seu simples tocador de música e telefone, sofreu do mesmo problema, e até agora a imagem dela não foi prejudicada por isto. O Windows não tem estes mesmos fãs.

9. Montagem automática de mídia removível x Montagem não-automática

Está fresco na memória os velhos tempos que tínhamos de montar o disquete para usá-lo e desmontar para removê-lo. Pois bem, isso está prestes a chegar ao fim – mas não completamente. Uma questão freqüente de novos usuários Linux é o modo como a mídia removível é usada. A idéia de ter que “montar” manualmente uma unidade de CD para acessar seu conteúdo é totalmente estranha para novos usuários. Há uma razão para isso ser assim. O Linux sempre foi uma plataforma multiusuário, por isso, pensava-se que forçar um usuário a montar uma mídia para usá-la ajudaria salvar os arquivos desse usuário de serem substituídos por outra pessoa. Pense nisso: Em um sistema multiusuário, se todos tivessem acesso instantâneo a um disco que foi inserido, o que impediria de excluir ou sobrescrever um arquivo que tinha acabado de ser adicionado à mídia? Agora as coisas têm evoluído ao ponto em que no Linux, subsistemas são criados e configurados de forma que você pode utilizar um dispositivo removível da mesma forma que utilizaria no Windows. Mas essa não é a regra. Sempre tem quem goste de editar o arquivo /etc/fstab, não é mesmo?

10. Run levels multi-camadas x Run level único

DesktopO Linux possui habilidade de funcionar em diferentes run levels. Com isso, dá para usar o Linux pela linha de comando (run level 3) ou via interface gráfica (run level 5). Assim, se algo ocorrer com o servidor gráfico X.org, você pode logar como superusuário (root) pela linha de comando e assim resolver o problema.

Com o Windows você terá sorte de usar a linha de comando em modo seguro – e então você pode (ou não) ter as ferramentas necessárias para resolver o problema. No Linux, mesmo no run level 3, você pode obter e instalar uma ferramenta para ajudá-lo. Ter diferentes run levels também é positivo de outras maneiras. Digamos que a maquina em questão seja um servidor Web ou de e-mail. Você quer disponibilizar a ele toda a memória instalada, portanto não poderá iniciar a maquina no run level 5. Entretanto, em certos momentos você talvez precise da interface gráfica para administrar o sistema (embora isso também seja possível por linha de comando). Graças ao comando startx a partir da linha de comando no run level 3, você terá acesso a interface gráfica também. No Windows você ficará preso ao run level gráfico, exceto quando enfrentar um problema realmente sério.

Fonte: Guia do PC.