Archive for February, 2009

Gnu/Linux e suas dificuldades na usabilidade (diversidade que pode matar)

Friday, February 27th, 2009

Gnu/Linux e suas dificuldades na usabilidade (diversidade que pode matar)

Gnu/Linux sem dúvidas é a prática mais comum no mundo do Software Livre, em outras palavras, é o meio mais fácil e mais comum do mundo Open Source estar declarado em nosso dia-a-dia. Temos ferramentas de uso diário, que são open source e não percebemos, mas quando nos deparamos com o Gnu/Linux nós podemos afirmar – este realmente é free software (ainda que não tenhamos um conceito muito forte do que realmente é software livre, que muitos infelizmente interpretam como software gratuito). Isto, sem sombra de variação é muito fabuloso, pois este excelente sistema que já mostrou do que é capaz, e o melhor, deixou claro que tem seu código aberto para customizações e forks, estando disponível para qualquer pessoa, aonde quer que esteja.
Ao longo de 12 anos de convívio com o Gnu/Linux (tendo somente 5 anos como profissional neste ramo, prestando serviços, e outros 7 “ouvindo falar bem”) pude perceber algumas “metamorfoses” que não vieram e fixaram um conceito amigável de usabilidade.
Vou detalhar isto de maneira abrangente para que fique claro o que realmente desejo expor, a dificuldade na curva de aprendizado, devido a variações muito pesadas nas distribuições Gnu/Linux.
Em 1997 possuía um computador Pentium 133 mhz mmx 100% off-board e tenho um irmão que na época estava fazendo cursos da Conectiva (uma distribuição Gnu/Linux que tinha um corpo técnico que prestava consultoria e cursos), tendo assim um impulso forte para instalação desta distribuição, o que me fez “saber que existia um sistema operacional diferente do Windows 95”, sem contar que no ano seguinte o Macintosh havia se tornado “mais uma daquelas descobertas milenares”. Naquela “descoberta” ouvi falar que ele era Free Software, mas confesso que não fez diferença para mim.
Os anos se passaram, para ser mais preciso 7 anos, e depois de tantas tentativas de me familiarizar com “aquela tela preta, parecia de mais com o MS-DOS”, consegui instalar uma distribuição chamada Slackware. Levei a sério, e fui tomando gosto.
Na época o melhor guia, ou documentação brasileira disponível (ainda está disponível) é o perfeito e completo GuiaFoca, um manual do Gnu/Linux, baseado no Debian, mas operando de maneira simples e direta em outras distribuições.
Passei um ano estudando sem cessar este sistema operacional maravilhoso, o que me fez implementar algumas soluções baseadas em Software Livre no SENAC-PB, empresa que trabalhei durante 3 anos. Adquiri um conhecimento sólido nesta plataforma, mas com o passar do tempo necessitei partir para outras como Red Hat Enterprise, por exemplo, sem contar as distribuições desktop que estavam bombando nesta fase. Com a saída da antiga empresa para outra que prestava consultoria não obtive dificuldades em implementações para clientes, principalmente pelo fato do Slackware ser muito flexível e “bastante Unix”, não senti nada difícil nos primeiros meses.
Nesta etapa eu entendi quais os problemas que as distribuições Gnu/Linux sentiam, isto aos olhos do usuário final, por que o nível de curva de aprendizado torna-se alto quando entramos em uma distribuição comercial. Para que se tenha uma idéia, o CentOS (remasterização do Red Hat Enterprise, respeitando direitos autorais e imagens da instituição), caso seja instalado como servidor, com poucos pacotes default você não terá a ferramenta ifconfig disponível, mas espere, ifconfig é um utilitário disponível em todas as distribuições, isto é padrão, e nem todas usam o system-config. Quantas usam dpkg, apt ou aptitude? Quantas tem o RPM como gestor de pacotes? O Yum? O Yast, Yast2?
Sabemos que são particularidades em cada distribuição, e que tais particularidades visam a automatização de determinadas tarefas que comumente estão vinculadas com o sistema operacional que as implementam.
Neste momento entram as divergências em geral, pois entendemos que comandos básicos sempre serão respeitados, e que seus manuais são preservados de uma distribuição para outra, mas que nem sempre estão no mesmo lugar.
Localidades na árvore de estrutura de dados, nomes de arquivos de configuração, modalidade de configuração de rede a nível de arquivo e forma com que containers web trabalham é muito diversificada em cada distribuição. Isto dificulta no momento de colocar na cabeça de algum xiita de códigos fonte proprietários que o Gnu/Linux é bom!
Observem o estouro e magnitude de distribuições como Ubuntu e Fedora, a nível desktop, vejam o quão abrangentes e aceitáveis elas são, e o mais importante, o quão bem documentadas elas são, mas em uma suave visão diferenciada, tente usar os conceitos aprendidos em cada uma delas em um Gentoo, CentOs ou OpenSuse, talvez você não queira mais usar Gnu/Linux, ou melhor, fará distinção por conhecer todas as ferramentas/utilitários de uma e de outra não.
Deixo claro que o Gnu/Linux é a escolha certa para quem não quer dores de cabeça futuras, quer estabilidade e o melhor, segurança de suas informações garantidas por sistemas que têm geeks de milhares de lugares dedicando-se na provisão de códigos de altíssimo nível e de escalabilidade monstruosa.
Minhas recomendações para marinheiros de primeira viagem:

• Use Ubuntu/Fedora para desktop, principalmente o Ubuntu que permite upgrades de versão do Sistema Operacional de maneira mais segura,
• Use CentOs/Ubuntu/Slackware ou Debian em seus servidores, principalmente Ubuntu/Debian que permitem upgrades de versões sem maiores dores de cabeça,
• Use Ubuntu/Fedora em escritórios, principalmente por sua quantidade enorme de drivers (módulos) para impressoras e etc.

Existem outras distribuições Gnu/Linux que têm tido muito prestígio, como por exemplo cito o Mandrake, empresa que assumiu a Conectiva e que tem se destacado pela ampla gama de produtos e suporte de qualidade, sendo hoje conhecida como Mandriva. OpenSuse, outra distribuição muito respeitada, versão Grátis e de código fonte aberto, 100% baseada no Suse Enterprise, mantido pela comunidade open source do mundo inteiro, esta é bastante amigável também.
Lembre-se que uma distribuição deve primar por conceitos de segurança, estabilidade e alto desempenho, principalmente, deverá ser bem documentada, e trivialmente falando, documentada maciçamente sobre suas ferramentas em particular.
Gestores de pacotes também são algo que tornam a problemática maior, por que os pacotes .DEB e .RPM imperam, seguidos de seus gestores deb/apt/aptitude e RPM/up2date/yum. Sabemos que é simples compilar algo (em alguns casos, devido requerimento de paths para libs a situação poderá complicar-se) e ajustar paths de destino, mas nem tudo isto brilha aos olhos dos mantenedores de software, tanto pelo nível de dificuldade avaliado para compilações e geração de source pré-compilado na plataforma como pela simplicidade de gestão (upgrade, downgrade e patching em geral).
Quanto ao GuiaFoca, este ainda é a melhor alternativa em documentação Gnu/Linux (falando de maneira geral), mas não atenha-se ao mesmo pois as distribuições estão mudando e agora parecem que estão tomando “independência” ou pensam em seguir assim, longe de padrões LSB.
Aprender sempre é bom, mas não atenha-se a distribuições muito individualistas, isto poderá complicar sua vida em um futuro muito próximo, principalmente no que tange ciclo de vida da versão do sistema ou até descontinuidade do projeto adotado por você ou por sua empresa (vide distribuições como Kurumin que tinham excelente iniciativa, mas que estão agonizado neste momento, Conectiva – adquirida pela Mandrake e outras).

As particularidades excessivas das distribuições estão levando as distribuições que adotam esta modalidade de negócio/serviço para uma ilha de destaque e talvez solidão.

Muito cuidado com sua escolha!

Abraços a todos e bom trabalho/estudo.

Ajustando o Timezone do Ubuntu – Como corrigir o timezone do ubuntu

Friday, February 27th, 2009

Se você está com o timezone ferrado em seu Ubuntu não deixe de acessar o console e corrigir isto assim:

sudo tzselect

Escolha Sim, Brasil, Sua área (a minha tinha de ser São Paulo), logo após, use o comando:

ntpdate ntp.ubuntu.com

e cheque a data com:

date

Isto deverá imprimir algo como:

Sex Fev 27 00:22:47 BRT 2009

Abraçoooooos!

“Photoshop” na web? com Flex ou Flash? Sei lá, mas é shooooooooow!

Wednesday, February 25th, 2009

Gente, hoje cedo um amigo meu mostrou-me um link de uma app fabulosa, funciona como se fosse um Photoshop da vida.
Para conferir acessem:

http://www.sumo.fi/products/sumopaint/index.php?id=0

O dia do churrasco e da churrasqueira…

Tuesday, February 24th, 2009

Falo com sinceridade, que este evento teve 3 motivos de comemoração:

1 – Deus, pelo prover do banquete e por fazer algo em mim, comemorei devido o fato dEle ter me dado forças e me levantado da cama (literalmente) após os meses de agosto e setembro de 2008, tempo em que estive a deriva na vida, no esquecimento, mas com um pouco de esperança, e por ter restituído minhas finanças e casamento em tão pouco tempo.

2 – A projeção desta churrasqueira, que por sinal foi muito engenhosa, afirmo, muito engenhosa e teve 3 intervenções, sendo uma quase divina… rsrsrs, eu explico!

3 – Pela reunião de verdadeiros amigos…

O ponto 2 eu quero confirmar, preciso confirmar o que aconteceu:

Intervenção 1 -> Tenho um grande amigo que se chama Cristian, é o melhor profissional que trabalha com próteses dentárias em Minas Gerais.  Esse carinha saiu em busca de materiais como ferro, roda de carro, chapinha, e foi além, cortou os pedaços de aço adiantando os serviços de instalação e solda das pernas da churrasqueira e reservou a chapinha para o fundo da churrasqueira.
Ralou muito, bateu o fundo da churrasqueira e soou igual um bicho.

Intervenção 2 ->Tenho outro grande amigo que também faz parte das alegrias mineiras na minha vida, Charles (vulgo pitch, pergunte a ele por que ele é o pitch). Esse cara é o melhor designer mineiro que conheço, é muito inteligente, e fez uma engenharia extra nas pernas da churrasqueira. Na casa dele há diversas ferramentas de ferreiro, o que facilitou o serviço.

Intervenção 3 -> Posso falar do sr Gabriel, nome de anjo, cantor veterano, homem destemido e O MAIOR FERREIRO DE ÚLTIMA HORA que conheço. Ele é o caraaaaaaaaaaaaaaaaaaaaaaaaa, sabe muito do que faz e não fica para trás de nenhum marmanjo de 20 anos devido suas habilidades “bombadas” com ferramentas. Ele simplesmente soldou tudo, cortou tudo (refinado) e ainda deu estimativa de vida a churrasqueira (rsrsrs), 1 ano.

Obrigado a todos, em especial Deus, permitindo tanta coisa legal em tão pouco tempo.

Fotos? Tenho, seguem:

evento_da_carne

+ uma

anviversariante

Antes que você pergunte, isto foi anteontem e o nome da Churrasqueira, eu respondo, Big Fire!

Obrigado a todos que têm preservado minha simplicidade e paz.

Abraços a todos e em breve tem mais…

Parser Error Message: The file ‘/MasterPage.master’ does not exist.

Tuesday, February 24th, 2009

Parser Error Message: The file ‘/MasterPage.master’ does not exist.

Se você recebeu esta mensagem quando estava programando em Asp.Net, não se preocupe, talvez você possa aplicar a solição abaixo e “dormir” de cabeça tranqüila:

1 -> Verifique se seu script está assim:

Line 1:  <%@ page title="" language="C#" masterpagefile="~/MasterPage.master"...

Nada de pânico, substitua masterpagefile=”~/MasterPage.master” por masterpagefile=”./MasterPage.master”.



Um guia rápido do Debian Lenny

Sunday, February 22nd, 2009

Embora o Debian “puro” seja mais usado em servidores, ele também pode perfeitamente ser usado em desktops. Se você se sente confortável em usar o apt-get/aptitude e gosta da estrutura geral do sistema, mas está em busca de um sistema mais leve e personalizável, o Debian pode ser a melhor opção.

O Debian é a base para o Ubuntu e inúmeras outras distribuições. O próprio repositório “universe” do Ubuntu nada mais é do que um snapshot do repositório instável do Debian, com alguns patches e personalizações adicionais. Se somarmos o Ubuntu, Kubuntu e todos os descendentes diretos e indiretos, as distribuições da família Debian são usadas em mais de 70% dos desktops Linux.

O maior problema em utilizar o Debian diretamente, em vez de usar o Ubuntu ou outro derivado é que o sistema é bastante espartano, carecendo de muitas ferramentas de configuração automática. Em compensação, ele é bem mais leve que o Ubuntu, pois muitos pacotes são compilados com menos componentes e opções mais otimizadas, o que resulta em um desempenho geral sensivelmente superior, sobretudo nas máquinas mais modestas. Ao instalar e remover pacotes, você vai notar também que o sistema é menos “engessado” em relação às dependências de pacotes, permitindo que você tenha um desktop funcional com um volume muito menor de pacotes.

O Debian Lenny é composto por nada menos do que 5 DVDs (ou 31 CDs!), que totalizam 23.2 GB de download. Entretanto, como pode imaginar, estes DVDs todos incluem uma cópia completa dos repositórios oficiais, que é necessária apenas para quem realmente quer fazer uma instalação completa do sistema e não quer correr de precisar baixar pacotes adicionais.

Para situações normais, você pode escolher entre baixar apenas o primeiro CD ou o primeiro DVD. Em ambos os casos, a primeira mídia inclui quase todos os pacotes necessários para fazer uma instalação básica do sistema e o instalador se encarrega de baixar outros pacotes que sejam usados (como os pacotes de tradução para o Português do Brasil) durante a própria instalação, usando qualquer conexão disponível.

Se você tem uma conexão de banda larga, outra opção é baixar o NetInstall, uma imagem de 180 MB que inclui apenas os pacotes básicos do sistema e baixa o restante dos pacotes selecionados durante a instalação.

Faça o download no: http://ftp.br.debian.org/debian-cd/

ou no: http://www.debian.org/CD/http-ftp/

Ao dar boot pelo CD ou DVD, a primeira escolha é entre utilizar o tradicional instalador em modo texto (que é muito similar ao utilizado pelo alternate CD do Ubuntu) ou o novo instalador gráfico, que é uma novidade do Lenny. Na verdade, o instalador gráfico nada mais é do que uma interface em GTK para o instalador em modo texto, o que faz com que as opões em ambos os casos sejam basicamente as mesmas.

Na época em que surgiu a idéia de criar o instalador gráfico, muitos desenvolvedores defenderam o uso do Anaconda (o instalador usado no Fedora), mas a idéia acabou sendo abandonada em favor do instalador próprio devido a uma questão muito simples: em vez de se limitar aos PCs, o Debian suporta várias plataformas, uma característica da qual os desenvolvedores se orgulham bastante. Para usar o Anaconda, precisariam portá-lo para cada uma das plataformas suportadas, o que levou à conclusão de que desenvolver uma interface gráfica para o instalador tradicional seria a melhor saída.

Como de praxe, você pode também especificar opções de boot para solução de problemas, como em “installgui acpi=off” ou “installgui noapic. Para isso, pressione a tecla TAB para ter acesso à linha com as opções de boot.

Está disponível também uma instalação em modo expert, que oferece um controle muito maior sobre a instalação (você pode escolher se quer utilizar o Debian Stable, Testing ou Sid, por exemplo), mas em troca a torna muito mais complicada e demorada. Para simplificar as coisas, vamos usar a opção de instalação tradicional em modo gráfico (Graphical Install).

O Lenny é uma das poucas distribuições lançadas em 2009 que ainda utiliza o KDE 3.5. Esse é, na verdade, um ponto positivo, pois oferece uma opção para quem não gostou do KDE 4 e prefere a estabilidade e a leveza da versão antiga. A próxima versão estável do Debian não deve ser lançada antes do final de 2010 e, mesmo após isso, o Lenny ainda continuará sendo suportado por um bom tempo, permitindo que você continue usando o KDE 3.5 até se sentir confortável em migrar.

Por default, o Debian instala o Gnome como desktop e não existe opção dentro do instalador para alterar isso. Para usar o KDE, é necessário usar a opção “desktop=kde”. Similarmente, você pode instalar com o XFCE usando a “desktop=xfce”. Para usá-las

Ambas as opções devem ser especificadas como um parâmetro na tela de boot. Para isso, selecione a opção “Graphical Install” no menu, pressione a tecla TAB para ter acesso à linha de boot e adicione a opção no final da lista:

Como de praxe, a primeira pergunta é sobre a linguagem; basta digitar “p” e selecionar o Português do Brasil. A pergunta seguinte é sobre a localização (que define a moeda, o padrão de medidas e outras opções regionais), seguida pela confirmação do layout de teclado.

A menos que você esteja com a coleção completa das mídias de instalação em mãos, é importante possuir uma conexão de rede disponível durante a instalação, para que o instalador possa baixar os pacotes necessários. O ideal é sempre usar uma conexão de rede local compartilhada, já que o instalador não oferece suporte a modems 3G e outras modalidades mais exóticas de conexão, se limitando a suportar placas cabeadas e placas wireless que possuem drivers open-source.

Por default, ele tenta configurar a rede via DHCP e, caso nenhum servidor esteja disponível, oferece a opção de configurar os endereços manualmente. É possível também desativar a configuração via DHCP especificando a opção de boot “netcfg/disable_dhcp=true” na tela de boot.

Depois de ajustado o fuso-horário, chegamos ao particionamento, que é composto de opções similares às usadas no instalador do Ubuntu Alternate CD, com as tradicionais opções de instalação assistida ou particionamento manual, que é sempre a opção recomendada para ter um melhor controle sobre o tamanho das partições e evitar acidentes.

Dentro do particionador, basta dar um duplo clique sobre uma partição ou um trecho de espaço livre para abrir o menu de opções, que permite criar, remover ou indicar o diretório onde a partição será montada. Como de praxe, você precisa de pelo menos uma partição raiz (/) e uma partição swap, sendo recomendada também uma partição separada para o diretório /home.

Como de praxe, você pode compartilhar a partição home entre várias distribuições, mas é recomendável utilizar usuários diferentes para cada um para evitar misturar as configurações. É importante prestar atenção ao configurar a partição, usando sempre a opção “não, manter os dados existentes” para preservar os arquivos existentes:

Ao terminar, basta usar o “Finalizar o particionamento e escrever as mudanças no disco”, ou voltar atrás nas modificações escolhendo o “Desfazer as mudanças nas partições”:

Depois de aplicadas as mudanças nos discos, o instalador prossegue para a instalação do sistema base (o mesmo incluído no CD do NetInstall), que inclui apenas o Kernel e os utilitários básicos do sistema, incluindo o apt.

Em seguida, o instalador solicita a senha de root e cria uma conta de usuário para o uso regular do sistema. Diferente do Ubuntu, o Debian não utiliza o sudo por padrão, por isso a administração do sistema é feita da maneira tradicional, usando o “su -” ou “sux” para se logar como root.

Chegamos então à etapa principal da instalação, que é instalação dos pacotes adicionais, que começa com a configuração do gerenciador de pacotes, onde as mídias que serão usadas durante a instalação precisam ser “catalogadas”, para que o instalador gere uma lista dos pacotes disponíveis em cada uma. Como deve estar imaginando, se você gravou os 5 DVDs, ou os 21 CDs, vai precisar catalogar cada um deles antes de prosseguir com a instalação. Se, por outro lado, você seguiu o meu conselho e está usando apenas a primeira mídia, basta responder “não” e continuar. :)

A etapa seguinte é a escolha do mirror de onde serão baixados os pacotes adicionais que forem necessários durante a instalação. Responda “sim” no “Utilizar um espelho de rede” e em seguida escolha qual será usado.

O mirror do Brasil (br.debian.org) é hospedado na Universidade Federal do Paraná, que tem uma boa conectividade com todos os principais backbones usados pelos provedores do Brasil. Na grande maioria dos casos ele é o mais rápido, mas sempre existem casos isolados em que o mirror dos Estados Unidos pode ser mais rápido, de acordo com o estado onde mora e o provedor que utiliza. Você pode fazer um teste rápido a partir de outro PC da rede, acessando o http://packages.debian.org/ e tentando baixar um pacote qualquer a partir dos dois para comparar a velocidade.

O instalador baixa então as listas de pacotes do mirror (similar a um “apt-get update”) e em seguida você tem acesso à tela de seleção de pacotes. O ideal é sempre manter selecionado apenas o “Ambiente Desktop” e o “Sistema Básico” (junto com o “Laptop”, caso esteja instalando em um notebook). As demais categorias são destinadas à instalação de servidores que, de qualquer forma, podem ser instalados posteriormente, usando o aptitude ou o apt-get.

Em seguida, temos a “etapa do cafezinho”, onde o instalador vai obter todos os pacotes necessários, parte deles a partir da mídia de instalação e outros via download, para só então iniciar a instalação propriamente dita. Os download dos pacotes para uma instalação padrão usando apenas o primeiro CD demora cerca de uma hora em uma conexão de 1 megabit. Instalando a partir do primeiro DVD (ou usando uma conexão mais rápida), o download demora bem menos.

Finalizando, temos a configuração do grub (o instalador é capaz de detectar outros sistemas instalados automaticamente, assim como no Ubuntu) e a configuração do relógio (com a velha opção de usar ou não o UTC).

Além do instalador tradicional, outra opção é baixar um dos CDs do “Debian-Live”, uma série de live-CDs, contendo instalações com o KDE, Gnome, XFCE ou LXDE, que podem ser baixados no:

http://ftp.br.debian.org/debian-cd/5.0.0-live/i386/iso-cd/

Configurando: Depois de instalar o Debian, o primeiro passo é ajustar os repositórios, para que você possa instalar todos os demais pacotes necessários para obter um desktop funcional. O Debian tem por objetivo oferecer apenas pacotes distribuídos sob licenças livres, por isso pacotes com componentes proprietários são segregados, dando origem ao repositório “non-free”. Similarmente ao que temos no caso do Medibuntu, temos também o debian-multimedia, um repositório adicional, dedicado a distribuir pacotes como o libdvdcss2 e o w32codecs.

Por default, o arquivo “/etc/apt/sources.list” do Debian Lenny inclui apenas três repositórios: main (o repositório principal), updates (atualizações de segurança) e volatile (um novo repositório, destinado a oferecer atualizações para pacotes que mudam com frequência):

deb http://ftp.br.debian.org/debian/ lenny main
deb-src http://ftp.br.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Assim como no caso do Ubuntu, as linhas “deb-src” incluem os repositórios com código fonte, que são necessárias apenas se você pretender compilar pacotes manualmente. Você encontrará também uma linha apontando para o CD/DVD de instalação, que também pode ser removida.

Para ativar os repositórios adicionais, adicione um “contrib non-free” nos dois primeiros, complementando o “main”. Aproveite para adicionar também a linha do debian-multimídia, que conclui as modificações:

deb http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

deb http://www.debian-multimedia.org lenny main

Você pode também substituir a linha do Debian Multimídia pela “deb http://ftp.br.debian.org/debian-multimedia/ lenny main”, que orienta o apt a utilizar o mirror nacional, em vez do servidor principal.

Como de praxe, ao rodar o “apt-get update”, você receberá um erro de chave pública não disponível relacionada ao repositório do debian-multimedia, que acabou de ser adicionado.

Você pode resolver o problema instalando o pacote “debian-multimedia-keyring”, usando o apt:

# apt-get install debian-multimedia-keyring

Outra opção é adicionar a chave manualmente usando os dois comandos que vimos no capítulo do Ubuntu:

# gpg –keyserver subkeys.pgp.net –recv-keys 07DC563D1F41B907
# gpg –export –armor 07DC563D1F41B907 | apt-key add -

A partir daí, você pode completar o time de suporte a multimídia instalando o VLC e o Mplayer, juntamente com o libdvdcss2 e o w32codecs. Diferente do que temos no Ubuntu, a instalação do VLC e do Mplayer dispara a instalação de diversos codecs, que completam o time. Se você estiver usando o KDE, é interessante instalar também o Kaffeine, que é o player oficial:

# apt-get install vlc mplayer kaffeine libdvdcss2 w32codecs

Por algum motivo, o instalador do Lenny instala apenas o suporte à descompactação de arquivos gzip, sem suporte a arquivos .tar.bz2, .zip, .7z ou .rar, que precisam ser instalados manualmente:

# apt-get install bzip2 zip rar p7zip

O Lenny utiliza por padrão fontes da série DejaVu (que é uma evolução do conjunto Bitstream-Vera), combinado com as fontes Liberation e Dustin. Entretanto, os repositórios incluem diversos outros conjuntos de fontes (os pacotes que começam com “xfonts” e “ttf”, que você pode usar para reforçar o conjunto pré-instalado, como em:

# apt-get install xfonts-terminus xfonts-terminus-oblique xfonts-mona ttf-georgewilliams ttf-nafees ttf-freefont ttf-bitstream-vera

Para instalar as fontes do Windows, instale o pacote “mscorefonts-installer”, que é o sucessor do “msttcorefonts”, usando nas versões anteriores:

# apt-get install ttf-mscorefonts-installer

Ele é na verdade um pacote vazio, contendo apenas um script de instalação que se encarrega de baixar os arquivos das fontes, extrair os arquivos, copiá-los para a pasta de fontes do sistema e atualizar a configuração de fontes do sistema para que elas sejam usadas.

Por default, o Debian vem com o bash_completion desativado para o root, o que faz com que você não consiga completar os comandos usando a tecla TAB. Para resolver isso, abra o arquivo “/etc/bash.bashrc” e, próximo ao final, descomente as linhas:

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

Para que o terminal fique colorido (pastas aparecem em azul, arquivos compactados em vermelho e assim por diante, o que torna mais fácil identificar os arquivos) adicione a linha:

alias ls=”ls –color=auto”

… no final do arquivo “/etc/profile”.

Em ambos os casos, para que a alteração entre em vigor, você deve fazer logout no terminal (usando o comando “exit”, ou pressionando Ctrl+D) e logando-se novamente.

Devido a escaramuças relacionadas à licença, o Debian não inclui o Firefox, mas sim o Iceweasel, que é uma versão alternativa do navegador, mantida pela equipe do Debian, que exclui todas as artes e marcas de propriedade da fundação Mozilla. Na verdade, o Iceweasel não é nem melhor nem mais seguro que o Firefox, é apenas uma derivação originada de discussões filosóficas.

Apesar disso, nada impede que você instale o Firefox manualmente, baixando o pacote disponível no: http://www.mozilla.com/pt-BR/firefox/all.html

Para substituir o Iceweasel por ele, é necessário remover o pacote, descompactar o arquivo na pasta /opt, criar o link “/usr/bin/firefox”, apontando para o executável dentro da pasta e substituir a pasta “/opt/firefox/plugins” por um link para a pasta “/usr/lib/mozilla/plugins”, que é o diretório onde os plugins são instalados por padrão no Debian.

Você pode baixar o arquivo no seu diretório home e fazer o restante usando o root, como em:

# apt-get remove iceweasel
# mv firefox-3.0.6.tar.bz2 /opt
# cd /opt
# tar -jxvf firefox-3.0.6.tar.bz2
# ln -s /opt/firefox/firefox /usr/bin/firefox
# rm -rf /opt/firefox/plugins
# ln -sf /usr/lib/mozilla/plugins /opt/firefox/plugins

Com tudo pronto, fica faltando apenas recriar o ícone no iniciar, apontando para o “/usr/bin/firefox”, que você pode criar usando o editor de menus.

Como ao fazer a instalação manual você não poderá contar com as atualizações de segurança via “apt-get upgrade”, é importante ativar as atualizações automáticas do Firefox. Para isso, transfira a posse da pasta “/opt/firefox” para o seu usuário, como em:

# chown -R gdh /opt/firefox

Isso permitirá que o próprio Firefox modifique o conteúdo da pasta, instalando as atualizações conforme elas forem disponibilizadas (verifique se as atualizações automáticas estão ativadas no “Editar > Preferências > Avançado > Atualizações”).

Concluindo, o tema default do Firefox é um pouco feio, mas você pode baixar outros no https://addons.mozilla.org/pt-BR/firefox/browse/type:2. Uma boa opção é o Nemesis.

Se você preferir ficar com o Iceweasel (a principal vantagem em utilizá-lo é ter acesso às atualizações diretamente pelo “apt-get upgrade”), é importante modificar a identificação do navegador dentro do “about:config”.

Pesquise pela opção “general.useragent.extra.firefox”. Originalmente ela contém o valor “Iceweasel/3.0.6″, o que faz com que muitos sites não reconheçam o navegador e bloqueiem o acesso ou exibam a versão simplificada para dispositivos móveis. Para resolver o problema, mude o texto para “Firefox/3.0.6″.

Com relação aos plugins, o Lenny usa por padrão o swfdec, que é um plug-in flash open-source. Ele funciona bem para exibir animações básicas, mas possui várias limitações com relação à exibição de vídeos e execução de jogos e mini-aplicativos. Você pode substituí-lo pelo plugin da Adobe (disponível no repositório non-free) via apt:

# apt-get remove swfdec-mozilla swfdec-gnome
# apt-get install flashplayer-mozilla

Você pode também instalar o suporte a Java através dos pacotes “sun-java6-jre” (o JRE propriamente dito) e “sun-java6-plugin” (o plugin para o Firefox/Iceweasel), que também fazem parte do repositório non-free:

# apt-get install sun-java6-jre sun-java6-plugin

Estas são apenas algumas dicas rápidas para uso do Lenny em desktops. Você pode também ler mais sobre o uso em servidores no Servidores Linux, Guia Prático.

fonte: http://www.gdhpress.com.br/blog/guia-debian-lenny/

Evento: II encontro PHP-PB

Sunday, February 22nd, 2009

O que é?

O segundo encontro do grupo de desenvolvedores PHP da Paraíba tem como objetivo reunir os membros do grupo, estudantes e profissionais da área de TI para troca de conhecimentos na tecnologia PHP e relacionadas. O encontro contará com palestras e momentos de networking entre os participantes.

Se você não participou do primeiro enconto, veja como foi:

* Fotos
* Apresentações

Quando?

Dia 07 de Março de 2009, a partir das 8 da manhã na Unipê, localizada na BR-230, bairro Água Fria em João Pessoa.
Unipê

Quer patrocinar?

Faça já o download do nosso plano de patrocínio e entre em contato conosco!

Inscrições

A participação no evento é gratuita, porém é necessária a prévia inscrição e a doação de 1Kg de alimento não perecível no dia do evento.

A doação será repassada à Casa da Criança com Câncer, instituição filantrópica que dá apoio aos pacientes e familiares vindos do interior em busca de tratamento no Hospital do Câncer Napoleão Laureano.

Os membros inscritos e presentes no dia do evento concorrerão a diversos brindes como livros da editora O’Reilly, camisetas, um elePHPant de pelúcia e muito mais!

Já contamos com 378 inscritos no total, sendo 1 só nas últimas 24 horas!

Inscreva-se AQUI!

Fonte: http://www.nerdblog.info/2009/02/22/ii-encontro-php-pb/

Como fazer Upgrade do Debian Etch para o Debian Lenny – How to upgrade Debian Etch to Debian Lenny

Sunday, February 22nd, 2009

A perfeição com que o Debian e o Ubuntu operam no momento de upgrades de suas versões é impressionante (coisa que sistemas como o poderoso Rhel não recomendam), causando o mínimo de falhas possíveis/imaginárias no sistema que recebeu a atualização.

Neste artigo iremos mostrar como fazer upgrade do Debian Etch para o Debian Lenny. Vamos seguir os passos abaixo:

1 – Atualizar as listas do APT

Primeira coisa que iremos fazer é o backup das listas de repositórios, depois iremos modificar de etch para lenny os valores descritos da versão na lista de Repositórios, veja a versão antes da modificação:

deb http://ftp.us.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.us.debian.org/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free

Agora veja a versão depois modificação:

deb http://ftp.us.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.us.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free

2 – Fazendo update dos pacotes

aptitude update
depois
aptitude install apt dpkg aptitude

Se for desktop use isto como adicional
dpkg -l libfam0c102 | grep ^ii
aptitude install libfam0
por fim
aptitude full-upgrade
isto pode também ser usado via apt-get com o comando:
apt-get dist-upgrade

Depois disto reinicie seu servidor/desktop e prepare-se para rodar o Debian em sua versão mais amigável, estável e flexível possível.

Abraços a todos.

fonte original: http://www.debianadmin.com/howto-upgrade-from-debian-etch-40-to-lenny-50.html

Análise do Debian 5 (lenny)

Sunday, February 22nd, 2009

Quase dois anos após o lançamento da versão 4.0 (codinome “Etch”) — e pouco depois do lançamento de sua sétima revisão —, a equipe de desenvolvimento do projeto Debian lançou finalmente a versão 5.0 (codinome “Lenny”) de uma das distribuições GNU/Linux mais conceituadas entre os profissionais habituados a trabalhar com o sistema do pinguim. Base para uma quantidade imensa de outras distribuições — entre elas o popular Ubuntu Linux, o Xandros, que equipa todos os modelos do EeePC, da ASUS, além das brasileiras DreamLinux, Insigne (pré-instalada em mais de 1.5 milhões de PCs para todos, comercializados no Brasil) e do (finado?) Kurumin Linux, uma das distribuições mais populares no Brasil no passado — o Debian GNU/Linux chega aos 16 anos emancipado: poucas distribuições Linux atingiram esse grau de maturidade com o nível de qualidade do projeto fundado em 1993 por Ian Murdock.

Em nosso teste usamos o CD de instalação via rede (ou netinst), um único CD que permite instalar todo o sistema operacional, mas contém apenas a quantidade mínima de software para começar a instalação e obter os outros pacotes pela Internet. Como os servidores do projeto Debian estão atualmente bastante sobrecarregados, a melhor maneira de obter a imagem do CD é recorrer ao bom e velho BitTottent, cujo arquivo .torrent pode ser obtido aqui. Com uma conexão banda larga comum, a imagem do CD (que tem apenas 150 MB) pode ser baixada em alguns minutos.
Instalação

A instalação não reserva muitas dificuldades ou surpresas: basta colocar o CD no respectivo leitor de mídia e escolher uma das alternativas que aparecem na tela, sendo que as opções Install e Graphical Install fazem exatamente aquilo que se supõe: instalam o sistema em modo texto ou gráfico. É digno de nota o fato de que é a primeira vez que um instalador gráfico é parte integrante de uma versão estável da distribuição Debian GNU/Linux.

A partir daí, sendo a instalação em modo texto ou gráfico, escolhe-se o idioma de instalação, o país e a disposição do teclado, dá-se um nome à máquina que está sendo instalada, configura-se o sistema para usar um servidor de horário (NTP) e particiona-se o(s) disco(s) para onde o sistema deverá ser instalado. Aqui uma recomendação de cautela: se for necessário criar diversas partições, é importante certificar-se de que há espaço suficiente no diretório raiz (/), em /var e em /usr. Em nossos testes, foi utilizado um esquema de se colocar a partição /home, na qual residem os dados dos usuários, separada do resto do sistema. Isso gerou problemas mais tarde, pois a etapa de seleção de software, apesar de levar em consideração a quantidade de espaço disponível no restante do sistema (que havia ficado simplesmente em /) — espaço esse sugerido pelo instalador quando do particionamento —, permite que se escolha mais aplicativos do que o espaço comporta. Não há qualquer mensagem de aviso ao usuário, recomendando que ele refaça a sua seleção de software. O particionamento do(s) disco(s), diga-se de passagem, apesar de simples, reserva muito espaço para melhoras, conforme já mostrou ser possível a última versão do Ubuntu, um derivado do Debian, conforme escrevemos acima. Seria interessante que houvesse um nível maior de colaboração entre as duas comunidades, com um consequente aumento de “polinização cruzada” entre os aplicativos dos dois projetos.

Após a senha do administrador e um usuário comum serem definidos, o repositório de software ser configurado, a seleção de software especificada estar instalada e a configuração do gerenciador de boot ser finalizada, basta reiniciar o sistema para iniciar um Debian 5.0 pronto para uso.
Uso como desktop?

O sistema é equipado com um kernel 2.6.26, finalizado por Linus Torvalds em 13/07/2008 e, desta forma, sete meses antes do lançamento do Lenny e duas versões mais velho do que o kernel mais recente, a versão 2.6.28(.5). Isso pode significar algum transtorno, especialmente para usuários de placas de rede WiFi e 3G para as quais novos drivers para Linux tenham sido lançados nos últimos seis meses. Razão para o uso de uma versão do kernel tão “antiga”, quando as últimas versões tanto do Ubuntu quanto do Fedora, lançadas respectivamente no final de outubro e novembro de 2008 já usam a versão 2.6.27, é a política de qualidade do projeto Debian, que premia a estabilidade do software. Usuários do Sid, ramo de desenvolvimento do Debian cuja árvore de dependências entre aplicativos é considerada instável (daí seu nome, unstable), também estavam limitados até agora ao kernel 2.6.26.
Desktop padrão do Debian 5.0, com o Iceweasel e o BrOffice.org Writer abertos e um filme sendo reproduzido no Totem.

Do ponto de vista das versões dos aplicativos instalados, uma novidade é a instalação de um servidor de janelas isento de configuração (X-Server 7.3). Pacotes para os drivers proprietários da ATI e da NVIDIA não são instalados por padrão e não há qualquer mecanismo trivial para instalá-los, muito embora eles estejam disponíveis na seção non-free do repositório da distribuição. O usuário tem que instalá-los ativando essa seção do repositório via linha de comando com o apt-get/aptitude ou graficamente com o synaptic.

Algo muito peculiar ocorre com codecs para formatos proprietários de áudio (MP3, WMA) e vídeo (QuickTime, WMV, H264 em geral): o Totem instalado por padrão não é capaz de reproduzi-los automaticamente, requerendo a instalação de plug-ins proprietários, algo que é muito simples, pois o próprio sistema se encarrega de instalá-los automaticamente se o usuário concordar com um aviso exibido na tela. Já o plug-in do Totem para o navegador de Internet foi capaz de reproduzir em nosso teste todo o tipo de conteúdo, pois conta com suporte aos codecs proprietários por padrão.

Ponto para o projeto BrOffice.org: a instalação em português do sistema instala automaticamente a versão nacionalizada do conjunto de aplicativos para escritório, em vez do OpenOffice.org. Infelizmente, da mesma forma que ocorreu com a última versão do Ubuntu, a versão instalada no Debian 5.0 ainda é a 2.4.1. A versão 3.0.0 sequer foi disponibilizada na árvore instável do projeto. Usuários que quiserem usar as fontes TrueType básicas da Microsoft deverão também ativar a seção contrib do repositório do Debian e instalá-las por meio do pacote ttf-mscorefonts-installer (o pacote msttcorefonts, utilizado até então para essa finalidade, deve ser eliminado do sistema em uma das próximas revisões).

Irritante é o fato de que nenhum dos aplicativos básicos da Adobe — a saber, o Adobe Reader (e seu respectivo plug-in para navegadores de Internet) e a extensão Flash Player para os navegadores de Internet — estão disponíveis em qualquer das seções dos repositórios oficiais do sistema. A versão 0.6.0 do Swfdec é responsável pela reprodução de animações em Macromedia Flash (a última versão estável do Swfdec, lançada no dia 21/12/2008, era a 0.8.4) e o Evince é o visualizador de arquivos PDF. O motivo que os desenvolvedores do Debian alegam para não disponibilizar os dois aplicativos da Adobe na seção non-free do repositório da distribuição, seria um problema com a nomenclatura das versões dos programas, que levaria a uma dificuldade de sincronizar atualizações de segurança realizadas pela Adobe nos dois aplicativos e a criação de pacotes para o Debian.

Outra coisa que incomoda é ter o Epiphany como navegador de Internet padrão, mesmo com o Iceweasel — que é como o Debian batizou o Mozilla Firefox, por questões de discordância com os termos de uso da marca da Fundação Mozilla — instalado por padrão. Há que se perguntar qual a motivação por trás da decisão de oferecer dois navegadores de Internet pré-instalados no sistema, sendo que a escolha do navegador padrão tenha recaído pelo menos popular deles.

A tabela a seguir ilustra alguns dos principais aplicativos instalados por padrão no sistema, bem como suas respectivas versões:
Debian 5.0 “Lenny”: aplicativos e versões
Aplicativo

Versão

Função
Kernel 2.6.26 É o Linux propriamente dito
X.org 7.3 Gerenciador de janelas
GNOME 2.22.3 Ambiente de trabalho
BrOffice.org 2.4.1 Conjunto de aplicativos para escritório
Iceweasel (Firefox) 3.0.6-1 Navegador de Internet
Pidgin 2.4.3 Aplicativo para troca instantânea de mensagens
Evolution 2.22.3.1 Correio eletrônico, gerenciador de tarefas, calendário e gerenciador de contatos
Gimp 2.4.7 Editor de imagens
Inkscape 0.46 Editor de imagens vetoriais
Rhythmbox 0.11.6 Reprodutor e gerenciador de músicas
Totem 2.22.2 Reprodutor de filmes
Ekiga 2.0.12 Cliente VoIP

DNA de servidor

No que tange à operação em servidores, área em que o Debian faz cada vez mais adeptos, a preocupação com segurança é sempre uma constante: diversos dos pacotes de serviços do sistema foram compilados com opções de segurança do GCC ativadas ou alterados com patches de segurança — como é o caso do PHP, por exemplo —, no intuito de dificultar a vida dos onipresentes agressores. Versões atualizadas do MySQL 5.1 e do PostgreSQL 8.3 são outras das aplicações que passaram por esse processo de melhoria de segurança.

A equipe de desenvolvimento do sistema também trabalhou pesado no suporte à virtualização: o Xen foi atualizado para a versão 3.2.1 e há suporte também para o KVM. O VirtualBox, por outro lado, está disponível em sua variante de código aberto (OSE) apenas na versão 1.6.6 — no fechamento deste artigo, a versão atual era a 2.1.2, disponível no site do projeto, agora de propriedade da Sun Microsystems. Para instalá-la basta incluir a seguinte linha ao arquivo /etc/apt/sources.list:

deb http://download.virtualbox.org/virtualbox/debian lenny non-free

e usar um dos gerenciadores de pacotes disponíveis para realizar a instalação propriamente dita.
Conclusão

O Debian 5.0 é uma distribuição GNU/Linux que, como de costume, prima pela qualidade, mas não pela disponibilização de versões mais atuais dos programas instalados. Praticamente todos os recursos disponíveis por padrão procuram oferecer recursos utilizando software livre. Essa opção, muito louvável de um lado, dificulta a escolha de alternativas proprietárias, que, infelizmente, em alguns casos, são as únicas que funcionam efetivamente — o caso do Flash Player sendo um bom exemplo (pelo menos por enquanto).

Como sistema para o desktop, a nova versão do Debian pode ser utilizada por usuários iniciantes ou experientes. A instalação dos plug-ins proprietários pode ser um desafio para os primeiros e há que se perguntar por que razão um iniciante deixaria de usar versões um pouco mais amigáveis do Linux baseadas no próprio Debian, como é o caso do Ubuntu, que se concentrou em resolver essas idiossincrasias que fazem da vida do usuário comum um inferno. Já o usuário experiente, que busca estabilidade e consegue superar facilmente esse tipo de transtorno, vai ficar satisfeito em poder trabalhar com um sistema leve, enxuto e extremamente estável, que conta com quase 23.000 pacotes prontos para instalar.

Como servidor, o Lenny é uma atualização obrigatória. Provavelmente, o sistema deverá ser um competidor forte para outras distribuições Linux, para diversos sabores de UNIX e também para o Windows®. Simples de gerenciar, flexível e bastante robusto, o Debian 5.0 veio para melhorar o que já era bom.

Seja servidor ou desktop, entretanto, o fato é que a nova versão continuará a ser a plataforma base de escolha para um grande número de distribuições populares, servidores dedicados (appliances) e dispositivos embarcados — a nova versão oferece suporte a 11 arquiteturas, fornecendo praticamente a mesma experiência de uso em todas elas.

fonte: http://linuxmagazine.uol.com.br/materia/analise_do_debian_50_lenny

II encontro PHP-PB

Sunday, February 22nd, 2009

O que é?

O segundo encontro do grupo de desenvolvedores PHP da Paraíba tem como objetivo reunir os membros do grupo, estudantes e profissionais da área de TI para troca de conhecimentos na tecnologia PHP e relacionadas. O encontro contará com palestras e momentos de networking entre os participantes.

Se você não participou do primeiro enconto, veja como foi:

* Fotos
* Apresentações

Quando?

Dia 07 de Março de 2009, a partir das 8 da manhã na Unipê, localizada na BR-230, bairro Água Fria em João Pessoa.
Unipê

Quer patrocinar?

Faça já o download do nosso plano de patrocínio e entre em contato conosco!

Inscrições

A participação no evento é gratuita, porém é necessária a prévia inscrição e a doação de 1Kg de alimento não perecível no dia do evento.

A doação será repassada à Casa da Criança com Câncer, instituição filantrópica que dá apoio aos pacientes e familiares vindos do interior em busca de tratamento no Hospital do Câncer Napoleão Laureano.

Os membros inscritos e presentes no dia do evento concorrerão a diversos brindes como livros da editora O’Reilly, camisetas, um elePHPant de pelúcia e muito mais!

Já contamos com 378 inscritos no total, sendo 1 só nas últimas 24 horas!

Inscreva-se AQUI!

Sql com todos estados e cidades do Brasil

Sunday, February 22nd, 2009

http://www.comunidade-firebird.org/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=148&ttitle=Brasil_-_Estados_e_Cidades

Tutorial de segurança em aplicações PHP (parte 1)

Sunday, February 22nd, 2009

Estou anotando algumas dicas para aumentar a segurança em aplicações php (linguagem a qual programo).
Abaixo irei colocar algumas dicas sobre o que tenho aprendido, mas infelizmente de maneira resumida, definida como parte 1:

-alertas de erro -> Desabilitado (coisas como error_reporting(E_ALL);) – isto só pode ocorrer em um sistema no momento de testing.
-register_globals -> Desabilitado
-permissão ->dar o mínimo de privilégios possível no sistema, a nível
de bd e etc.
-variáveis ->setar vazios antes de atribuir strings.

Ex:

<?php

$busca = ”;

if (isset($_GET['busca']))

{

$busca = $_GET['busca'];

}

?>
- usar ssl para dados importantes, evitando exposição de dados.
- Forçar a segurança de maneira que não pese ao usuário,
se possível transparente. Ex: solicitar autenticação por medida de segurança para um transação importante de um cliente já autenticado no sistema.

- tomar sempre cuidado no ato de detecção de ataques, isso pode impedir a usabilidade do sistema.
- cuidados com interações em sistemas remotos (rss, apis remotas – web services).
- filtrar bem os dados (todos) que entram, para não operar com dados
maliciosos.

Filtrar dados é ler o que se entra por $ _GET e $ _POST e observar o que está malicioso e distinguir isto. (bem fácil de filtrar, ruim é identificar a origem)

Todas entradas têm de vir de uma fonte remota, se você não conhece as entradas, não pode se defender delas.

Entradas como $_SERVER exigem muito mais trabalho na hora da filtragem.
- A pior forma de filtrar é tentar manipular ao invés de tratar que o que é limpo é limpo e o que é sujo é sujo, do contrário, tentar manipular as informações poderá criar brechas.
Trecho que reforça a segurança quando um atacante tenta retroceder 1 diretório (ou mais):

<?php

$nomefile = $_POST['nomefile'];

while (strpos($_POST['nomefile'], ‘..’) !== FALSE)
{
$nomefile = str_replace(‘..’, ‘.’, $nomefile);
}

?>

Evidentemente, o basename() função pode substituir toda esta técnica e é uma maneira segura de atingir o objectivo pretendido. O ponto importante é que qualquer tentativa de corrigir Dados inválidos podem conter um erro e permitir a passagem de dados inválidos. Inspeção é uma alternativa muito mais seguro.

INSPECIONAR É MELHOR QUE CORRIGIR, quando se tenta corrigir geralmente se abre uma falha, o que é a real necessidade do atacante.

Se você consegue identificar com precisão e fidelidade a entrada dos dados você já fez quase tudo.
Após, o passo seguinte é criar um filtro fiel para distinguir dados ruins de dados bons.

sempre que for tratar dados o bom é criar um array vazio e atribuir dados a ele, que você realmente sabe que estão limpos.

<?php
$limpo = array( );
switch($_POST['cor']) {
case ‘vermelho’:
case ‘verde’:
case ‘azul’:
$limpo['cor'] = $_POST['cor'];
break;
}
?>

Estamos garantindo mais segurança por que a cor só pode ser uma das três e nada mais, neste caso!

você pode querer afirmar que um usuário só pode conter caracteres alfanuméricos:

<? php

$limpo = array ();

if (ctype_alnum ($ _POST [ 'user']))
(
$limpo[ 'user'] = $ _POST [ 'user'];
)

?>

Procure sempre usar funções nativas do php para segurança, isto pode lhe prevenir de problemas como erro de lógica, resultando assim em uma
brecha de segurança (o que um atacante necessita).

Para ajudar na segurança nos devemos:

Identificar saída,

Escapar saída,

Distinção entre escapara e não escapar dados .

É importante para escapar apenas dados filtrados. Embora escapar sozinho pode evitar muitas das vulnerabilidades de segurança, não deve nunca ser considerado como um substituto para a filtragem de entrada. Dados maliciosos devem ser filtrados primeiro e depois escapados.

Filtrar as entradas com htmlentities é melhor que htmlspecialchars, mas ambas são boas para converter o que vem da web, um exemplo legal é este aqui:

<?php
$htm = array( );
$htm['user'] = htmlentities($limpo['user'], ENT_QUOTES, ‘UTF-8′);
echo “<p>Olá, {$htm['user']}.</p>”; ?>

Isso garante a entrada de dados do user, e de tabela quebra a forma em que os dados vêm de maneira a traduzir caracteres “malucos” em html.

Devemos escapar todos os dados SIM, isto ajuda na segurança de sua aplicação.
htmlentities não converte caracteres alfanuméricos, mas previne que dados estranhos operem em interação do usuário com o sistema.

Outra política, voltando-se ao famoso e muito utilizado mysql é usar funções nativas para escapar entradas de dados para o banco de dados.
Usamos a função mysql_real_escape_string ().
Podemos usar também addslashes para ajudar na relação com o mysql, mas em última instância.

<?php $mysql = array( );

$mysql['username'] = mysql_real_escape_string($clean['username']);

$sql = “SELECT * FROM profile WHERE username = ‘{$mysql['username']}’”; $result = mysql_query($sql); ?>

Fonte -> http://phpsecurity.org/

Citrix Error: Creating ‘Minha VM’ by cloning ‘Other install media’ – Object reference not set to an instance of an object.

Friday, February 20th, 2009

Se isso aconteceu, não tenha pânico, isto deve ter ocorrido pelo fato de você ter ordenado que a vm startasse assim que fosse instalada. Basta ir nela, confirmar se a mídia (iso) de instalação está ok e dar boot.

Quem é mais rápido: O mv ou cp para manipular um arquivo de um lugar para outro?

Thursday, February 19th, 2009

Um dia esta dúvida pode ir a sua cabeça, por isso, nada de pânico, a resposta é simples e direta:

Para mover arquivos de um lugar para outro o MV é mais rápido que o CP pois o CP recria a estrutura de inode para o arquivo, o mv renomeia o tte desta estrutura, então, concluímos que o mv é mais rápido.

Error: Missing Dependency: xen-hypervisor-abi = 3.1 is needed by package xen

Wednesday, February 18th, 2009

Se você recebeu a mensagem Error: Missing Dependency: xen-hypervisor-abi = 3.1 is needed by package xen ao tentar instalar o xen no Centos, Fedora ou Red hat, nada de pânico, a saída é entrar no /etc/yum.conf e comentar (colocar #) na linha:

#exclude=kernel*

Acabou a tristeza!
:P

Microsoft OLE DB Provider for ODBC Drivers error ? [Microsoft][ODBC Microsoft Access Driver] Cannot open database (unknown). It may not be a database that your application recognizes, or the file may be corrupt.

Wednesday, February 18th, 2009

Sem dúvidas será hora de chamar o desenvolvedor ou o responsável pelo site e ordenar que suba a base de dados novamente, pois sua base de dados foi corrompida. Você pode deletar a base de dados atual, e fazer o upload de uma nova base.

Este problema pode ocorrer quando o acesso a essa base de dados está muito alto. É indicado neste caso a migração desta base para MS-SQL.

Provedor OLE DB Microsoft para Drivers ODBC (0×80004005)[Microsoft][ODBC Microsoft Access Driver]Erro geral – Não foi possível abrir a chave do Registro ‘Temporary (volatile) Jet DSN for process 0×614 Thread 0×6c0 DBC 0×21dd07c Jet’. (Nome_do_Arquivo), (Número_da_Linha)

Tuesday, February 17th, 2009

Ao acessar uma página que se conecta a um banco de dados do Access, a seguinte mensagem de erro no navegador pode ser exibida:

Provedor OLE DB Microsoft para Drivers ODBC (0×80004005)[Microsoft][ODBC Microsoft Access Driver]Erro geral – Não foi possível abrir a chave do Registro ‘Temporary (volatile) Jet DSN for process 0×614 Thread 0×6c0 DBC 0×21dd07c Jet’.
(Nome_do_Arquivo), (Número_da_Linha)
A conta usada no acesso à página não tem acesso à chave do Registro HKEY_LOCAL_MACHINE\SOFTWARE\ODBC.
IMPORTANTE: Este artigo contém informações sobre como modificar o Registro. Antes de modificá-lo, faça um backup e certifique-se de que saiba como restaurá-lo caso ocorra algum problema. Para obter informações adicionais sobre como fazer backup, restaurar e modificar o Registro, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):

256986 (http://support.microsoft.com/kb/256986/PT-BR/ ) Descrição do Registro do Microsoft Windows

AVISO: O uso incorreto do Editor do Registro pode causar sérios problemas que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que os problemas resultantes do uso incorreto do Editor do Registro possam ser solucionados. O uso do Editor do Registro é de sua responsabilidade.

  1. Inicie o Editor do Registro (Regedt32.exe).
  2. Selecione a seguinte chave no Registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\ODBC
  3. No menu Segurança, clique em Permissões.
  4. Digite as permissões necessárias à conta que está acessando a página da Web.
  5. Encerre o Editor de Registro.
fonte: http://support.microsoft.com/kb/295297

O dia em que testemunhei a pirataria prevalecendo

Tuesday, February 17th, 2009

Estes dias estava observando um notebook de um conhecido, o qual não tinha conhecimento em sistemas operacionais livres e mais uma das vítimas dos “enlatados”. Pois é, como de costume, instalei no notebook dele o Windows XP service pack 2. Lutei para que o respeito aos produtos da Microsoft fossem prezados (não que deixe de apoiar ou que seja xiita, pelo contrário, para mim plataforma é unix-like), procurei evitar piratarias com aquelas coisas “enlatadas” de sempre.
Instalei coisas grátis como BrOffice, acrobat reader, winzip com evaluation e Avast Free (home).

software enlatado

software enlatado

Passaram-se semanas e ele (o “vitimado”) me liga e fala:

- Olha, dá para ver meu notebook, vou dar um pulinho aí e você vê o que pode fazer!

Pensei comigo:

- Poxa, deve ter sido algum trojan, alguma coisa que comprometeu o sistema do cara.

Assim que ele adentrou a porta da minha casa pedi que ligasse o notebook, um belo notebook core2duo e deixei a coisa andar.
Assim que o sistema foi carregado perguntei aonde estava o erro e ele me disse:

- Não, não há erro algum, é porque não sei digitar textos em um editor que não seja o Word e um gerador de planilhas que seja o excell.

Naquela hora ainda insisti:

- Preste atenção, instalar isso eu não posso por que não é original, não tem como, as atualizações em falta vão comprometer a segurança de seu pc a tal ponto que nem anti-vírus poderá suprir tamanho furo. E mais, usar um sistema broffice não é problema, pelo contrário, é muito parecido com os aplicativos que o office disponibiliza. Sem contar na simplicidade de menus e coisas do gênero.

Pois é, foi vã a minha insistência.

O cara pegou o pendrive, meteu o office 2003 PIRATA, instalou tudo que tinha direito, meteu um serial que achou em qualquer buraco e disse:

- Até que enfim achei o que eu realmente precisava, isso sim é que é editor!

Comecei a me perguntar o por que dessas coisas, visto que não faz sentido que as pessoas não atentem pela segurança de sua casa, de seus filhos, pois acredite, ter um pc seguro ajuda e muito na segurança de seus filhos, desde estelionatários até pedófilos utilizando keyloggers.

Sinceramente não entendia aquilo, e ao pensar por pouquíssimos segundos lembrei das coisas que vi e que vivi na minha infância em relação a sistemas operacionais e coisas do tipo, aonde os “técnicos” forneciam a mais célebre frase do mundo da TI:

- Pode instalar, eu me responsabilizo, este troço é perfeito e é “gratuito”.

Aplicam uma licença de um Adobe Photoshop pirata e falam tais misérias tecnológicas.
Assim foi seguindo e fui lembrando de “mais facilidades da vida”:

- Ah, usa este soft (não é software que eles dizem) aqui, ele é muito mais simples de usar.

Foi em uma dessas que em meados de 97 pagamos (eu e meu irmão) por uma instalação pirata do windows 95.

Fico pensando, até aonde as pessoas vão, até aonde elas realmente são sinceras e honestas consigo mesmas. Olhando pelo lado humano, você gostaria que alguém pegasse 1 kilo de cimento de sua loja e saísse com ele sem pagar afirmando que o pagamento foi copiado e colado de um outro depósito?

É assim que acontece, as pessoas utilizam-se de software pirata afirmando estarem santas em quaisquer aspectos da vida, mas esquecem que em outras palavras não passam de ladras.

Obs: nada de “santarrice”, pelo contrário, já fui praticante disto, mas hoje, como sou desenvolvedor e sei o quão esforçado é fazer as coisas corretas, dentro dos parâmetros de usabilidade e segurança (acredite, segurança de mais pode matar a usabilidade de um sistema caso o mesmo não tenha sido feito com precisão e com muita lógica), sei quão caro isto é para o tempo/bolso de um desenvolvedor.

Pense em uma coisa:

VOCÊ nunca agradaria-se de alguém invadindo seu supermercado e levando carnes, ovos, leite, arroz e etc falando que pegou o número da nota do vizinho que “deixou cair ao chão”.

Pense, reflita e pague por isso, quando alguém paga, este alguém pode exigir suporte, qualidade, reportar falhas e etc.

Lamentável a minha situação, pois além de ficar chateado com o rapaz eu não acreditei na falta de consciência prestada pelo mesmo, nem sequer parou para entender o que eu havia acabado de falar sobre atualizações, segurança e outros blá blá blá que a turma de ti tem.

Quantas empresas não saem perdendo com isto, e o pior, quanto não se perde com esta prática insana?

Pense que no fim de tudo, se houvesse mais dinheiro nas mãos dos desenvolvedores a estratégia seria sempre progressiva e talvez este software que você tanto reclama poderia ser bem melhor pela equipe mais qualificada de desenvolvimento, ou mesmo pela quantidade superior de desenvolvedores atuando em um mesmo projeto.

Mas é isto, bola para frente e Make life!

Ativar SSI server side includes no Plesk Windows IIS 6

Tuesday, February 17th, 2009

Siga os passos abaixo:

Abra o painel de controle -> adicionar e remover programas -> componentes do Windows -> aplicações do servidor -> IIS -> world wide web -> Server side includes.

Após, reinicie o IIS e os componentes do plesk.

Como Converter Arquivos CUE/BIN, NRG, IMG, MDF para Arquivos ISO no Ubuntu, Debian ou Centos

Monday, February 16th, 2009

Você tem problemas para gravar arquivos NRG, IMG, CUE/BIN, MDF para um CD? É mais fácil gravar um arquivo ISO para um CD, você não acha? Este artigo irá mostrar-lhe como converter um arquivo NRG, IMG, CUE/BIN ou MDF em um arquivo ISO.

Atenção: Você irá precisar do repositório universal habilitado (veja este artigo).
Step 1:

Nós precisamos do software utilizado neste artigo: bchunk (CUE/BIN para ISSO), ccd2iso (IMG para ISO), mdf2iso (MDF para ISSO) e nrg2iso (NRG para ISO), então abra um terminal e digite:

sudo apt-get install bchunk ccd2iso mdf2iso nrg2iso

se for o CentOs basta usar:

yum install bchunk ccd2iso mdf2iso nrg2iso

Agora você pode proceder para o próximo passo.
Step 2:

Aqui está o que fazer para converter de…

CUE/BIN para ISO: Abra um terminal, vá para a pasta onde o arquivo CUE/BIN está localizado e digite:

bchunk nomedoarquivo.bin nomedoarquivo.cue nomedoarquivo.iso

NRG para ISO: Abra um terminal, vá para a pasta onde o arquivo CUE/BIN está localizado e digite:

nrg2iso nomedoarquivo.nrg nomedoarquivo.iso

IMG para ISO: Abra um terminal, vá para a pasta onde o arquivo CUE/BIN está localizado e digite:

ccd2iso nomedoarquivo.img nomedoarquivo.iso

MDF para ISO: um terminal, vá para a pasta onde o arquivo CUE/BIN está localizado e digite:
mdf2iso nomedoarquivo.mdf nomedoarquivo.iso

Agora você pode gravar facilmente o arquivo ISO gerado para um CD.

fonte: http://www.howtodothings.com/pt/computadores-e-internet/como-converter-cue-bin-nrg-img-mdf-arquivos-arquivos-sobre-a-iso-ubuntu-linu