Mostrando postagens com marcador sistema. Mostrar todas as postagens
Mostrando postagens com marcador sistema. Mostrar todas as postagens

OpenLDAP: Program version 5.1 doesn't match environment version 4.8

O problema:
Ao atualizar um servidor Debian Squeeze (6.0) para a nova versão stable Wheezy (7.0), tudo ocorreu normalmente (como de costume) exceto pelo serviço OpenLDAP. O serviço simplesmente não subia, e não exibia nenhum erro. Tentei executar um slapcat para exportar a base e subí-la novamente. O comando slapcat reportava o seguinte erro (posteriormente vi que o erro também aparece no arquivo /var/log/syslog):
Program version 5.1 doesn't match environment version 4.8
Pesquisando na web, cheguei a essa página do próprio projeto Debian, que sugere a seguinte solução:
  1. Instalar o pacote db4.8-util
  2. Trocar para o diretório onde ficam as bases de dados do LDAP.
  3. Executar alguns comandos para atualizar a versão da base de dados.
Comandos:
Obs: Recomendo que seja feito antes um backup de todo o diretório /var/lib/ldap para outro diretório, por segurança.
apt-get install db4.8-util
cd /var/lib/ldap
db4.8_checkpoint -1
db4.8_recover
Após executar os comandos, verifique (ls -l) se todos os arquivos do diretório pertencem ao usuário que executa o servidor slapd (openldap, no Debian). Caso algum arquivo não pertença a esse usuário, corrija as permissões com o seguinte comando (ainda no diretório /var/lib/ldap):
chown openldap:openldap *
Após isso, basta iniciar o serviço:
/etc/init.d/slapd start

Seções do Manual Linux

O manual online do Linux (que pode ser acessado através do comando man) tem seu conteúdo separado em categorias ou seções , conforme abaixo:

Obs: talvez nem todas as páginas de manual citadas na coluna de exemplos estejam presentes na sua máquina!

SeçãoNomeDescriçãoExemplos
1Comandos de UsuárioComandos disponíveis a todos os usuáriosls,bash,vim
2Chamadas de SistemaRotinas do Kernel. Normalmente utilizadas por programas, as páginas são de pouca utilidade para usuários comunschdir,chown
3Funções de BibliotecasContém a documentação para uso das bibliotecas do sistema. Normalmente é interessante apenas a programadoresalloc,getloadavg
4Arquivos EspeciaisDocumentação dos arquivos de dispositivos do diretório /devhda,sda,zero,radeon
5Formatos de ArquivosContém a descrição do formato de arquivos do sistemapasswd,shadow,group,fstab
6JogosJogos e comandos divertidosfortune,rafkill,0verkill
7Convenções e MiscelâniaDiversos assuntos, protocolos, etcggz,icmp,irda
8Administração e Comandos PrivilegiadosComandos que necessitam de privilégios especiais (root) para serem executados.iptables,fdisk,mkfs


Comprimindo os Logs do JBOSS sem logrotate

Administro alguns servidores JBOSS que realizam o rotacionamento de logs sozinhos, porém eles não fazem a compressão dos arquivos de log. Como o próprio JBOSS cuida do rotacionamento, não encontrei um método de fazer o tratamento através do logrotate, como é feito normalmente. Ao invés disso, optei simplesmente por comprimir os arquivos.

Crie um arquivo com um nome sugestivo (ex: comprime_logs_jboss) dentro do diretório "/etc/cron.daily" com o seguinte conteúdo:


#!/bin/bash
#Fabiano Pires
#Caminho com os arquivos de log do JBOSS
CAMINHO="/opt/jboss-GA/server/default/log"

# Comprime arquivos server.log.*, exceto os que possuem a extensao ".gz"
find ${CAMINHO} \( -name 'server.log.*' -a -not -name '*.gz' \) | xargs gzip -9

Esse comando find enconrtra todos os arquivos server.log rotacionados (os meus ficam no padrão server.log.ANO-MES-DIA (ex: server.log.2011-11-29), exceto os que possuem a extensão ".gz" (que já foram comprimidos) e os envia para compressão com o comando gzip.

Ajuste a variável CAMINHO para apontar para o local onde ficam os arquivos de log do seu JBOSS. E não se esqueça de tornar o arquivo executável, com o comando chmod a+x comprime_logs_jboss.