quinta-feira, 28 de março de 2013

Como Limpar Cache do Putty

Como limpar o cache do putty e atualizar as 'fingerprints'



Para todos aqueles que precisam limpar o cache do Putty de impressões digitais (fingerprints) de host (Windows) para desenvolvimento e teste, aqui está a resposta:

1. Abra o registro (regedit)
2. Vá para HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Lá você deve ver o cache Putty de chaves de host.
A coluna 'Nome' diz que chave é para qual servidor.
Por exemplo, ele vai ter o formato de <algo> @ <port>: <host> [RSA2 @ 22:172.16.117.159]

3. Excluir as linhas que você precisa e pronto!

Isso é tudo...

terça-feira, 26 de março de 2013

Instalando Fontes True Type no CentOs 6

Instalando Fonts TrueType no centOs 6


msttcorefonts é uma maneira de obter as fontes TrueType da Microsoft no Linux. No entanto, a liberação da versão 6 do Red Hat Enterprise Linux não inclui mais um pacote pré-requisito de msttcorefonts, nomeadamente chkfontpath, que, por sua vez, depende da fonte servidor pacote xfs.

A última versão do msttcorefonts no sourceforge não é adequado para isso, então, enquanto isso, podemos corrigir o arquivo de especificação e construí-lo nós mesmos.

1) Baixe o arquivo de especificações de http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec

2) corrigir o arquivo spec. Crie um arquivo chamado msttcorefonts.rhel6.patch, contendo o seguinte:

--- msttcorefonts-2.0-1.spec 2011-09-05 11:09:57.206756336 +0100
+++ msttcorefonts-2.0-1.1.spec 2011-09-05 11:23:56.925761649 +0100
@@ -19,8 +19,8 @@
 BuildPrereq: %{ttmkfdir}
 BuildPrereq: wget
 BuildPrereq: cabextract
-Prereq: /usr/sbin/chkfontpath
-Packager: Noa Resare 
+#Prereq: /usr/sbin/chkfontpath
+#Packager: Noa Resare 
 
 %description
 The TrueType core fonts for the web that was once available from
@@ -152,7 +152,7 @@
 %post
 if test $1 -eq 1
 then
- /usr/sbin/chkfontpath --add %{fontdir}
+ ln -s /usr/share/fonts/msttcorefonts/ /etc/X11/fontpath.d/msttcorefonts
 fi
 # something has probably changed, update the font-config cache
 if test -x /usr/bin/fc-cache
@@ -163,7 +163,7 @@
 %preun
 if test $1 -eq 0
 then
- /usr/sbin/chkfontpath --remove %{fontdir}
+ /bin/rm -f /etc/X11/fontpath.d/msttcorefonts
 fi
 
 %files

3) corrigir o arquivo de especificações, executando o seguinte comando no mesmo diretório do arquivo de especificação.
patch 

Inspecionar visualmente o arquivo de especificação resultante para verificar se ele não exige mais chkfontpath.
4) Reconstruir o pacote rpm usando o arquivo de especificação do novo
rpmbuild-bb msttcorefonts-2.0-1.spec

5) Finalmente, copie o RPM resultante para seu repositório local, ou instalar localmente com
yum localinstall msttcorefonts-2.0-1.noarch.rpm

quarta-feira, 6 de junho de 2012

Instalando JDK Java da Oracle no Ubuntu 12.94


Instalando JDK Java da Oracle no Ubuntu 12.94  (Precise Pangolin)

Objetivos:
  • Instalar  a Java JDK no Ubuntu 12.04 (Precise Pangolin)
To get started, download Java JDK package from here.
When prompted with the screen below, choose to save the file.

jdk_precise

Depois de salvar, extraia a package baixada, rodando o comando abaixo. O comando assume que o seu arquivo foi baixado na pasta Downloas.
tar -xvf ~/Downloads/jdk-7u3-linux-i586.tar.gz

jdk_precise_1

Após, crie uma pasta para a JDK, com o seguinte comando.
sudo mkdir -p /usr/lib/jvm/jdk1.7.0 

jdk_precise_2

Então mova todos os arquivos e pastas da JDK, para a nova localização, conform mostrado.
sudo mv jdk1.7.0_03/* /usr/lib/jvm/jdk1.7.0/

jdk_precise_3

Após, copie e cole cada comando, sendo um de cada vez, conforme mostrado abaixo, dando um enter após cada comando.
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1 
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1

Depoism crie uma pasta para os plugins do Mozilla, no seu diretorio home.
mkdir ~/.mozilla/plugins/

jdk_precise_7

Finalmente, crie um link simbólico, para a sua pasta de plugins do Mozilla. Não esqueça de substituir no comando o i386, por amod64 se seu Sistema Operacional for 64 bits
ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

jdk_precise_8
 E é isso, sua JDK Java esta instalada.

segunda-feira, 4 de junho de 2012

Paginator com Zend e Doctrine

Zend_Paginator e Doctrine 2


Para quem gosta de trabalhar com o Zend, mas usa o Doctrine 2 como ORM, aqui vai um modo fácil de implementar um Paginador, usando o Zend_Paginator com o Doctrine.


use Doctrine\ORM\Tools\Pagination as Paginator; // goes at top of file
SomeController::someAction() {
 $dql = "SELECT s, c FROM Square\Entity\StampItem s JOIN s.country c ".' ORDER BY '.  $orderBy . ' ' . $dir;

 $query = $this->getEntityManager()->createQuery($dql);
 $d2_paginator = new Paginator($query); \\

 $d2_paginator_iter = $d2_paginator->getIterator(); // returns \ArrayIterator object

 $adapter =  new \Zend_Paginator_Adapter_Iterator($d2_paginator_iter);

 $zend_paginator = new \Zend_Paginator($adapter);          

 $zend_paginator->setItemCountPerPage($perPage)
            ->setCurrentPageNumber($current_page);

 $this->view->paginator = $zend_paginator; //Then in your view, use it just like your currently use     
}

terça-feira, 15 de maio de 2012

Servidor Git pessoal com gitolite

Usem o Git, vale a pena. Usem o Github quando puderem, também vale muito a pena. Mas as vezes precisamos de um repositório mais privado, e não estamos afim de pagar para o github (embora vale a pena!) já que temos servidores sobrando.
Entra o gitolite, que permite fácil configuração multiusuário para um repositório Git.
Eis como proceder: Primeiro copie sua chave pública para o servidor (a mesma do github, por exemplo):
$ scp ~/.ssh/id_rsa.pub user@servidor:~/
E então faça ssh para o servidor e se torne root, para seguir os seguintes passos:
# cd
# aptitude install git
# git clone git://github.com/sitaramc/gitolite gitolite-source
# cd gitolite-source
# mkdir -p /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks
# src/gl-system-install /usr/local/bin /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks
# useradd git -d /home/git -g users -m -s /bin/bash
# su - git
$ gl-setup /home/user/id_rsa.pub
Atenção: assumi que seu usuário padrão no servidor é user, se não for troque as ocorrências. Pronto assim temos o básico pronto, agora sobre operação geral.
Você pode configurar uma interface de consulta básica na web usando o próprio git, ainda no user git faça:
$ cd repositories/testing.git
$ git instaweb -d webrick -p 8081
Agora pode acessar seu servidor na porta 8081 para navegar nos projetos. Não precisamos mais estar no servidor para os próximos passos.
Então vamos criar um novo repo e adcionar usuários, da sua maquina:
$ git clone git@servidor:gitolite-admin.git
$ cd gitolite-admin
Nessa pasta edite o arquivo conf/gitollite.conf, nessa sintaxe:
repo nome-do-repositorio
  RW+ = user1 user2 user3
Sendo user1 user2 e user3 os usuários com acesso para escrita. O repositório será criado vazio e e para liberar os usuários basta copiar as chaves publicas para a pasta “keydir”, no formato “user1.pub” e etc. Agora envie as alterações.
$ git commit -a -m 'adionado repositorio nome-do-repositorio'
$ git push

segunda-feira, 14 de maio de 2012

could not open file "pg_clog/ windows e linux


 could not open file "pg_clog/ windows

 

Sintomas

Algumas vezes os arquivos de log das transações podem estar corrompidos por uma queda do servidor, falha de energia entre outros.Neste caso, o servidor vai dar uma mensagem parecida com a listada abaixo

hsphere=# select * from TABLE;
ERROR:  could not access status of transaction 1918986094
DETAIL:  could not open file "/var/lib/pgsql/data/pg_clog/0726": No such file or directory




Solução

O Arquivo necessário deve ser re-criado na mão com os direitos corretos
su - postgres
dd if=/dev/zero of=/var/lib/pgsql/data/pg_clog/0726 bs=256k count=1

Ou ainda como uma solução alternativa, copie um dos arquivos existentes na pasta pg_clog com o nome do arquivo necessário.