Conceitos básicos de uma melhor forma de usar o SED

Abaixo, um conteúdo que peguei do site http://sed.sourceforge.net/ que mostra alguns conceitos básicos de uma melhor forma de usar o SED.

PREENCHIMENTO DE ARQUIVOS:

# duplicar o tamanho de um arquivo
sed G

# duplicar o tamanho de um arquivo que jah contém linhas em branco.
# O arquivo de saída deve conter não mais que uma linha branca
# entre linhas de texto
sed ‘/^$/d;G’

# triplicar o tamanho de um arquivo
sed ‘G;G’

# desfazer a duplicação de tamanho (assume que as linhas de numeração par
# estejam em branco)
sed ‘n;d’

# insere uma linha em branco acima de cada linha que contem “regex”
sed ‘/regex/{x;p;x;}’

# insere uma linha em branco abaixo de cada linha que contem “regex”
sed ‘/regex/G’

# insere uma linha em branco acima e abaixo de cada linha que contem “regex”
sed ‘/regex/{x;p;x;G;}’

NUMERACÃO:

# numera cada linha de um arquivo (com alinhamento simples a esquerda). Usar
# uma tabulação em vez do espaço vai preservar as margens. (veja a observação
# sobre o ‘\t’ no final desse arquivo)
sed = arquivo | sed ‘N;s/\n/\t/’

# numera cada linha de um arquivo (números a esquerda, alinhados a direita)
sed = arquivo | sed ‘N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /’

# numera cada linha de um arquivo, mas só imprime os números se a linha não
# estiver em branco
sed ‘/./=’ arquivo | sed ‘/./N; s/\n/ /’

# conta as linhas (emula o “wc -l”)
sed -n ‘$=’

Continuar a Ler Conceitos básicos de uma melhor forma de usar o SED »

Share

Zimbra: Exportando e importando LDIF

Exportando LDAP

$ su – zimbra

$ /opt/zimbra/openldap/sbin/slapcat -F /opt/zimbra/data/ldap/config -b “” -l /tmp/backup-ldap.ldif

$ exit

Importando LDAP

$ su – zimbra
$ zmcontrol stop

$ rm -f data/ldap/hdb/db/__db.* data/ldap/hdb/db/*.bdb data/ldap/hdb/db/alock data/ldap/hdb/logs/*

$/opt/zimbra/openldap/sbin/slapadd -F /opt/zimbra/data/ldap/config -b “” -q -l /SEU_DESTINO/backup-ldap.ldif

$ zmcontrol start

isso basta para sincronizar um servidor zimbra com usuários e senhas, NÃO CAIXAS.

Share
Etiquetas: , , , , , ,
Colocado em Linux OpenSource por Tasca. Comentários desativados

zmbkpose: Script de Backup para Zimbra

Arquivo de Configuração

Criar a pasta /etc/zmbkpose;

mkdir /etc/zmbkpose

vá para a pasta

cd /etc/zmbkpose

crie o arquivo de configurações zmbkpose.conf>

touch zmbkpose.conf

edite-o com o editor de texto de sua preferencia e cole o conteúdo abaixo:

vi zmbkpose.conf

# This file is part of zmbkpose.
#    zmbkopse is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    zmbkopse is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with Foobar.  If not, see <http: www.gnu.org=”" licenses=”">
#
#
# Arquivo de configuração do script de backup para Zimbra Opensource Edition
# Linhas iniciadas com # serao descartadas
# Os valores devem ser preenchido sem espacos, aspas, ou caracteres especiais
#
# Usuario com privilegios de execucao do script e leitura e gravacao no diretorio de trabalho
BACKUPUSER=zimbra
#
# Diretorio de trabalho onde serao criadas as sessoes temporarias e definitivas contendo conteudo e atributos dos usuarios
#       # Conteudo sensivel. O diretório deve ter acesso restrito ao BACKUPUSER
WORKDIR=/backup
#
# Deve ser preenchido com o endereco de e-mail de algum usuario administrador global, possivelmente <a href=”mailto:admin@exemplo.com.br”>admin@exemplo.com.br</a>
# DICA: Caso a conta de administrador seja desconhecida ou inexistente, sera necessario criar uma em linha de comandos no servidor Zimbra
#       # zmprov ca <a href=”mailto:novoadmin@exemplo.com”>novoadmin@exemplo.com</a> “senha”
#       # zmprov ma <a href=”mailto:novoadmin@exemplo.com”>novoadmin@exemplo.com</a> zimbraIsAdminAccount TRUE
ADMINUSER=’admin@dominio.com.br’
#
# Deve ser preenchido com a senha do usuario administrador definido em ADMINUSER
ADMINPASS=’senhadoadminaqui’
#
# Dever ser preenchido com o nome ou endereço IP do servidor LDAP MASTER
LDAPMASTERSERVER=’ldap://host.dominio.com.br:389′
#
# Deve ser preenchido com o valor da chave zimbra_ldap_userdn
# DICA: Para obter esse valor, no servidor Zimbra execute
#       # zmlocalconfig zimbra_ldap_userdn
LDAPZIMBRADN=’uid=zimbra,cn=admins,cn=zimbra’ #conforme acima
#
# Deve ser preenchido com o valor da chave zimbra_ldap_password
# DICA: Para obter esse valor, no servidor Zimbra execute
#       # zmlocalconfig -s zimbra_ldap_password
LDAPZIMBRAPASS=’senhaCapturadaComandoAcima’
#
# Vai indicar a localização do arquivo de log dos backups e restore
LOGFILE=/opt/zimbra/log/backup.log
PARALLEL_SUPPORT=0
MAX_PARALLEL_PROCESS=3
#</http:>

Script de Backup

Coloque este script dentro de /usr/local/sbin/

cd /usr/local/sbin/

Faça do download do script

wget http://www.beersd.com.br/zmbkpose

De permissão de execução ao script:

chmod+x zmbkpose

Criando as Tarefas no Cron – Agendando as tarefas

Devido alguma falha na detecção da variável PATH do usuário zimbra, você precisará usar o conteúdo do PATH do usuário zimbra (dentro do home, .bash_rc) dentro do crontab, conforme eu fiz abaixo.

Adicionar o conteudo do seguinte arquivo ao seu crontab

wget http://www.beersd.com.br/zimbra-cron

Comandos Basicos:

Efetuar Backup Completo: zmbkpose -f
Efetuar Backup Apenas de uma conta: zmbkpose -f usuario@mail.dominio.com.br
Listar os Backups Efetuados: zmbkpose -l
Restaurar Backup Completo: zmbkpose -r nomedobackup
Restaurar Backup Apenas de uma conta: zmbkpose -r usuario@mail.dominio.com.br nomedobackup

Importas Contas: /opt/zimbra/openldap/sbin/slapadd -F /opt/zimbra/data/ldap/config -b “” -q -l /caminho_do_backup/nome_do_backup/usuario@mail.dominio.com.br.ldiff

Share
Etiquetas: , , , , , , , ,
Colocado em Linux OpenSource por Tasca. Comentários desativados

Blacklist e Whitelist no Zimbra

Para quem trabalha com TI todo dia surgem novos desafios, novas solicitações. Ultimamente uma usuária começou me reportar que não estava recebendo alguns e-mails que lhe eram enviados, então, conforme manda os procedimentos foi aberto um chamado para começar o atendimento. Trabalho com dois anti-spam, um em nuvem e também deixo ativado o do ZIMBRA. Após algumas análises foi constatado que a usuária não costumava olhar a pasta SPAM do Zimbra, e que ali estavam os e-mails que ela alegava não receber. Para resolver isso criei uma whitlist com o domínio que estava caindo nos spams.

O Zimbra disponibiliza uma opção para que sejam criadas Blacklist e Whitelist. Primeiro detalhe antes de mostrar como proceder. Whitlist prevalece sobre a Blacklist, então caso tenha bloqueado na Blacklist o dominio gmail.com e liberado na Whitelist o endereço simpsons@gmail.com, os e-mails enviado por simpsons@gmail.com irão ir normalmente para o usuário.

Bem, para criarmos blacklist devemos seguir os passos abaixo:

Acessar como root o servidor onde está instalado o zimbra

Criarmos o arquivo blacklist e o diretório:

# mkdir -p /etc/zimbra
# vi /etc/zimbra/blacklist

Adicionarmos o dominio ou e-mail que desejamos bloquear, nesse exemplo adicionarei o testexpty.com.

# echo "testexpty.com" > /etc/zimbra/blacklist

Após criada a blacklist vamos criar a whitelist, o processo é parecido com o da blacklist, única mudança é o nome do arquivo a ser criado.

# vi /etc/zimbra/whitelist

Os demais passos são iguais.

# echo "beersd.com.br" > /etc/zimbra/whitelist

Agora que temos os dois arquivos criados devemos informar ao anti-spam onde ele deve ir buscar as informações de blacklist e whitelist. Para isso deveremos editar o arquivo amavisd.conf.in seguindo os passos abaixo descritos. Acessar com o usuário zimbra

# su - zimbra

Editar o arquivo amavisd.conf.in

$ vi /opt/zimbra/conf/amavisd.conf.in

Localizar a linha #ENVELOPE SENDER SOFT-WHITELISTING / SOFT-BLACKLISTING e abaixo dela adicionar o seguinte

read_hash (\%whitelist_sender, '/etc/zimbra/whitelist');
read_hash (\%blacklist_sender, '/etc/zimbra/blacklist');

Para as mudanças terem efeito tem que ser reiniciado o serviço amavisd

# zmamavisdctl restart

Pronto está ativado a blacklist e whitelist do Zimbra.

Share
Etiquetas: , , , , , , ,
Colocado em Linux OpenSource por Tasca. Comentários desativados

Montar ISO no FreeBSD

Primeiro você tem que criar um dispositivo virtual, usando este comando:

# mdconfig -a -t vnode -f /path/to/image.iso -u 1

O comando “mdconfig” cria um dispositivo e imprime o nome. Basta acrescentar que a “/dev/” e montar:

# mount -t cd9660 /dev/md1 /media

Para desmontar a imagem, use o comando:

# umount /media

Uma vez montado, você pode desconfigurar o dispositivo com

# mdconfig -d -u 1

 

Share
Etiquetas: , , , , , , , ,
Colocado em FreeBSD por Tasca. Comentários desativados

Erro ao instalar SpamAssassin no FreeBSD 9 com perl5.16

Ao tentar efetuar a instalação do SpamAssassin em um FreeBSD 9 com o perl5.16 deu erro ao tentar instalar o pacote p5-HTML-Tagset-3.20.

Tentei fazer a instalação diretamente do p5-HTML:

# cd /usr/ports/www/p5-HTML-Tagset
# make install

Apresentou o seguinte erro:

pkg-static: lstat(/usr/ports/www/p5-HTML-Tagset/work/stage/usr/local/lib/perl5/site_perl/man/man3/HTML::Tagset.3.gz): No such file or directory
pkg-static: lstat(/usr/ports/www/p5-HTML-Tagset/work/stage/usr/local/lib/perl5/site_perl/HTML/Tagset.pm): No such file or directory
*** [fake-pkg] Error code 74

Stop in /usr/ports/www/p5-HTML-Tagset.

Ao tentar instalar pelo pkg também apresentou erro:

# pkg install p5-HTML-Tagset-3.20
Updating FreeBSD repository catalogue…
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Updating database digests format: 100%
The following 1 packages will be affected (of 0 checked):

New packages to be INSTALLED:
p5-HTML-Tagset: 3.20

The process will require 17 kB more space.
11 kB to be downloaded.

Proceed with this action? [y/N]: y
pkg: http://pkg.freebsd.org/freebsd:9:x86:64/latest/All/p5-HTML-Tagset-3.20.txz: Not Found

Tentei então fazer a instalação através do pacote na internet:

# pkg add http://pkg.freebsd.org/freebsd:9:x86:64/latest/All/p5-HTML-Tagset-3.20_1.txz
Fetching p5-HTML-Tagset-3.20_1.txz: 100%    9 kB  10.2k/s    00:01
pkg: Missing dependency matching Origin: ‘lang/perl5.18′ Version: ’5.18.4_11′

Agora sim me veio o erro que eu esperava, ele precisa do perl5.18 e eu tinha instalado o perl5.16.

Tentei primeiro fazer a instalação do perl5.18:

# cd /usr/ports/lang/perl5.18/
# make install

Ele apresentou um erro informando que já tinha outra versão do perl instalado:

===>  Installing for perl5-5.18.4_11
===>  Checking if perl5 already installed
===>   An older version of perl5 is already installed (perl5-5.16.3_9)
You may wish to “make deinstall” and install this port again
by “make reinstall” to upgrade it properly.
If you really wish to overwrite the old port of perl5
without deleting it first, set the variable “FORCE_PKG_REGISTER”
in your environment or the “make install” command line.
*** [check-already-installed] Error code 1

Stop in /usr/ports/lang/perl5.18.
*** [install] Error code 1

Tentei então remover o perl:

# pkg info |grep perl
perl5-5.16.3_9                 Practical Extraction and Report Language
# pkg remove perl5-5.16.3_9

Mas com isso ele removeria varios pacotes do servidor, opção descartada na hora.

Deveria então atualizar o perl, em vez de desinstalar e instalar a nova versão, para atualizar, vamos usar o comando portmaster, primeiro, devemos instalar ele:

# cd /usr/ports/ports-mgmt/portmaster/
# make install

Agora sim, vamos atualizar o pacote do perl5.16 para o perl5.18:

# portmaster -o lang/perl5.18 lang/perl5.16

Agora podemos instalar o p5-HTML-Tagset-3.2:

# pkg add http://pkg.freebsd.org/freebsd:9:x86:64/latest/All/p5-HTML-Tagset-3.20_1.txz

Com ele instalado, vamos efetuar a instalação do SpamAssassin:

# pkg install spamassassin-3.4.0_17

Mais um erro, ao tentar iniciar o serviço logo após efetuar a configuração do mesmo:

# /usr/local/etc/rc.d/sa-spamd start

Starting spamd.

child process [96031] exited or timed out without signaling production of a PID file: exit 255 at /usr/local/bin/spamd line 2960.
/usr/local/etc/rc.d/sa-spamd: WARNING: failed to start spamd

E ao digitar o sa-update outro erro

# sa-update
Shared object “libiconv.so.2″ not found, required by “gpg”
gpg: process ‘/usr/local/bin/gpg –homedir=’/usr/local/etc/mail/spamassassin/sa-update-keys’ –batch –no-tty –status-fd=1 -q –logger-fd=1 –import’ finished: exit 1

Com a atualização do perl5.16 para o perl5.18 ele não cria automaticamente o atalho da biblioteca libiconv.so, devemos fazer isso manualmente:

ln -s /usr/local/lib/libiconv.so /usr/local/lib/libiconv.so.2

Precisamos também, instalar o modulo DNS do perl:

# cpan install Net:DNS

Agora sim, conseguimos iniciar o serviço do Spamd

#/usr/local/etc/rc.d/sa-spamd start
Starting spamd.

# /usr/local/etc/rc.d/sa-spamd status
spamd is running as pid 559.

Agora, seu SpamAssassin está instalado e pronto para uso.

Share

Backup e Load de Kernel Antigo

Um dica que sempre costumo seguir, é sempre quando for compilar um kernel em uma instalação nova no FreeBSD, é fazer um backup do kernel generico, que você tem a certeza que está funcionando, para caso venha ocorrer algum problema com o kernel novo, possamos subir o kernel generico, como uma opção de recuperação.

Para isso, basta copiarmos sua configuração atual.

# cp -Rp /boot/kernel /boot/kernel.generic

Feito isso, podemos instalar nosso novo Kernel.

Se após o boot do seu novo Kernel, por algum motivo ele não carregar, você deverá pressionar a opção 6 no menu de inicialização do FreeBSD e digitar o seguinte no prompt.

# unload kernel
# load /boot/kernel.generic/kernel
boot

Com isso, estaremos carregando o kernel antigo que fizemos backup e que sabemos que está totalmente funcional.

Caso você não tenha feito o backup do seu kernel generico, podemos utilizar o kernel.old que é o kernel anterior a sua ultima compilação. O FreeBSD sempre faz um backup do ultimo Kernel.

Para carrega-lo no menu de inicialização pressione a opção 6 novamente, no prompt digite.

# unload kernel
# load /boot/kernel.old/kernel
boot

Por hoje é só, lembrando que, sempre é bom ter uma forma de recuperar seu sistema quando acontece alguma falha.

Share

Instalar Zimbra 8.6 no Ubuntu 14.10

Abaixo um breve tutorial passo a passo de como instalar o Zimbra 8 em um Ubuntu 14.10

Download da ultima versão do Zimbra

# wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tg

Descompactar o arquivo baixado

# tar -xzvf zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

Acessar o diretorio extraido

# cd zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116

Primeiramente devemos instalar algumas depedencias

# apt-get install sysstat sqlite3 pax libgmp10 libperl5.18 libaio1 unzip

Agora sim vamos efetuar a instalação

# ./install.sh

Responder as seguintes questoes:

Do you agree with the terms of the software license agreement? [N] y

Select the packages to install

Install zimbra-ldap [Y] y

Install zimbra-logger [Y] y

Install zimbra-mta [Y] y

Install zimbra-dnscache [Y] y

Install zimbra-snmp [Y] y

Install zimbra-store [Y] y

Install zimbra-apache [Y] y

Install zimbra-spell [Y] y

Install zimbra-memcached [Y] y

Install zimbra-proxy [Y] n

The system will be modified.  Continue? [N] y

Change domain name? [Yes] yesCreate domain: [zimbra.beersd.com.br] beersd.com.br

Devemos alterar a senha de admin

Address unconfigured (**) items  (? – help) 7

Select, or ‘r’ for previous menu [r] 4

Password for admin@beersd.com.br (min 6 characters): [OxcbbHyA] senha

Select, or ‘r’ for previous menu [r]

*** CONFIGURATION COMPLETE – press ‘a’ to apply
Select from menu, or press ‘a’ to apply config (? – help) a
Save configuration data to a file? [Yes] yes
Save config in file: [/opt/zimbra/config.7335]
Saving config in /opt/zimbra/config.7335…done.
The system will be modified – continue? [No] yes

Após a instalação, para acessar o painel de administração utilize o seguinte endereço:

https://host.dominio.com.br:7071

e  Webmail:

https://host.dominio.com.br

Nota-se que os acessos ficaram na porta 443 (https), para alterar isso, devemos seguinte o procedimento a seguir:

Acessar o servidor por ssh e entrar com o usuario do Zimbra:

# su – zimbra

O comando para alterar entre https e http é zmtlsctl e tem as seguintes opções:

http: http apenas, para acessar http://host.dominio.com.br
https: acessar com https apenas https://host.dominio.com.br
both: ambos os modos, usuário pode acessar por http ou https
redirect: ao acessar por http ele será redirecionado para https

# zmtlsctl [opcao]

Após isso, deverá dar um stop no Zimbra e depois um Start:

# zmcontrol stop

# zmcontrol start

Pronto, seu Zimbra está instalado e pronto para uso.

Share
Etiquetas: , , , , , , , , , , , , , , , , , ,
Colocado em Linux OpenSource por Tasca. Comentários desativados

LibreOffice para Android

LibreOffice_android

A The Document Foundation em parceria com a Collabora acaba de liberar para o Android, uma versão do LibreOffice.

Se tratando de um aplicativo beta, a versão para Android chama-se LibreOffice Viewer for Android, que por enquanto, tem apenas a função de visualizar documentos, não permitindo sua edição, entretanto, mesmo não podendo editar o documento, ele traz um grande diferencial para seus concorrentes, ele lê um número maior de extensões que seus concorrentes.

Gostou da ideia de ter o LibreOffice em seu Android ? Faça o download clicando aqui.

Share
Etiquetas: , , , , , , , , , , , , , ,
Colocado em Linux OpenSource por Tasca. Comentários desativados

PC-BSD 10.1.1-Release

A nova versão do PC-BSD saiu. Existem muitos recursos aprimorados, segue abaixo as notas da nova versão!

A equipe de PC-BSD tem o prazer de anunciar a disponibilidade do 10.1.1-RELEASE!

As alterações desde RC2
—————

* Corrigido um problema com auto-login no PCDM e configuração de localidade incorreta
* Corrigido um bug no user-gerente permitindo a exclusão do usuário atual
* Atualizado GRUB para incluir arquivos i18n
* Corrigido um problema com opções GPT inválidos sendo exibido quando
instalando em uma partição específica
* GRUB Atualizado para melhor outros-drives de disco e auto-detectar a chainload via
o menu de inicialização
* Vários bugs corrigidos em montagem de mídia externa

As alterações desde RC1
—————

* Desabilitados alguns rótulos DiskID / gptid de instalador
* Manual atualizado com adições para 10.1.1
* Correções para as configurações padrão de desktop Lumina
* Desabilitado a funcionalidade de bloqueio em AppCafe
* Corrigido um problema com módulos VirtualBox não sendo carregado após a instalação
* Atualizado algumas páginas do manual para comandos pbi_ *
* Correções de como discos de memórias ISO são montados via Mount Tray
* Correções para montar a bandeja de montagem de partições exFAT com acesso de escrita
* Corrigido um problema com a mídia UEFI USB não carregar corretamente o GRUB

http://www.pcbsd.org/br/download.html

Relatando erros

—————
Encontrou um bug em 10.1.1? Por favor, reporte-o (com o máximo de detalhes
possível) para o nosso banco de dados de bugs.

https://bugs.pcbsd.org

Share
Etiquetas: , , , , ,
Colocado em FreeBSD por Tasca. Comentários desativados
Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: