terça-feira, 22 de fevereiro de 2011

Restore Postgresql

Restaurando seu banco de dados - psql

A ferramenta psql é o front-end do PostgreSQL via terminal. Entre várias funcionalidades que essa ferramenta oferece, uma delas é a capacidade de ler um arquivo (script SQL) e executar os comandos no Banco de Dados. Exemplo:

psql -d sistema -f backup-sistema.sql

onde:

-d: indica o nome do banco de dados
sistema: nome do banco de dados
-f: indica que a entrada é proveniente de um arquivo
backup-sistema.sql: nome do arquivo de entrada que contém os comandos SQL

segunda-feira, 21 de fevereiro de 2011

Backup com Rsync



Quem usa Mac OS X e conhece o Time Machine, sabe como essa ferramenta é muito interessante. Ela realiza backup incremental dos arquivos organizando-os por data de backup, de forma que somente os arquivos modificados sejam copiados novamente, podendo gerar um grande intervalo de retenção de dados.

O Oops!Backup é uma boa solução para o Windows e que realiza exatamente a mesma tarefa. Já fiz uma breve análise deste software em um post anterior, disponível aqui.

Para Linux existe o FlyBack, mas não gostei muito pelo fato de eu ter achado pouco eficiente, algumas vezes ter deixado de funcionar comigo e também pela necessidade de exigir o ambiente gráfico Gnome do computador, o que ia contra as minhas necessidades de utilizá-lo em um servidor de arquivos sem ambiente gráfico algum.

Por causa disso, resolvi fazer um simples shellscript para atender essa minha necessidade e estou disponibilizando abaixo. O script é muito simples e funciona da seguinte forma:

  1. Verifica se o HD com o label correto está conectado na porta USB e com o nome de dispositivo correto.
  2. Verifica em seus arquivos de controle a data do último backup.
  3. O rsync compara os arquivos e copia para a nova data somente os arquivos novos ou que foram alterados.
  4. O rsync faz hard link em todos os arquivos que não foram alterados.

Hard link? O que é isso?

Existem basicamente dois links mais utilizados pelos usuários Linux: o symbolic link e o hard link.

Explicando de forma simples e objetiva sem entrar em grandes detalhes técnicos, o symbolic link é uma forma de adicionar novas entradas para um arquivo em lugares diferentes do disco rígido, de forma que o usuário possa utilizar em lugares diferentes, ou seja, ele é apenas uma referência para um outro arquivo. Esse recurso é muito utilizado no Linux, principalmente para referenciar bibliotecas que precisam estar localizadas em diversos lugares sem a necessidade de ficar gerando duplicidade de arquivos.

Em compensação, se o arquivo original for apagado, todos os symbolic links ficarão quebrados, pois a sua referência não existirá mais.

Já o hard link permite ao usuário referenciar vários nomes para um mesmo conteúdo gravado nos inodes do disco rígido. Isso quer dizer que seria como uma forma de dar vários nomes para o mesmo conteúdo gravado no disco, o que não gera links quebrados, pois a referência é ao conteúdo e não a outro arquivo.

Vamos tentar entender com as imagens abaixo bem simplificadas:

Symbolic Link:

image

Repare que os Symbolic Links 1 e 2 apontam para um arquivo e se o mesmo for apagado, os dois ficarão quebrados, pois dependem do arquivo real para existirem.

Hard Link:

image

Repare que os dois Hard Links apontam para um mesmo conteúdo de disco, isso quer dizer que se um for apagado, o outro continuará existindo com o mesmo conteúdo.

Dessa forma, o nosso sistema de backup baseado em rsync e hard links permitirá que o usuário navegue com o seu gerenciador de arquivos nas datas em que o backup foi realizado e acessar todos os seus arquivos exatamente da forma que eles estavam.

Vamos então à implementação:

1) Instale o rsync e suas dependências.

# apt-get install rsync

2) Crie um diretório onde você guardará o script. Eu guardei em /usr/local/backup

# mkdir /usr/local/backup

3) Copie o arquivo backup.sh para o diretório /usr/local/backup

# cp ~/backup.sh /usr/local/backup

4) Crie um arquivo dentro de /usr/local/backup com os diretórios que você deseja fazer backup. Coloque um em cada linha. Exemplo:

/home
/etc
/opt

5) Edite o arquivo backup.sh e altere as variáveis PATH_DESTINO e MY_PATH, sendo que a primeira é para onde o backup deverá ser gerado (pode ser um disco externo) e MY_PATH é o caminho onde o script foi instalado, nesse caso, /usr/local/backup.

PATH_DESTINO="/media/backup"
MY_PATH="/usr/local/backup"

6) Execute o script e veja se no diretório de destino foi criado um diretório com a data e a hora que o backup foi rodado. Haverá um diretório com uma data estranha somente para que o primeiro backup seja executado sem erro.

# /usr/local/backup/backup.sh
# ls /media/backup/
20000101-010101 20110217-203854

7) Execute novamente o script e veja se um novo diretório será criado com a data e hora que o backup foi rodado novamente.

# /usr/local/backup/backup.sh
# ls
20000101-010101 20110217-203854 20110217-205043

8) Repare nos tamanhos dos diretórios. Se somente o primeiro backup estiver com o tamanho grande e os demais pequenos, isso quer dizer que o backup diferencial funcionou perfeitamente. Um pequeno espaço em disco será ocupado apenas para a criação dos nomes dos hard links.

#cd /media/backup
# du -hs *
4.0K 20000101-010101
117M 20110217-203854
1.2M 20110217-205043

Se você entrar no diretório 20110217-203854 você terá todos os arquivos que existiam nessa data e horário e o mesmo para o diretório 20110217-205043, contendo as modificações realizadas nesse período.

E o que acontece se apagar os diretórios anteriores de 20110217-205043?

Você apenas ficará com todos os arquivos que foram feitos backup daquela data e as modificações anteriores serão apagadas.

Vou tentar explicar com a tabela abaixo:

image

  • No dia 14/10/10, existiam apenas aqueles três arquivos, cujo o seu status está sendo marcado na cor vermelha apenas para acompanhar a evolução dos mesmos.
  • No dia 15/10/10, o arquivo Doc1.doc foi modificado (por isso a cor mudou para exemplificar) e o arquivo Novo.doc foi criado.
  • No dia 16/10/10, os arquivos Mais1.doc e Mais2.doc foram criados e os demais permaneceram com o mesmo status.
  • No dia 17/10/10, apenas o arquivo Lixo.doc foi apagado.
  • No dia 18/10/10, o arquivo teste.txt e Mais2.doc foram alterados (a cor mudou somente para exemplificar) e os demais permaneceram como estavam.
  • No dia 19/10/10, tudo permaneceu como estava.

Supomos que você apague todos os diretórios anteriores ao dia 17/10/10. Você perderá definitivamente o arquivo Lixo.doc, mas ainda terá as versões dos arquivos teste.txt e Mais2.doc do dia 17/10/10.

Em resumo, qualquer diretório de backup que você apagar, será removido apenas o status daquela data e hora que o backup foi feito.

Recomendo colocar esse script no crontab para rodar a cada 2 horas.

# crontab -e

0 */2 * * * /usr/local/backup/backup.sh

Experimente utilizar essa forma de backup e navegue pelos diretórios de backup. Surpreenda-se pela praticidade. :-)

domingo, 12 de dezembro de 2010

Solution 16414: Printing A Print Server Configuration Label Causes A 'Ribbon In' Error



Symptom

Printing a test label (Configuration Label) from the print server
results in a "Ribbon In" Error

The problem is seen on printers when the EPL version of firmware is loaded. Pressing the test button on the print server sends printer commands to the printer to produce the test label. The print server expects the printer to be in Direct Thermal mode. If in Thermal Transfer mode with ribbon loaded, the mode will change to Direct Thermal when the test button is pushed to print a print server configuration label.

To clear the error message on a ZM400 or ZM600 change Print Method back to Thermal Transfer through the Front Panel LCD.

On the S4M, change the Ribbon setting to 'Yes' through the Front Panel LCD.

segunda-feira, 6 de dezembro de 2010

Sem anti-virus

http://www.forumpcs.com.br/viewtopic.php?t=184052

Todo programa, quando executado, gera um ou mais processos para o sistema operacional. Um processo, é uma instância de um programa ou de um comando em execução. Existem formas para gerenciar estes processos. Logo, existem formas para gerenciar todo programa que roda no pc. Logo, existem formas para gerenciar qualquer programa, seja ele do mal, ou do bem. Basicamente é isso que precisamos para entender o tutorial, porém, recomendo uma leitura mais avançada sobre processos, sub-processos e threads. Google ajuda as vezes...

Ferramenta 1

Todo bom usuário do Windows conhece o gerenciador de tarefas, o famoso, CTRL+ALT+DEL. Mas não vamos usar ele. E não vamos usar ele, simplesmente porque existem programas mal intencionados que desativam a chamada do gerenciador de tarefas do Windows. Para nosso serviço, usaremos o Process Explorer .

Escolha a versão correta para seu sistema operacional. No tutorial usarei a versão para Win XP.
O programa é gratuito.

Ferramenta 2

Provavelmente você já deve ter tentando deletar algum arquivo em uso. Certamente, deparou-se com uma mensagem de erro. Com o Killbox, isso não vai mais acontecer. Vamos precisar dele também, baixe-o. Também é gratuito.

Conhecendo os programas

O Process Explorer (a partir de agora, PE) vem compactado e não tem instalador. Basta descompactá-lo para uma pasta qualquer e executar o arquivo procexp.exe.

Bem vindo a um gerenciador de tarefas expert! O PE reúne diversas informações sobre processos, uso da cpu, memória, etc. Não precisamos conhecer o programa integralmente para usarmos. Antes de prosseguir, passeie pelos menus do programa para familiarizar-se. Clique no menu View -> Select Columns. Marque todas as opções disponíveis e clique em OK.

Clique para ampliar

No quadro a esquerda, seguem os processos e seus sub-processos. Observe como tudo é mais organizado do que o gerenciador do Windows.
A direita, temos um quadro com informações dos processos, como o ID (PID), parcela que está usando na CPU, uma breve descrição, nome da companhia, nome do usuário que iniciou o processo, título da janela (se tiver), sessão, diretório aonde está o programa/arquivo que instanciou o processo (isso é muito importante!), e estado da janela. Vou ressaltar novamente, que quero deixar o tutorial prático e objetivo. Quem se interessar em conhecer as peculiaridades do PE, pode ler o arquivo de ajuda, que está bem completo.

Vamos praticar um pouco. Abra o PE e maximize-o para melhor visualiação. Clique em Iniciar->Executar e digite notepad . O bloco de notas do Windows se abrirá. Agora, observe que um novo processo, chamado notepad.exe, é instanciado no PE. Feche o bloco de notas pelo botão fechar na barra de título e observe que o processo é destruído da lista de processos. Agora, abra novamente o bloco de notas. Vá ao processo correspondente a ele no PE, o notepad.exe, e clique com o botão direito do mouse. Um menu pop-up se abrirá com algumas opções. Clique em Kill Process Tree, e observe como a janela do bloco de notas se fecha e o programa se encerra. Oque você acabou de fazer foi finalizar o processo do notepad.exe, interrompendo a sua execução forçadamente. É isso que iremos fazer com as pragas!

Agora, precisamos aprender como diferenciar oque são processos do sistema e processos que o usuário abre. Repare que os processos possuem um campo User Name no quadro a direita. Quando nesse campo constar AUTORIDADE/XX SYSTEM (ou em inglês), ou AUTORIDADE /XX NETWORK, quer dizer que estes processos foram iniciados pelo sistema operacional, ou seja, não houve intervenção do usuário. Quando este campo constar o nome de seu PC e seu nome de usuário, quer dizer que este processo foi iniciado com a intervenção do usuário.

OBS: Mesmo processos que carregam automaticamente com o Windows podem constar como que abertos pelo usuário, porque o usuário teve de instalar o programa.

O Killbox é muito simples de ser usado. Também não requer instalação. Basta executar o arquivo .exe que acompanha o pacote.

Usaremos o Killbox para apagar aqueles vírus que não podem ser apagados, porque ao terem seus processos finalizados, voltam a serem executados imediatamente, tornando assim, “impossível” sua remoção pelo método comum. O campo “End Explorer Shell While Killing File” deve estar sempre marcado para apagar esse tipo de arquivo.

O segredo da coisa!

Sempre que iniciamos o sistema operacional, seus processos necessários para funcionamento são carregados. Junto a eles, são carregados os processos que o usuário criou, carregados automaticamente pelo sistema. O grande segredo da coisa, é justamente saber diferenciar oque são processos do sistema (ou processos que você permite que estejam abertos) e processos maléficos. Abaixo segue uma imagem de um Windows XP limpo, sem nenhum processo aberto a não ser os que são do sistema.

Todos estes processos, com exceção do procexp.exe, que é o próprio visualizador de processos abertos, são os processos que você O “precisa” se preocupar . Aconselho a guardar esta imagem enquanto não decora quais processos são os originais do sistema. Ainda assim, existem vírus ou spywares que se disfarçam destes arquivos. Um dos mais comuns é o Isass.exe. Geralmente o processo falso do Isass.exe leva um ícone diferente deste original, um ícone como o de um arquivo .html e é carregado pelo usuário e não pelo sistema. É comum também, processos maléficos se disfarçarem de svchost.exe. Normalmente haverá umas 5 ou 6 instâncias do svchost (podem haver mais ou menos, tudo depende de quais serviços sua máquina carreg. Para ver os serviços que sua máquina carrega, digite services.msc em iniciar->executar e aperte enter). O svchost são processos individuais do Kernel do Windows e levam consigo uma lista de outros serviços rodando nele. Aponte o mouse sobre qualquer um deles e espere um tempo. Aparecerá a lista dos serviços referentes àquela instância do Kernel. Caso desconfie de algum processo svchot.exe, deixe o mouse apontado sobre ele e observe se na lista de serviços consta alguma coisa estranha. Geralmente, processos disfarçados de svchost.exe carregam consigo somente o serviço do vírus. Nestes casos, é possível que se repare também um processo do vírus instanciado, mas ao desativá-lo, ele volta, justamente por causa do svchost.exe disfarçado que o está chamando toda vez que você o apaga. (este não é o único caso em que um vírus vai voltar) Também é possível que em um svchost.exe original esteja infectado e carregando o serviço de algum vírus. Outro fator de exceção importante são os parâmetros passados ao processo explorer.exe. Existem vírus ou spywares ou adwares que ao invés de instanciar um processo, agregam um parâmetro ao explorer.exe que carrega a sua biblioteca. Desta forma, a praga ficará rodando em sua máquina e você não enxergará o processo dela. Para resolver isso manualmente, basta pesquisar pelo Google por ferramentas feitas especialmente para aquele caso. Na parte de prática deste tutorial, mais abaixo, eu dei um exemplo de um vírus do tipo.

Quando você rodar o PE aí na sua máquina, dificilmente vai encontrar seus processos como na imagem logo acima. Saiba diferenciar também, os processos de Drivers de hardware que o usuário instalou. Na primeira imagem lá em cima, vocês podem notar um ou 2 processos que se chama ati2evxx.exe. A direita, observe o nome da companhia que criou o arquivo: ATI Technologies Inc. Obviamente este processo faz referência a meu driver de vídeo, da minha placa da ATI. Notem que uma outra sacada é observar o nome da companhia do processo. É importante para isso, que o usuário saiba oque tem dentro de sua máquina e suas devidas marcas. Procurem por processos como processos de software de placas de som, de vídeo, modems, etc.

Para gerenciar direito a sua máquina, você deve reconhecer tudo oque está rodando nela. Abra o PE e procure reconhecer entre os vários processos, quais são do sistema, quais são de programas conhecidos e quais são desconhecidos. Os desconhecidos, você pode conseguir alguma referência usando o campo PATH no quadro direito do PE. Neste quadro, consta o diretório em que o arquivo do processo está, como já citado anteriormente. Observe qual o diretório em que se encontra, a companhia que o criou, e quem o está chamando (usuário ou sistema).

Passos para identificar processos

1 – Nome do processo
Processos comuns normalmente levam nomes referentes ao da sua aplicação. Processos maléficos podem levar o nome de qualquer coisa, desde nomes sem sentido ou com nomes referentes a alguma palavra, marca, etc. Por isso, é importante que o usuário saiba e decore quais são os processos que seu sistema normalmente carrega, para caso algum outro carregue, saiba diferenciar. Em caso de dúvida, use a criatividade. Procure pelo nome daquele processo no Google e busque informações sobre ele. Existem sites especializados em descrição de processos, um que costumo usar e acho muito bom, apesar de ser em inglês, é este.Caso perceba que é algo maléfico, remova-o.

2 – Nome da companhia
Quem conhece bem a máquina que tem, sabe das marcas dos programas instalados. Processos maléficos geralmente não levam marca, ou levam alguma marca estranha.

3 – Caminho / Diretório
Processos maléficos gostam de residir em pastas do Windows, como a do system ou system32, ou até mesmo a pasta Windows, ou criar suas próprias pastas, das quais em geral, sempre levam o mesmo nome do processo.

Prática

Agora, vou rodar um spyware de exemplo em minha máquina (sim sim!) e mostrar a vocês, como eu o identifico e o removo. Vamos lá!

Observem na imagem, que carreguei os Spywares em minha máquina. Abaixo do procexp.exe estão os malditos.

Primeiramente, identifiquei os spywares, porque nunca havia visto estes processos em minha máquina, pelo nome estranho que eles levam (isamonitor? Estaria monitorando algo?), porque não possuem uma companhia e estão colocados em diretórios estranhos, C:\Arquivos de programas\VideoCodec\ (nunca instalei esse programa!) e algumas pastas do Windows. Outro detalhe estranho é o rundll32.exe estar carregada logo após aquele processo. Sempre que ver o rundll32.exe carregado pelo usuário, desconfie.

Como proceder:

Finalizarei os processos do spy, clicando com o botão direito do mouse sobre eles e selecionando a opção Kill Process Tree. Mas antes disso, anotei aonde estes arquivos residem, pelo campo PATH no quadro direto do PE, para que manualmente eu possa ir lá e apagá-los. Anote também o nome exato dos processos. Caso um processo seja sub-processo de outro, você deve matar o processo pai. No meu caso, terminei o lafC.tmp, o pmsngr.exe (com ícone de warning) e o isamonitor.exe. Automaticamente os processos filhos destes foram destruídos. Caso também um processo insista em voltar assim que você o apaga, simplesmente vá ao diretório aonde ele se encontra e apague-o usando o Killbox com os parâmetros passados acima. Mas ainda não terminou!

OBS: alguns processos maléficos possuem instaladores. Vá no painel de controle do Windows, adicionar/remover programas, e tente encontrar alguma entrada relativa. Se encontrar, clique e remova. Na maioria das vezes esse não vai ser o caso.

Como garantir que estes processos não vão mais voltar?

Simples. Existe uma ferramenta no Windows, chamada de msconfig. Com ela, você pode editar as entradas de programas que carregam automaticamente com a inicialização do Windows. Para acessar a ferramenta, clique em iniciar->executar e digite msconfig. Pressione enter, e vá na útlima aba, Inicializar. Aí constam todos os programas que inicializam automaticamente com o Windows. Localize os processos que acabou de matar. Geralmente eles estão com o mesmo nome, senão, observe que na direita consta também o diretório em que ele se encontra. Observe a linha integralmente, e repare que o nome do arquivo estará no fim da linha. Esse nome é o mesmo nome do processo que você matou. Desmarque toda e qualquer entrada destes processos.

Próximo passo:

Matar só os processos não adianta, temos de apagar também os arquivos!

Lembre-se sempre de anotar aonde esses arquivos residem antes de terminá-los para que você possa eliminá-lo de uma vez por todas de sua máquina. Se ao tentar apagar um arquivo e não conseguir por ele já estar em uso, apague-o usando o Killbox com os parâmetros passados acima.

Certo, matei os processos e apaguei os arquivos. Agora, com o nome dos processos, vou apagar as suas entradas no registro do Windows, caso haja alguma. Clique em iniciar->executar e digite regedit. Esse é o editor de registro do Windows. Aperte a tecla F3 e faça uma busca no registro pelo nome dos processos que finalizou e deletou. Se houver alguma entrada com o nome EXATO daquele processo, exclua.

Após tudo isso, minha máquina pareceu estar limpa. Quando reiniciei o PC percebi que um ícone do spy na bandeja do Windows ainda continuava enchendo o saco. Ora, mas deve haver algum processo por trás daquele ícone! Mas para meu azar, não havia nada a vista nem na lista de serviços dos svchosts. Então, certamente esse tipo de processo tem sua biblioteca carregada como parâmetro para o explorer.exe. E aonde estará essa biblioteca? E como apagar os parâmetros? Dará muito trabalho localizar todas essas informações, então, cliquei no ícone do spy, que estava na bandeja e carregou-se um site, chamado VirusBurst. Então, usando a criatividade, fui no Google e pesquisei pelo VirusBurst e encontrei facilmente uma ferramenta de remoção feita especialmente para ele, chamada SmitFraudFix. Baixei, executei e pronto! Agora sim, tudo eliminado.

Esse meu caso, foi só um exemplo. Na maioria dos casos, somente o passo de eliminar os processos da memória e apagar seus arquivos já resolverá o problema. Mas como sempre existem exceções, demonstrei um caso “dos piores”.

Tenha sempre em mente, que apesar de estar manuseando os processos do seu sitema, você sempre pode deixar escapar algo e ainda, não pode saber se o vírus é vírus, se não rodá-lo. Entradas de cookies infectadas, (geralmente casos insignificantes) e arquivos infectados na pasta temporária da Internet também são muito comuns e você não pode ter controle do que entra e sai. Para isso, preparei algumas dicas, porque tão importante quanto remover um vírus é saber evitá-lo.

Dicas

-Mantenha seu sistema operacional sempre atualizado!

-Desconfie de arquivos executáveis (.exe, .com) de tamanho muito pequenos, algo entre 10 e 100 Kbytes. Tenha certeza se aquele programa que você busca pode ser tão pequeno quanto

-Ao usar programas p2p, como o Kazaa, Shareaza, leve em conta também o item acima. Se você estiver baixando uma música, deve saber que uma música em MP3, WMA ou seja lá o formato, não pode ter tamanho menor que ~500Kbytes, a menos que seja um som curtinho ou um com uma qualidade horrível. A busca por arquivos em redes p2p pode retornar muitos vírus disfarçados. Sempre estes vírus possuem uma parcela de fontes enormes, uma banda altíssima e eleito o melhor entre todos. Tudo isso para atraí-lo.
Observe o screenshot abaixo:

Fiz uma busca por músicas, pelo artista e a busca me retornou uns arquivos estranhos, fazendo mix com o nome que passei como parâmetro da busca e palavras sem sentido, como “realease”, “serial”, “uncensored”, etc. Observe o tamanho desses arquivos, entre 100 e 400 Kbytes. Uma música não pode ter esse tamanho minúsculo!

- Ao receber emails com links, antes de clicar, aponte para o link e observe na barra de status para aonde o link o levará se você clicar. Se no endereço que aparecer, o final (as útimas 4 letras do endereço) for algo com .scr, .exe ou .com pode ter certeza que é vírus, a menos que seja algo que você saiba de quem está vindo.

- Sites de pornografia adoram instalar porcarias nas máquinas. Se você não consegue viver sem tais sites, NUNCA instale nada que o site te pedir. Por isso é importante manter o sistema e o navegador atualizado, assim ele o avisará se algo tentar se auto-instalar sem a sua permissão. Não instale, mesmo se não tiver outro jeito de prosseguir no site! Arranje outro site, ou vá ler um livro!

- Apague regularmente os cookies do seu navegador e os arquivos temporários da Internet. Aqui eu apago toda semana, 1 vez. Para fazer isso, basta ir em opções no menu ferramentas do navegador.

Bem, vou encerrar o tutorial por aqui, mas espero que a discussão comece e que podemos nos ajudar. Existem muitos adeptos ao “auto-clean” que não usam antivírus nem nenhum anti-qualquer coisa. Espero ter a colaboração destes, com dicas, macetes e truques, complementando este tutorial que representa só o básico nessa luta contra as pragas. Qualquer dúvida, postem um screenshot do PE com os processos rodando, e tentarei ajudar!

Publicar SVN Google Code

Enviar SVN
svn import -m "Imob ATS" . https://imobats.googlecode.com/svn/trunk/ --username crsilveira@gmail.com

Remover Pasta Projeto
svn rm https://atsscf.googlecode.com/svn/trunk/ --username crsilveira@gmail.com

Para Pegar a senha:
http://code.google.com/hosting/settings

Para fazer Checkout:
https://myproject.googlecode.com/svn/trunk

Enviando o fonte para o Google(TortoiseSVN):
No Windows Explorer, clica-se com o botão direito na pasta onde está o
código fonte da aplicação e vai na opção TortoiseSVN -> Import…
Abre-se uma tela onde pede para digitar a URL, que é a que fica na aba “Source” no projeto, no meu caso é https://cotacao.googlecode.com/svn/trunk/
Nessa tela tem um campo para digitar uma mensagem, que pode ser “Versão inicial” ou algo do gênero.
Pede login e senha. O login é o nome do Google Account, que também está na aba “Source” e no meu caso é cintra. Para descobrir a senha é só clicar no link googlecode.com password, nessa mesma aba.
Pronto, agora os arquivos estão no repositório.

Como pela opção “Import…” todos os arquivos dentro da pasta são enviados, é interessante verificar antes se não tem “lixo” na pasta, como arquivos temporários ou binários. O repositório de código é para armazenar apenas código!

No Google Codes existem 4 pastas:

branches (galhos): são versões derivadas de outras versões. Pode ser uma versão intermediária, que ainda não está estável. Não é uma cópia física da versão, apenas um “link”.
tags (etiquetas): no Source Safe era chamado de Labels, servem para identificar uma versão. Também não é uma cópia física da versão, apenas um “link”.
trunk (tronco): é a versão principal da aplicação e não deixa de ser um “branch”
wiki: é onde ficam as páginas wiki do site do projeto.
Então após ter subido o código fonte para a pasta trunk, eu criei uma tag para a versão que eu subi, que é a 2.4.1 e o procedimento também é muito simples.

Checkout

No Windows Explorer clicar com o botão direito do mouse em uma pasta e ir
em “SVN Checkout…” e fazer o checkout da pasta trunk do projeto
Clicar novamente na pasta e ir em “TortoiseSVN” -> “Branch/tag…”
Digitar a URL de destino (no meu caso deixei como https://cotacao.googlecode.com/svn/tags/2.4.1/)
Informar o “Create copy in the repository from:”. Como no meu caso é para usar a última versão, eu marquei a opção “Head”
Informar uma mensagem e mandar bala!

quinta-feira, 25 de novembro de 2010

Como instalar e configurar Apache-Tomcat 6 no Debian Lenny com o Apache2

Como instalar e configurar Apache-Tomcat 6 no Debian Lenny com o Apache2

Autor :

http://www.msilva.org/2010/11/como-instalar-e-configurar-apache.html

Após a instalação do Java, iremos editar o arquivo /etc/profile e incluir o caminho do Java para poder ser conhecido pelo ambiente adiconando os seguintes parâmetros;

export PATH

JAVA_HOME="/usr/lib/jvm/java-6-sun/"

export JAVA_HOME

Faça o download do Tomcat no site do apache fundation, estou utilizando a versão 6.0.29;

$wget -c http://ftp.unicamp.br/pub/apache//tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.tar.gz

Instalando o Tomcat

$tar -zxvf apache-tomcat-6.0.29.tar.gz && mv apache-tomcat-6.0.29 /opt/tomcat

Criando o scrip init do Tomcat;

$vim /etc/init.d/tomcat

#!/bin/sh
# Tomcat Init-Script

case $1 in

start)

sh /opt/tomcat/bin/startup.sh

;;

stop)

sh /opt/tomcat/bin/shutdown.sh

;;

restart)

sh /opt/tomcat/bin/shutdown.sh

sh /opt/tomcat/bin/startup.sh

;;

esac

exit 0


Dê permissão 755 ao arquivo e colocaremos ele para executar na inicialização do SO;

$update-rc.d tomcat defaults

Temos que adicionar um usuário para podermos usar o Manager do Tomcat, editaremos o arquivo tomcat-users.xml;

$vim /opt/tomcat/conf/tomcat-users.xml

Antes da chave , iremos informar o usuário e senha de acesso;









Iniciando o Tomcat;

$/etc/init.d/tomcat start

Acesse o tomcat no seu browser e será solicitado o login e senha, informe os mesmo que foi editado no arquivo tomcat-users.xml;

http://SERVERNAME:8080/manager/html

Instalando o Apache2 e os conectores

O Tomcat pode ser usado como um Web Server, mas o Apache é muito mais podereso utilizando os seu módulos. Iremos instalar o apache2 e o módulo que irá realizar a conexão dele com o Tomcat.

$ aptitude install apache2 libapache2-mod-jk

Crie e edite o arquivo workers.properties conforme abaixo:

$ vim /etc/apache2/workers.properties
workers.tomcat_home=/opt/tomcat
workers.java_home=/usr/lib/jvm/java-6-sun
ps=/
worker.list=default
worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1
Configurando o arquivo JK

Crie e edite o arquivo jk.conf conforme abaixo:

$ vim /etc/apache2/conf.d/jk.conf

JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel error

/etc/init.d/apache2 stop
/etc/init.d/tomcat restart
/etc/init.d/apache2 start
Criando um novo Virtual Host
Feito as configurações no Apache, podemos então já realizar o deploy da aplicação Java no Tomcat. Vamos tomar como exemplo uma aplicação de nome "exemplo" onde terá o endereço de virtual host do tipo "exemplo.com.br", ao realizar o deploy através da interface web do Tomcat, ela ficará no diretório /opt/tomcat/webapps, podemos então no diretório do Apache e criar o nosso virtual host.
$ vim /etc/apache2/sites-avaliable/exemplo

JkMount /*.jsp default
DocumentRoot /opt/tomcat/webapps/exemplo
ErrorLog /var//logs/apache2/error.log
CustomLog /var/logs/apache2/access.log common
<directory /opt/tomcat/webapps/exemplo>
Options -Indexes
directory>
Criando o vhost exemplo:
$a2ensite
$ /etc/init.d/apache2 restart
Configurando o vhost no Tomcat
$ vim /opt/tomcat/conf/server.xml
http://www.exemplo.com.br/ –>
unpackWARs=”true” autoDeploy=”true”>
path=”" docBase=”exemplo” debug=”0″ reloadable=”true”/>
directory=”/var/logs/apache2” prefix=”tomcat_access_” suffix=”.log”
pattern=”common” resolveHosts=”false”/>
Feito isso reinicie o Tomcat com o comando /etc/init.d/tomcat restart e pode testar sua aplicação Java através do browser.

terça-feira, 23 de novembro de 2010

Pentaho - Metadata-Editor

Ao publicar um relatório criado em outro servidor estava carregando os dados corretamente mas o css estava buscando da máquina onde o Rel. foi criado. Para corrigir , editei o arquivo /tomcat/webapps/pentaho/WEB-INF/web.xml e alterei onde constava o ip do servidor anterior para o novo.