segunda-feira, 13 de junho de 2011

Criando um repositório local de pacotes para Debian ou Ubuntu

Criando um repositório local de pacotes para Debian ou Ubuntu


Ter servidores e desktops em Linux apresenta muitas vantagens em sua rede como estabilidade, segurança, e a capacidade de total customização do ambiente. Mas nem sempre é fácil manter esse parque de máquinas atualizado, ter um repositório próprio é uma ótima opção para facilitar atualizações e instalações de ambientes para testes.


Tudo que precisamos neste caso é uma máquina Debian ou Ubuntu com um servidor Web instalado. Isto não será coberto neste post, apenas a configuração dos repositórios.
Primeiro instale o pacote debmirror, que utiliza o Rsync como método de sincronia. Assim depois de instalado e sincronizado o repositório o Rsync irá apenas fazer download dos arquivos que não existem no servidor, assim poucos arquivos serão baixados para atualizar o servidor.
Instalemos o programa:
# apt-get install debmirror rsync
Para facilitar a configuração do repositório iremos criar um script para ser agendado para atualização constante. Nos arquivos abaixo, antes das opções que são palavras ( como host por exemplo) usaremos dois sinais de menos ( – ), o wordpress costuma mudar para travessão depois da edição.
# vi /usr/local/bin/mirror-debian.sh
#!/bin/bash
# Repositorio de onde serão baixados os pacotes
repo=ftp.br.debian.org
# Lugar do repositório onde estão os pacotes
root=:debian
# Onde na máquina local serao baixados os pacotes
localdir=/var/www/debian/
# Versoes do Debian
dists=stable
# Seções de Software utilizados
sections=main,contrib,non-free
# Arquitetura, 32bits(i386), 64bits(amd64)
arch=i386,amd64
# Parametros de configuração do Debmirror (Apenas stable, utilizando o Rsync, ignorando o arquivo Release.gpg e não baixando pacotes de código fonte)
defopt="-v -p –arch=$arch –host=$repo –root=$root –section=$sections –dist=$dists -e rsync –ignore-release-gpg –postcleanup –getcontents –nosource"
# Linha que executa o Debmirror
echo -e "\n Criando mirror de Debian \n"
debmirror $defopt $localdir
####################################
Agora vamos criar um script para o repositório do Ubuntu:
# vi /usr/local/bin/mirror-ubuntu.sh
#!/bin/bash
# Repositorio de onde serão baixados os pacotes
repo=us.archive.ubuntu.com
# Lugar do repositório onde estão os pacotes
root=:ubuntu
# Onde na máquina local serao baixados os pacotes
localdir=/var/www/ubuntu/
# Versoes do Ubuntu
dists=maverick
# Seções de Software utilizados
sections=main,restricted,universe,multiverse
# Arquitetura, 32bits(i386), 64bits(amd64)
arch=i386,amd64
# Parametros de configuração do Debmirror (Apenas Maverick, utilizando o Rsync, ignorando o arquivo Release.gpg e não baixando pacotes de código fonte)
defopt="-v -p –arch=$arch –host=$repo –root=$root –section=$sections –dist=$dists -e rsync –ignore-release-gpg –postcleanup –getcontents –nosource"
# Linha que executa o Debmirror
echo -e "\n Criando mirror de Ubuntu \n"
debmirror $defopt $localdir
####################################
Após criar os arquivos vamos dar permissão de execução aos scripts:
# chmod -v 755 /usr/local/bin/mirror-*
Para testar basta executar manualmente os comandos:
# mirror-debian.sh
Ou
# mirror-ubuntu.sh
Lembrando que os repositórios terão todos os pacotes disponíveis das distribuições, por isso o download inicial de cada um será de mais de 40 GB, porém depois de sincronizados os downloads serão muito, mas muito menores.
Segue abaixo um screenshot de um repositório de Ubuntu sendo sincronizado com este script de Debmirror

Faça o agendamento dos scripts na crontab do seu sistema, aguarde o download ser finalizado (vai levar um bom tempo dependendo da sua conexão ;-p) e basta utilizar seus repositórios em seus clientes.
Supondo que o IP do Servidor Web seja 192.168.1.200, nos clientes Debian colocaremos a seguinte linha na sources.list:
# vi /etc/apt/sources.list
deb http://192.168.1.200/debian stable main contrib non-free
########################
Nos clientes Ubuntu colocaremos a seguinte linha:
deb http://192.168.1.200/ubuntu maverick main restricted universe multiverse
########################
Atualize seus clientes com:
# apt-get update
Para testar faça:
# apt-get install cmatrix

domingo, 22 de maio de 2011

Recuperar arquivo deletado no pendriver pelo Linux (Comando: dd e foremost)

Cria a imagem do dispositivo

Para criar a imagem pelo terminal, segue o comando:

dd if=/dev/sdb of=/tmp/pendrive.iso conv=noerror,sync

onde

  • /dev/sdb é o dispositivo para recuperar
  • /tmp/pendrive.iso é o arquivo que vamos criar a partir do conteúdo do pendriver
  • conv=noerror,sync parâmetro que indica ao comando dd que ignore os erros e siga gerando a imagem do dispositivo.

Recuperando arquivo da imagem gerada

Uma vez criada a imagem pelo passo anterior, execute o comando:

foremost -v -i /tmp/pendrive.iso

Após o término, verifique em /output a saída com os arquivos encontrados.

sexta-feira, 20 de maio de 2011

Backup usando RSYNC


Backup usando RSYNC

1 - Mantendo a Imagem do Backup idêntica a origem

Um backup feito com rsync vai ser feito de forma incremental. Porém se o usuário renomear um arquivo, apagar ou mover da origem (Por exemplo da pasta Meus Documentos) o rsync irá copiá-lo novamente. E irá ficar um fantasma no destino, ou seja. Se o usuário apagar alguns arquivo, eles continuaram no backup e o efeito colateral disso é que o backup irá crescer sem parar.
A idéia é fazer o seguinte, quando o usuário apagar um arquivo, o arquivo deve ser apagado do backup também.
A opção do rsync que faz isso é

--delete

Então a linha Correta para o backup da pasta meus documentos do exemplo anterior seria:

rsync -av --recursive --delete /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

2 - Evitando backup de alguns arquivos.

Você não deseja detonar seu espaço em disco com as músicas e filmes do seu usuário não é? Você pode dizer ao rsync para evitar alguns tipos de arquivos, bastando para isso usar a seguinte opção:

--exclude="O que se quer evitar"

Exemplo:

Vou evitar que vá para o backup os seguintes arquivos:

Arquivos de música (MP3, OGG, WAV, WMA...)
Arquivos de Filme (AVI, MPEG, MPG, FLV, MP4, WMV, AMV ...)
Programas e arquivos temporários (EXE, COM, TMP)
Fotos e imagens (JPG, JPEG, BMP ...)

Basta você separar com espaço e colocar quantas excessões quiser. E ainda pode utilizar coringas.
Por exemplo:

--exclude=*.jpg --exclude=*.avi --exclude=*.mp3 ...

quarta-feira, 11 de maio de 2011

Instalar biblioteca libgtk-1.2.so.0 no linux

Instalar biblioteca libgtk-1.2.so.0 no linux


1. Open System >> Administration >> Synaptic Package Manager
2. Go to Settings >> Repositories
3. On the Other Software tab, click Add.
4. Enter the following:
Code:
deb http://archive.ubuntu.com/ubuntu jaunty universe
5. Close Synaptic

(if you don't have synaptic (i.e. you don't have the desktop), you can modify /etc/apt/sources.list manually in a text editor. Just add the deb line to the bottom and save.)

Now it should be smooth sailing.
Code:
sudo apt-get update sudo apt-get install libgtk1.2


quarta-feira, 4 de maio de 2011

Conexões SSH sem senha fácil e descomplicado

Chaves públicas/privadas, o que são e para que servem?

São um par de chaves digitas que juntas fazem uma verificação de autenticidade das informações.

Para maiores informações visite o link:
O par de chaves é gerado no cliente.

A chave Privada não deve ser divulgada em hipótese nenhuma e a chave Pública pode e deve ser divulgada.

Nota: Este procedimento é voltado inteiramente para conexões SSH (existem outras aplicações de chaves Públicas/Privadas).

Gerando o par de chaves no cliente

No computador cliente execute o seguinte comando:

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key
(/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in
/root/.ssh/id_rsa.
Your public key has been saved in
/root/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

Quando perguntado para entrar com uma "passphrase", apenas tecle "Enter" duas vezes para que fique em branco, caso contrário esta frase precisará ser digitada posteriormente.

Agora as duas chaves foram geradas.

A chave Privada está em "/root/.ssh/id_rsa" e a Pública em "/root/.ssh/id_rsa.pub".



Configurando o servidor

Para que seja possível uma conexão SSH sem senha entre cliente e servidor, é preciso divulgar para o servidor a chave pública gerada pelo cliente.

É possível fazer esta cópia remotamente executando os seguintes comandos:

# scp /root/.ssh/id_rsa.pub root@servidor:/root/
(digitar senha)
# ssh root@servidor
(digitar senha)
# cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

No exemplo acima foi realizada a cópia do arquivo "id_rsa.pub" do cliente para o servidor, depois no servidor o conteúdo do arquivo "id_rsa.pub" foi inserido dentro do arquivo "authorized_keys".

Caso o diretório "/root/.ssh" não exista, é preciso criá-lo no servidor.

É importante que a chave pública (id_rsa.pub) seja adicionada (usando o sinal de maior maior ">>") dentro do arquivo "authorized_keys", pois podem haver outros clientes registrados neste mesmo arquivo.

Agora as conexões SSH iniciadas pelo cliente para o servidor serão efetuadas sem a necessidade de digitar a senha.

terça-feira, 19 de abril de 2011

How to increase Openfire 3.6.4 Java Memory


windows server 2008

 

go to

 

C:\Program Files\Openfire\bin  (openfire path)

 

open three files using notepad
openfire.vmoptions
openfired.vmoptions
openfire-service.vmoptions

 

and put this

 

-Xms265m
-Xmx512m

 

 

where 265 mega will be minimum memory for openfire
and 512 mega will be maximum memory for openfire

 

 

 

you can change this values as you need

 

then restart openfire and check the memory

 

Note:
don't increse memory more than RAM memory