segunda-feira, 15 de agosto de 2011

Black Label Society - Porto Alegre, 14/08/2011

Acabo de chegar de Porto Alegre após ver o show do Black Label Society, banda do motherfucker (como ele gosta de falar) Zakk Wylde e após algumas centenas de kilometros e pouco mais de uma dezena de horas de viagem ao todo.
Chegamos até o Opinião, local onde o show foi realizado às 15h30min e a fila já estava, para a minha surpresa, relativamente bem extensa para o horário. Ficamos por cerca de 30 minutos na fila, até o momento que começou a chover e ficou impossível ficar lá sem ficar encharcado. Para escapar da chuva fomos para um bar temático gaúcho que fica em diagonal ao Opinião. Ficamos na varanda do local tomando umas cervajas e esperando passar o tempo (e a chuva).
Por volta de 19h40min, 20 minutos antes do anunciado, os portões são abertos para a satisfação de quem já não aguentava mais ficar de molho na fila. Trocamos nossos e-mails impressos pelos ingressos e entramos no Opinião, que foi enchendo aos poucos e ficando cada vez mais quente.
Eu e o João, meu colega dos tempos de faculdade, já marcamos lugar na chegada, ficamos num lugar ótimo onde pudemos ter uma visão perfeita do palco. Daí em diante era só ter paciência, e haja paciência nisso, pois ainda tinhamos que esperar duas horas até o show do BLS começar.
O intervalo entre às 20h e às 21h pareceu durar uma eternidade, até a Draco (banda de abertura) entrar no palco e quebrar um pouco a monotonia. Ao menos nos dois minuos iniciais, pois pessoalmente não me agradei com o show da banda, pois não combinou com a ocasião e há no mínimo meia dúzia de bandas no estado que seriam mais capazes de cumprir a missão.
Desse ponto até o final do show da Draco foi mais uma eternidade, a fome começou a bater e se nós saíssemos pra procurar algo pra comer iríamos perder o lugar e, pra ficar ainda mais emocionante, minhas pernas já estavam começando a dar sinal de desgaste graças a todo o tempo que eu estava de pé (consequências da profissão sedentária, é claro). Mais meia hora de espera para a equipe terminar de aprontar o palco e às 22h em ponto começa a tocar a introdução nos PAs.
Um por um, os membros da gang... digo, Black Label vão subindo ao palco até o momento que o Zakk se apresenta com um enorme cocar e liberando a massa sonora (sim, massa sonora MESMO, esse foi sem dúvidas o show mais barulhento que já fui).
Rolaram músicas novas, alguns clássicos absolutos da história da banda (pena que não rolou nada dos tempos de Pride & Glory, mas isso já era esperado), algumas partes chatas na minha opinião como o enorme solo do Zakk (de fato eu não curto os improvisos do Zakk) e o já esperado desfile de guitarras. Ele tocou no máximo 3 músicas com a mesma guitarra e durante o show foi mostrando o seu arsenal, já que ele assina vários modelos clássicos, com destaque para o famoso modelo bullseye.
Saí tão atordoado do show e com um enormo "zunido" no ouvido que nem lembrei de conferir a hora que o show acabou. Mas sem dúvidas valeu a pena a experiência de ver um dos maiores contribuintes do rock em carne e osso.
É notório que o show do BLS chama a atenção pela figura do Zakk Wylde em si. O cara é um ícone tanto na forma de tocar, visual, modelos de guitarras e a característica performance de palco, exceto, é claro, pelo momento Tarzan (quem olhou o show vai saber o que eu digo). Conseguiu criar uma marca publicitária invejável, fez escola no estilo de tocar guitarra e pode-se dizer que é uma das últimas grandes figuraças do Metal.
Vida longa ao ogro, Zakk Motherfucker Wylde!

Set list:
CRAZY HORSE
FUNERAL BELL
BLEED FOR ME
DEMISE OF SANITY
OVERLORD
PARADE OF THE DEAD
BORN TO LOSE
DARKEST DAYS
FIRE IT UP
GODSPEED HELLBOUND
THE BLESSED HELLRIDE
SUICIDE MESSIAH
CONCRETE JUNGLE
STILLBORN


quinta-feira, 28 de julho de 2011

Kiosk com Slackware

Neste tutorial, irei demonstrar como configurar um kiosk utilizando o Slackware, no qual iremos apenas carregar o xorg para exibição do Firefox em modo fullscreen.

Depois de ter instalado e configurado o Slackware, crie um usuário específico, onde iremos configurar o kiosk. Neste exemplo, iremos criar um usuário com o nome de terminal:
adduser terminal

Após criado o usuário, carregue o gerenciador de janelas:
startx

Inicie o Firefox e defina o site que será exibido no kiosk como página inicial.

Instale o add-on R-kiosk para firefox através deste link.
Este add-on faz com que o Firefox seja executado em modo fullscreen, desabilita todos os menus, barras de ferramentas, comandos de teclado e o botão direito do mouse.

Agora vamos configurar o Slackware para executar o Firefox assim que o modo gráfico for inicializado.
Dentro do diretório /home/terminal crie o arquivo .xinitrc e insira a seguinte linha:
exec /usr/bin/firefox

Configure o firefox para ser executado em modo fullscreen. Para isso, acesso o arquivo /home/terminal/.mozilla/firefox/algumacoisa.default/localstore.rdf e procure pelas linhas:

width="1024"
height="768" />
Defina os valores de resolução desejados nos campos "width" e "height".

Ainda há um problema na nossa configuração. Se deixarmos a configuração como está, quando alguém utilizar o comando ctrl+c, o sistema irá para o modo texto e a conta na qual o Firefox está sendo executado ficará livre para o usuário fazer o que quiser com o sistema, inclusive desconfigurar tudo o que fizemos até agora. Para evitar isso, iremos editar o arquivo .bash_profile no diretório /home/terminal com os seguintes parâmetros:

#!/bin/bash

while true
do
/usr/bin/startx
done
Dessa forma o terminal não irá para o modo texto quando o usuário encerrar o aplicativo com o atalho ctrl+c, ou seja, quando o usuário tentar sair do aplicativo o X simplesmente será reiniciado e tudo voltará a funcionar normalmente.
Agora só falta configurar o Slackware para exibir o browser na tela sem que seja preciso fazer login no sistema, de forma que assim que o terminal for ligado o browser será executado.
Tome cuidado, pois após feita essa configuração nós não iremos mais conseguir logar com outro usuário na máquina, pois a opção de login será desativada.
Para isso, primeiro iremos editar o arquivo inittab:
vim /etc/inittab
E alterar a linha:
1:2345:respawn:/sbin/agetty 38400 tty
por:
1:2345:respawn:/sbin/agetty -n -l /sbin/autologin 38400 tty1
Onde o -n especifica que não queremos que o prompt de login seja apresentado na tela. Já o -l permite invocar um programa específico de login, em substituição ao default (geralmente o /bin/login).
Vamos criar agora o programa de login que será carregado pelo sistema:
vim /sbin/autologin.c
Escreva no arquivo o seguinte conteúdo:
int main() {
execlp( "login", "-f", "terminal", 0);
}
Depois é só compilar:
gcc -o /sbin/autologin /sbin/autologin.c
Edite o arquivo /etc/login.defs e procure por uma linha assim:
#NO_PASSWORD_CONSOLE tty1:tty2:tty3:tty4:tty5:tty6
Mude-a para:
NO_PASSWORD_CONSOLE tty1

Pronto, processo concluído. Para que as alterações sejam processadas para uso futuro sem a necessidade de rebootar o sistema, digite:
init q
E execute o programa que criamos para login automático:
./autologin

Referências:
Slackbook: http://www.slackbook.org
JACK.eti.br: http://www.jack.eti.br/www/

terça-feira, 19 de julho de 2011

Configurando o Zabbix Agent para iniciar automaticamente em servidores CentOS e derivados

No post anterior, demonstrei como configurar o agente do Zabbix para iniciar automaticamente no Debian e em distribuições derivadas, como o Ubuntu.
Essa configuração não é tão simples em todas as distribuições e, como será visto a seguir, no CentOS e distribuições derivadas, como o Trixbox, é um pouco mais complicado, mas também não é nada de outro mundo.

Acesse a pasta /etc/init.d
cd /etc/init.d

Utilizaremos o editor de texto vi para criar o script. Nesse caso, nomeei o arquivo como zabbix_starter.sh:
vi zabbix_starter.sh

Adicione as seguintes linhas no arquivo:
#!/bin/bash
# chkconfig: 2345 95 20
# description: zabbix starter
# This script executes the zabbix agent on the system boot
# processname: zabbix_starter.sh
/usr/local/sbin/zabbix_agentd


Dentro do diretório /etc/init.d, digite:
chmod 755 zabbix_starter.shIsso dará as permissões necessárias para o arquivo ser executado.
Como root, execute o chkconfig para adicionar o script na inicialização do sistema:
sudo /sbin/chkconfig --level 2345 zabbix_starter.sh on

Confira se tudo ocorreu da maneira certa e o script irá ser executado na inicialização:
/sbin/chkconfig --list

Relatório gerado pelo comando /sbin/chkconfig --list
A figura acima mostra que o script zabbix_starter.sh está ativo nos runlevels 2, 3, 4 e 5. O que significa que o script será inicializado com o sistema.
Clique aqui para maiores informações sobre como funciona o runlevel no Linux.


Troubleshooting

Em alguns servidores eu me deparei com a seguinte mensagem de erro:
service doesn't support chkconfig

Esse erro ocorre porque existe um rótulo SELinux que não permite que o arquivo seja executado na inicialização do sistema.
Muitos serviços são executados com seu próprio rótulo SELinux e como o script que criamos não o possui, não irá ser executado.
Para resolver isso, iremos utilizar os seguintes comandos:
chcon system_u:object_r:initrc_exec_t:s0 zabbix_starter.sh

Configurando o Zabbix Agent para iniciar automaticamente no Debian e derivados

Quem trabalha com o Zabbix sabe bem o quanto essa ferramenta é poderosa no que se refere a gerência de redes de computadores, mas como nem tudo é perfeito, o Zabbix tem um inconveniente: toda vez que um servidor Linux é reiniciado é preciso acessar o servidor e "dar um start" no agente.
O problema é pior ainda quando ocorre queda de energia e todos os servidores monitorados são desligados, daí é aquela odisséia de ir em servidor por servidor para iniciar o agente.
Para evitar esse trabalho de presidiário, irei mostrar nesse tutorial como configurar o Zabbix Agent para iniciar junto com os principais processos do sistema. É um procedimento bastante simples, mas que economiza um bom tempo do administrador da rede.

1. Acesse a pasta /etc/init.d
cd /etc/init.d
2. Utilizaremos o editor de texto vim para criar o script. Nesse caso, nomeei o arquivo como zabbix_starter.sh
vim zabbix_starter.sh
3. Adicione as seguintes linhas no arquivo:
#!/bin/bash
/usr/local/sbin/zabbix_agentd
4. Dentro do diretório /etc/init.d, digite:
chmod 755 zabbix_starter.sh
Isso dará as permissões necessárias para o arquivo ser executado.
5. Por último, iremos utilizar o comando update-rc.d para atualizar os diretórios rc.d, adicionando o script na inicialização do sistema:
update-rc.d zabbix_starter.sh defaults