domingo, 22 de abril de 2012

Instalando Bacula com MariaDB no Debian Squeeze

Bom vamos efetuar a instalação do Bacula com Base de Dados em MariaDB

1º vamos instalar o MariaDB

Para isso adicionar no sources list os sources da última versão 5.5 do MariaDB

#vim /etc/apt/sources.list

deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian squeeze main
deb-src http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian squeeze main



Ok salva e sai do arquivo

Agora use o comando apt-get update para atualizar
# apt-get update

Ele irá informar um erro sobre Chave Pública , mas isso podemos ignorar sem problemas
pois não interfere na instalação do MariaDB

Lendo listas de pacotes... Pronto
W: Erro GPG: http://ftp.osuosl.org squeeze Release: As assinaturas a seguir não puderam ser verificadas devido à chave pública não estar disponível: NO_PUBKEY CBCB082A1BB943DB


Bom Após vamos Verificar nos repositórios o mariadb

# apt-cache search mariadb*
libmariadbclient-dev - MariaDB database development files
libmariadbclient18 - MariaDB database client library
libmariadbd-dev - MariaDB embedded database development files
libmysqlclient18 - Virtual package to satisfy external depends
mariadb-client - MariaDB database client (metapackage depending on the latest version)
mariadb-client-5.5 - MariaDB database client binaries
mariadb-client-core-5.5 - MariaDB database core client binaries
mariadb-common - MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
mariadb-server - MariaDB database server (metapackage depending on the latest version)
mariadb-server-5.5 - MariaDB database server binaries
mariadb-server-core-5.5 - MariaDB database core server files
mariadb-test - MariaDB database regression test suite (metapackage depending on the latest version)
mariadb-test-5.5 - MariaDB database regression test suite
mysql-common - MariaDB database common files (e.g. /etc/mysql/my.cnf)



Bom Agora vamos efetuar a instalação do mariadb
# apt-get install mariadb*

Durante a instalação irá solicitar a senha do mariadb



e Solicita a confirmação da senha


Após a instalação agora vamos acessar o nosso banco de dados
como o MariaDB é um fork do mysql , até os comando são os mesmos
e para acessar é a mesma coisa o mesmo comando

#mysql -u root -p


Beleza , agora vamos a instalação do Bacula

Nesse Caso estamos usando a versão 5.2.6

#wget http://downloads.sourceforge.net/project/bacula/bacula/5.2.6/bacula-5.2.6.tar.gz


bom agora vamos descompactar e instalar

# tar -zxvf bacula-5.2.6.tar.gz

# cd bacula-5.2.6


# ./configure –with-mysql


#make


#make install

O Bacula já compilado e instalado e agora vamos criar o banco no MariaDB

#cd /etc/bacula

# ./create_bacula_database -u root -p

Creating mysql database
Enter password:
Creation of bacula database succeeded.


# ./make_bacula_tables -u root -p
Making mysql tables
Enter password:
Creation of Bacula MySQL tables succeeded.


# ./grant_bacula_privileges -u root -p
Privileges for user bacula granted on database bacula.


Pronto o Bacula esta instalando com o Base de Dados no MariaDB agora a configuração do Bacula
fica a sua necessidade

segunda-feira, 9 de abril de 2012

Instalando Bacula no Debian 6

Bom, vamos direto ao que interessa.

Como vamos compilar a última versão do Bacula, vamos instalar o "build-essential":

# apt-get install build-essential vim

Agora vamos instalar o MySQL:

# apt-get install mysql-client mysql-common mysql-server-5.1 mysql-server-core-5.1 libmysqld-dev

Baixe a ultima versão do Bacula (nesse caso, é 5.2.6):

# wget http://downloads.sourceforge.net/project/bacula/bacula/5.2.6/bacula-5.2.6.tar.gz

- Vamos descompactar e instalar o Bacula

Para descompactar:

# tar -zxvf bacula-5.2.6.tar.gz

Use o comando abaixo, para verificar os parâmetros:

# ./configure --help

Como estamos usando o MySQL como banco de dados, vamos usar assim:

# ./configure --with-mysql
# make
# make install

Agora, vamos ajustar o serviço do Bacula. Copie o arquivo:

# cp -av /etc/bacula/bacula /etc/init.d/

E vamos ver se está OK:

# invoke-rc.d bacula status

bacula-sd is stopped
bacula-fd is stopped
bacula-dir is stopped


Pronto, o Bacula está instalado.

terça-feira, 13 de março de 2012

Man Pages Coloridas no Debian 6

Um Dica rápida para quem quer deixar a sua manpage colorida no debian
Bom vamos lá

1º baixe o most

# apt-get install most

como mostra a figura abaixo:




Após, vamos adicionar no .bashrc

# vim /root/.bashrc

e adicione no final do arquivo

export PAGER="most -s"

Como mostra a figura abaixo:




E pronto sua man page já esta colorida

use o comando
#man ls
e verá a man page coloriada como mostra a figura abaixo

quarta-feira, 8 de fevereiro de 2012

Agenda Simples em YAD

#!/bin/bash
#
# Agenda Simples em Yad
# Autor: Daniel Lara Souza
# Versao 0.2
# Migrado do Dialog para o Yad
# Ajuda do rai3mb ( Raimundo Alves Portela )
# na Criação do Menu

while : ; do
OPCAO=$( \
yad --list \
--title=' AGENDA ' --text='Escolha um opcao: ' \
--width=400 --height=200 \
--column='opcao':NUM --column='texto':TEXT \
--no-headers --print-column=1 --separator='' --hide-column=1 \
1 'Adicionar Contato' \
2 'Listar Contatos' \
3 'Pesquisar Contatos ' \
4 'Deletar Contatos' \
--button="Sair":1 --button="Acessar":0 )


[ $? -ne 0 ] && break

case "$OPCAO" in


1)
NOME=$( yad --entry --entry-label="Nome" --entry-text="")

FONE=$( yad --entry --entry-label="Telefone" --entry-text="")

echo $NOME - $FONE >> agenda;

;;
2) sort agenda > agenda.tmp

AGENDA=$(cat agenda.tmp)

yad --title="Agenda" --text="$AGENDA" --width="300" --height="100"

rm -rf agenda.tmp
;;

3) nome=$( yad --entry --entry-label="Nome" --entry-text="" )

AGENDA=$(cat agenda | grep $nome)

yad --title="Agenda" --text="$AGENDA" --width="300" --height="100"


;;

4) nome=$( yad --entry --entry-label="Nome" --entry-text="" )

mv agenda agenda.tmp

grep -v $nome agenda.tmp > agenda

rm -rf agenda.tmp
;;

0) break

;;
esac
done

segunda-feira, 12 de dezembro de 2011

Dica sobre o Crontab

crontab é um programa do Unix que edita o arquivo onde são especificados os comandos a serem executados e a hora e dia de execução pelo cron, um programa que executa comandos agendados nos Sistemas Operacionais do tipo Unix(como o Linux ou o Minix, por exemplo). O cron se encarregará de verificar a hora e determinar se existe ou não algum programa a ser rodado. Caso exista ele o rodará na hora e data solicitada, neste post vamos explicar um pouco sobre isso.

 Vamos para a sintaxe Funciona assim:

mm hh dd MM ss script

 Onde:

mm = minuto(0-59)
hh = hora(0-23)
dd = dia(1-31)
MM = mes(1-12)
ss = dia_da_semana(0-6)
script = comando a ser executado.
 
Obs 1: Em dia_da_Semana, 0 refere-se a domingo; e 6, ao sábado.
No caso de dia da semana funciona também as três primeiras letras
(em inglês) do dia da semana (SUN,MON,TUE,WED,THU,FRI,SAT)
 
Obs 2: Em qualquer posição pode-se usar o * (asterisco) quando não se
importar com o campo em questão.
 
Obs 3: Pode-se utilizar intervalos nesses campos. O caracter para intervalo
é o - (hifen).
 
Obs 4: Pode-se utilizar lista de valores nesses campos. O caracter para a
lista é a , (vírgula).
 
Obs 5: Qualquer texto colocado após o programa que será executado será
considerado comentário e não será interpretado pelo cron
 
 
 Alguns exemplos Abaixo:
 
 
 #cat /etc/crontab

Todo dia de hora em hora (hora cheia)
00 * * * * /bin/script 
 
De cinco em cinco minutos todos os dias (note a divisão por 5 do intervalo 00-59)
  00-59/5 * * * * /bin/script 
 
Nas seguintes horas: 10, 12, 16, 18, 22 aos 15 minutos da hora
  15 10,12,16,18,22 * * * /bin/script< 
 
Nos primeiros cinco dias do mês às 19:25
  25 19 01-05 * * /bin/script 
 
De segunda a sexta ao meio-dia e a meia-noite
  00 00,12 * * 1-5 /bin/script 
 
Script rodar Segunda,Quarta,Sexta às 2 horas
   0 2 * * mon,wed,fri /bin/script 
 
Script para rodar Terça,Quinta às 3 horas
   0 3 * * tue,thu /bin/script 
 
Script para ser executado minuto a minuto
   */1 * * * * /bin/script

 
 
   Alguns Parâmetros


-l usuário -- lista as tarefas agendadas para o usuário
-e usuário -- edita o agendador
-r usuário -- apaga o arquivo do usuário
-c diretório -- especifica um diretório para o Crontab
 
 
 Há e também de uma olhada na manpage do crontab
 #man crontab

segunda-feira, 7 de novembro de 2011

Fórum Tchelinux.org - Edição Porto Alegre 2011

 

O Fórum Tchelinux.org - Edição Porto Alegre 2011, é um evento promovido por voluntários do Grupo de Usuários de Software Livre Tchelinux.org em parceria com a FTEC Porto Alegre, com a finalidade de divulgar Tecnologias Livres, como Softwares Livres (Free Software/ Open Source), Linguagens de Programação e Hardware, através de palestras e workshops, veiculadas para todos os interessados da área de Tecnologia da Informação.
O Tchelinux.org é um grupo formado por entusiastas voluntários que utilizam software livre em seu cotidiano. A iniciativa baseia-se no compartilhamento do conhecimento adquirido, visando deixar claro que tanto o software utilizado, quanto o conhecimento, são livres e podem ser usados por todos, sem barreiras.

 Acesse  , Participe
 http://tchelinux.org/site/doku.php?id=evento_poa_2011

quarta-feira, 26 de outubro de 2011

Dimensionando partição superior a 2TB

Bom, tive um problema com discos de 2TB em meu servidor. Eles estavam com RAID, bom e com o fdisk ele informava que tava um erro

Veja
# fdisk -l /dev/sda

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

WARNING: The size of this disk is 9.3 TB (9345848836096 bytes).
DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID
partition table format (GPT).

Disk /dev/sda: 9345.8 GB, 9345848836096 bytes
255 heads, 63 sectors/track, 1136234 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


Bom de Cara o fdisk  já me informa pra usar o GNU Parted pois o mesmo não tem suporte a GPT. e ai o que eu fiz foi:

#man parted


e ai as coisas ficaram claras e fiz exatamente assim


# parted /dev/sda

GNU Parted 1.8.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands. 
        (parted) mklabel gpt

Vamos definir a unidade padrão para TB

         (parted) unit TB

 
Vamos criar a partição com os mais de 2TB

         (parted) mkpart primary 0.00TB 9.35TB


 (parted) print
Disk /dev/sda: 9.35TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start      End      Size & nbsp ;    File system  Name     Flags
1             0.00TB  9.35TB  9.35TB        ;    primary
   


Agora sim


        (parted) quit
Information: Don't forget to update /etc/fstab, if necessary.

Ok, vamos usar o mkfs para formatar:
# mkfs.ext3 /dev/sda1

mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1140850688 inodes, 2281701367 blocks
114085068 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
69632 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.


Verificando como ficou:

# fdisk -l /dev/sda
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

WARNING: The size of this disk is 9.3 TB (9345848836096 bytes).
DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID
partition table format (GPT).

Disk /dev/sda: 9345.8 GB, 9345848836096 bytes
255 heads, 63 sectors/track, 1136234 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1      267350  2147483647+  ee  EFI GPT


Note como ficou o meu /dev/sda1 no número de blocks.

Agora vamos montar o mesmo:

# mount /dev/sda1 /Backup



Bom agora tenho espaço para Backup de sobra .