Archive for março \25\UTC 2015|Monthly archive page

[CC] Ajustando encondig para pg_dumpall

Hoje um cliente me relatou que o backup lógico do seu banco PostgreSQL havia parado com a seguinte mensagem:

pg_dump: Error message from server: ERROR:  character 0xe28093 of
encoding "UTF8" has no equivalent in "LATIN1"

Descobri [1] que seria necessário ajustar a configuração de enconding do client do PostgreSQL. Descobri também que o comando “pg_dump” oferece uma opção para definir o conjunto de caracteres correto (“–encoding=UTF8”, no caso em específico).

No entanto, como eu utilizo um backup completo do banco, esta opção não me servia, já que o comando “pg_dumpall” não oferece suporte para este parâmetro. E foi no manual do “pg_dump” que encontrei minha solução: antes de exportar o banco, basta configurar a variável PGCLIENTENCODING! Segue o exemplo:

export PGCLIENTENCODING=UTF8
pg_dumpall ...

Referências:

[1] http://stackoverflow.com/questions/14525505/postgres-issue-encoding-utf8-has-no-equivalent-in-encoding-latin1

Anúncios

Samba 4 e compartilhamento público (“security=share”)

Venho relatando aqui no blog os ajustes de serviços e configurações necessários em função da nova versão 7 do RedHat (e similares). Mais detalhes podem ser encontrados na parte 1 e parte 2.

Um dos serviços que precisei configurar e que também sofreu alteração, foi o compartilhamento de arquivos via protocolo SMB, feito com o nosso amigo Samba. Embora a nova configuração que precisei fazer tenha sido em função da versão 7, esta mudança ocorreu com a versão 4 do Samba, estando assim disponível em outras distribuições atuais.

Precisei fazer um compartilhamento de arquivos público, sem restrições de acessos nem autenticação de usuários. Em versões anteriores do Samba, isto era feito através da seguinte configuração (no smb.conf):

security = share

Usei a mesma diretiva, ajustei as demais configurações que eu precisava e fui rodar um testparm (para verificar se estava tudo correto). Para minha surpresa o teste acusou:

WARNING: The security=share option is deprecated

Fui então pesquisar o que poderia estar errado, pois meu compartilhamento não estava funcional. Em [1] encontrei a nova versão de  configuração para esta versão do Samba.

Mesmo na versão 3.6 do Samba que está em meu computador pessoal, este aviso já aparece. Não consegui identificar a partir de qual versão ocorreu esta mudança.

Em suma, as configurações ficam assim:

[global]
# (...)
security = user
map to guest = Bad User
guest ok = yes

Referências:

[1] Set up Samba without using Deprecated “share” Security Setting – https://vicidi.wordpress.com/2012/01/23/set-up-samba-without-using-deprecated-share-security-setting/

[Resolvido!] HAVP – Could not fork daemon

Esta semana eu estava implementando uma necessidade nova, solicitada por um cliente e precisei reproduzir o ambiente dele em uma máquina virtual para testes. Assim, instalei um Slackware mínimo, Clamav, HAVP e um Squid para criar um servidor proxy com análise de vírus do conteúdo.

Não entrarei em detalhes sobre esta configuração pois existem diversos tutoriais a respeito. O próprio HAVP oferece uma documentação detalhada sobre o assunto.

No entanto, ao tentar iniciar o serviço do HAVP, eu me deparava com o seguinte erro:

Starting HAVP Version: 0.92
Could not fork daemon
Exiting..

Infelizmente eu não encontrava detalhes suficientes para decifrar o mistério. Todos os fóruns e soluções que encontrei apontavam para o caminho de conflito de portas, o que não era o meu caso.

Em geral, eu não uso o Clamav como daemon, mas resolvi iniciá-lo neste formato para traçar um caminho diferente. Eis então que a “luz se fez”!!! Através do log do Clamav encontrei uma esperança na seguinte mensagem:

ERROR: daemonize() failed: Cannot allocate memory

Como eu tinha montado uma máquina virtual modesta, afinal era apenas para um teste local, aloquei apenas 512 MB de RAM. Infelizmente, como vim a descobrir, não era o suficiente para minhas necessidades.

Desliguei a máquina, reservei 1 GB de RAM, inicializei novamente o servidor virtual e voilà, o HAVP inicializou sem problemas!

Espero que este pequeno relato auxilie mais alguém, pois acabei dispendendo várias horas até encontrar esta solução!