Blog com comentários e dicas a respeito de Experiências obtidas no dia-a-dia com o Linux.
quarta-feira, 20 de fevereiro de 2008
script matador
Imaginemos isso ocorrer diariamente numa rede com mais de 200 usuários. Ligando sem parar reclamando que não consegue abrir tela do sistema, que precisa vender, bater meta etc....
Ao deparar com esse inferno na terra, corri atrás de uma solução para facilitar o trabalho de suporte. Criei um script que basta executar para derrubar, ou mesmo matar os processos de determinado usuário.
O nome do script é bem sugestivo: assassino
Pois, ao executar e inserir o nome do usuário, ele não deixa nada, mata tudo.
Claro que no linux/unix, pode-se fazer qualquer coisa em pelo menos duas formas diferentes. Então pode surgir alguem dizendo.. "ahh, eu faço isso e aquilo e funciona.". Parabéns!!! Esse é o espirito open source, pesquisar/aprender/testar/comemorar.
Segue abaixo o script:
#!/bin/bash
count=0
var=1
sudo touch /tmp/proc1.cont
sudo chmod 777 /tmp/proc1.cont
sudo touch /tmp/proc.cont
sudo chmod 777 /tmp/proc.cont
echo digite nome pra matar
read nome
sudo fuser -v /bin/bash | grep $nome | grep '/bin/bash' | awk '{ print $3 }' | egrep '[0-9]' > /tmp/proc.cont
sudo fuser -v /bin/bash | grep $nome | awk '{ print $2 }' | egrep '[0-9]' >> /tmp/proc.cont
count=$(wc -l /tmp/proc.cont | awk '{ print $1 }')
echo $count processos encontrados para matar
if [ $count -gt "0" ]; then
while [ $var != 0 ]; do
echo matando processo: $(head -1 /tmp/proc.cont)
sudo kill -9 $(head -1 /tmp/proc.cont)
sed '1d' /tmp/proc.cont > /tmp/proc1.cont
cat /tmp/proc1.cont > /tmp/proc.cont
count=$(expr $count - 1)
if [ $count -eq "0" ]; then
var=0
fi
done
fi
domingo, 6 de janeiro de 2008
Atualização de tópico
Link
sábado, 5 de janeiro de 2008
INSTALAÇÃO E CONFIGURAÇÃO DE SERVIDOR OPENFIRE com SPARK
Plataforma: Linux (Ubuntu 7.10)
Descrição:
O openfire é um servidor Jabber de código aberto e gratuito. Possui ferramenta de gerenciamento via web e extremamente flexível. Tem como base de funcionamento o Java. Neste tutorial será descrito como realizar a instalação a partir de seu código fonte, sendo assim possível sua utilização em qualquer sistema Linux. Será ainda descrito como instalar o cliente Jabber: Spark.
Não é obrigatório que se utilize o spark com o servidor openfire, qualquer cliente Jabber pode ser utilizado.
Pré-requisitos:
Instalação do pacote sun-java6-jre
para o pacote ser instalado, deverá antes descomentar as linhas referentes a pacotes multiverse no /etc/apt/sources.list
#apt-get update
# apt-get install sun-java6-jre
Para saber se o java está funcionando corretamente, basta executar o seguinte comando:
#java -version
Deverá retornar a versão do java instalado.
Após baixar o pacote openfire_3_4_3.tar.gz ou versão mais recente no site: http://www.igniterealtime.org/, criar pasta /opt
#mkdir /opt
Descompactar o pacote:
#tar zxvf openfire_3_4_3.tar.gz -C /opt
Será descompactado e será criada pasta /opt/openfire como demonstrado abaixo:

Para iniciar o servidor openfire, basta entrar no diretorio /opt/openfire/bin
e executar o script:
#/opt/openfire/bin/openfire start
Existe um pequeno bug neste script que mostra na tela uma mensagem

Não é um erro, apenas uma falha no script que não atrapalha o funcionamento do servidor, basta realizar a correção no mesmo como segue:
editar o arquivo /opt/openfire/bin/openfire
Na linha abaixo alterar acrescentando:
../logs/STDOUT.log 2>../logs/STDERR.log &
arquivo original:
arquivo alterado:

Iniciando novamente o servidor, veremos que não haverá mais mensagem.
Para saber se o servidor realmente foi iniciado, basta verificar a porta 9090 aberta no sistema:
Agora poderemos abrir o gerenciador com interface web em nosso servidor. Basta abrir no navegador o endereço http://localhost:9090
Neste passo vamos personalizar nosso servidor, começando pelo idioma, escolha Português logicamente.
Clique em continue. Na tela seguinte deverá informar o dominio de sua rede e as portas de administração, as quais pode deixar as padronizadas. Alterar apenas no caso de haver em sua rede algum outro serviço que utilize as mesmas portas para não ocasionar conflito.
Clique em continue. A seguir deverá ser definida a forma de acesso a banco de dados. Escolha banco de dados interno, para uma configuração mais rápida e pôr em funcionamento o serviço de forma mas prática, indicado para iniciantes ou redes pequenas.
Continue. A tela seguinte refere-se a forma de gerenciamento de usuários. Novamente para redes simples, selecione o padrão.
Continuando, na tela seguinte deverá ser informada uma senha para o administrador do serviço. Altamente recomendado por questões de segurança.
Em seguida finaliza o setup inicial. Basta logar-se no console administrador para maiores configurações:


Percebe-se que a interface é intuitiva, indicando diversas informações, como por exemplo a plataforma, tempo que o servidor está ativo, quantidade de memória utilizada pelo serviço, idioma, fuso horário, etc...
Este tutorial não abrange todas as opções no momento, mas nos próximos, serão abordados mais tópicos.
Inicialmente deveremos criar usuários para que se possa acessar nosso novo servidor jabber. Sendo assim, clique na aba usuários/grupos.
Por padrão já existe o próprio usuário admin. Clique no lado esquerdo, criar novo usuário.
Preencha os dados do usuário e clique em criar & Criar Outro. Para haver conversa, precisamos de pelo menos dois usuários.
Pronto, já possuimos 2 usuários. Precisamos agora instalar o cliente Jabber.
O escolhido para este tutorial foi o Spark.
Baixar o pacote: spark_2_5_8.tar.gz ou versão mais atual no site:
http://www.igniterealtime.org/,
Descompactar em seu diretório de aplicativos preferido.
#tar zxvf spark_2_5_8.tar.gz -C /usr/local
Será criada pasta /usr/local/Spark
Na estação deverá possuir o java instalado, basta seguir os passos iniciais desse tutorial. Pode ser o mesmo pacote java instalado no servidor. A verificação de funcionamento é a mesma.
Em seguida, no ambiente gráfico abrir um terminal e logar-se como root, para ativar a configuração inicial do spark.
Feito isso, pode fechar o spark e executar como usuário comum.
Pronto, o cliente jabber já esta logado. Basta agora outro usuario entrar na conversa. Para isso, podemos adicionar o usuário na lista de contatos, clicando em contatos adicionar. Em nosso servidor temos o usuaŕio suporte e o usuário usuario.
Na Estação do usuário usuario, devemos fazer o mesmo processo de instalação do spark. Feito isso, vamos iniciar a conversa.
Abaixo uma simulação entre os dois clientes jabber e suas listas de contato.
Agora a conversa está sendo realizada entre os dois clientes.
Neste tutorial foi feita a instalação e configuração básica do servidor Openfire com clientes Spark.
Continuarei a postar dicas. Como criar grupos, realizando log de conversas. Configuração de outros clientes jabber etc. Espero que este tutorial seja útil.
quarta-feira, 26 de dezembro de 2007
CUPS - Estranho
O cups é um gerenciador de impressões que roda em sistemas *nix (linux, unix like). Tenho tido diversos problemas com ele no que se refere a certas anomalias tais como: sumir impressoras, determinadas impressoras ficarem com status "stopped" sem motivo algum. Não encontrando o motivo, busquei então a forma de contornar esses problemas.
O cups funciona baseado em um arquivo de configuração printers.conf onde ficam configuradas as filas de impressão localizado normalmente em /etc/cups/printers.conf
solução encontrada: foi feita uma cópia do arquivo printers.conf para /etc/cups/printers.conf.backup
Fiz um script simples onde faz parar o serviço do cups
#/etc/init.d/cups stop
copia o arquivo printers.conf.backup para printers.conf (substituindo)
#cp /etc/cups/printers.conf.backup /etc/cups/printers.conf
inicia novamente o cups
#/etc/init.d/cups start
Pronto. As impressões que estavam presas são liberadas.
Explicação: o arquivo original printers.conf guarda o status das impressoras, então se alguma está no status "stopped" não sai impressão alguma, sendo assim ao substituir o arquivo original pelo backup onde as impressoras estão todas com status "idle", o servidor entende que as impressoras estão aceitando novos trabalhos.
É uma solução simples. Para evitar a necessidade de executar o script toda hora manualmente, basta adicionar no cron do seu servidor, a cada 2, 3 ou 5 minutos, dependendo do impacto que possa causar em seu servidor. Na empresa que trabalho agendei para cada 2min. Nunca mais tive ligação solicitando liberação de impressora na rede, salvo os casos em que o problema é de software ou maquina travada.
sexta-feira, 21 de dezembro de 2007
Java + Banco do Brasil + linux/firefox
# apt-get install sun-java6-plugin
Mas antes tem de habilitar no sources do apt os pacotes multiverse. Após a instalação, basta reiniciar o navegador e abrir novamente o site do banco.
Firefox desconfiado...
Banco Real barra Linux

Inicio a primeira postagem desse blog com uma notícia absurda. O Banco ABN/AMRO REAL alterou seu módulo de segurança do Internet Banking, com isso sistemas Linux passaram a ser incompatíveis. Liguei para o suporte e disseram que o Linux não é homologado pelo banco e que o cliente deve utilizar Windows.
Para utilizar outro sistema que não seja este, tem que solicitar a liberação do módulo de segurança para poder acessar sua conta com recursos de movimentação. Sendo que após esse bloqueio o cliente tem de renovar depois de 120 dias para continuar acessando.
Realmente algo inusitado ocorrer isso justamente quando as empresas, governo e diversos paises desenvolvem ferramentas para acesso com software livre, o ABN/REAL regride tecnologicamente e impõe a seus clientes o uso de um sistema frágil que precisa diversas ferramentas para se proteger.
Segue captura de tela.
UPDATE (06.01.08) Resposta do Banco Real
Prezado Celso,
Em resposta à sua mensagem, informamos que conforme divulgado no Real Internet Banking, o Módulo de Proteção Real está disponível para o sistema operacional Windows e navegadores Internet Explorer (5.5 ou superior) e Firefox (1.5 ou superior).
Havendo impossibilidade de instalação devido ao sistema operacional, browser ou demais situações, por favor, contate a Central de Atendimento do Real Internet Banking pelo telefone (11) 3553-4445 (São Paulo), (21) 3460 - 1303 (Rio de Janeiro) ou 0800-2864040 (Demais localidades), 24 horas por dia, 7 dias por semana.
Agradecemos o seu interesse pelo Banco Real. Estamos fazendo mais que o possível para oferecer a você e a todos os nossos clientes um banco cada vez melhor.
Estamos à disposição.
Atenciosamente,
Rodnei Ferreira
Sugestões & Reclamações
Banco ABN AMRO Real S/A















