Arquivo da categoria: Dicas Linux

Como debugar projetos no WebSphere com Eclipse.

Estávamos quase adquirindo o Rational simplemente para debugar os projetos WebSphere remotamente. Com alguns minutos no google, foi possível resolver  este empasse. Veja a seguir o procedimentos passo a passo:

Primeiramente, clique em sevidore de aplicativos e seguir no servidor cadastrado.

Selecione  “Serviço de Debugação” em Propriedades Adicionais;

Agora insira no campo “Porta de Debugação do JVM” o valor 7781 e no campo “Argumentos de Debugação  JVM” o a string a seguir:

-Dcom.ibm.ws.classloader.j9enabled=true -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7781

Pronto! Agora para debugar a aplicação no eclipse, clique com o botão direito na classe desejada e selecione a opção “DEBUG AS” seguido da opção “Debug Configuration”.


A seguir, configure o host e a porta conforme a ilustração.

Para iniciar o debug, clique em Play. Para finalizar, clique em stop.

Configurando teclado multimidia.

A baixo uma receita de  bolo para configurar o  seu teclado multimídia em  sistemas Linux:

Execute a  seguinte  linha:

$ xev | sed -n 's/^.*keycode *\([0-9]\+\).*$/keycode \1 = /p' | uniq | grep -v 36

Se  tudo estiver funcionando corretamente, teremos  uma janela  similar a imagem a  seguir:

multimidia

Pressione as  teclas multimídia e  feche  a  janela.  Logo após, recebemos os  código das teclas:

keycode 111 =
keycode 162 =
keycode 164 =
keycode 144 =
keycode 153 =
keycode 174 =
keycode 176 =

Insira os códigos com  as repectivas  ações preferenciais no arquivo .Xmodmap.

cat ~/.Xmodmap
keycode 160=XF86AudioMute
keycode 162=XF86AudioPlay
keycode 176=XF86AudioRaiseVolume
keycode 174=XF86AudioLowerVolume
keycode 153=XF86AudioNext
keycode 144=XF86AudioPrev
keycode 164=XF86AudioStop
keycode 169=XF86AudioMedia

Para finalizar carregue  as novas configurações :

$  xmodmap ~/.Xmodmap

PS: Esta  dica dedico ao Pipoca e Luiz  (Stage MTV).

Instalação remota do Suse/OpenSuse.

Instalar o  sistema Suse/OpenSuse remotamente com  o protocolo ssh ou vnc é muito simples. Basta inserir alguns parâmetros na  opção de boot do grub. A  seguir  os  principais  parâmetros:

Instalação  remota com  o protocolo vnc:

vnc=1 vncpassword=install

15568-1

Instalação remota com  o  protocolo ssh:

ssh=1 sshpassword=install

Configuração IP da  rede estático:

hostip = 192.168.10.10 netmask = 255.255.255.0
gateway = 192.168.10.1 nameserver = 192.168.10.1

Para conectar com o equipamento e iniciar a instalação via SSH:

cabelo@server2:~ #  ssh -X root@192.168.1010.

The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.

DSA key fingerprint is d3:8e:48:6c:5a:e4:45:ac:80:d9:7f:bc:16:a3:7a:a3.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.10.10' (DSA) to the list of known hosts.

root@192.168.10.10's password:
SUSE Linux Enterprise Server 10 Installation
/usr/X11R6/bin/xauth:  creating new authority file /root/.Xauthority
#Welcome to the inst-sys...
Linux 192.168.0.2 2.6.16.21-0.8-default #1 Mon Jul 3 18:25:39 UTC 2006 i686 athlon i386 GNU/Linux
/root
run yast to start the installation
inst-sys:~ #  yast2

Iniciar e parar o WebSphere com script no init.d.

Cansado de  parar e levantar  o WebSphere da IBM manualmente no SLES 10 SP1, resolvi escrever um script e coloca-lo no  init.d.  Vejam  o resultado :

# rcwas status
Checking for WebSphere Aplication Server                              unused
# rcwas start
Starting WebSphere Aplication Server                                  done
# rcwas status
Checking for WebSphere Aplication Server                              running
# rcwas stop
Shutting WebSphere Aplicaton Server                                   done
 # rcwas status
Checking for WebSphere Aplication Server                              unused

A seguir o  Script:

#!/bin/bash
# Script de inicialização do IBM WebSphere Application Server
# Author: Alessandro de Oliveira Faria (A.K.A. CABELO)
# Required-Start:
# X-UnitedLinux-Should-Start:
# Required-Stop:
# Default-Start:  3 5
# Default-Stop:
# Description:    Servico WebSphere Aplication Server
### END INIT INFO

WAS_FILE=/opt/IBM/WebSphere/AppServer/bin/startServer.sh
WAS_STOP=/opt/IBM/WebSphere/AppServer/bin/stopServer.sh
BIN_FILE="/opt/IBM/WebSphere/AppServer/java/bin/java"
PID_FILE="/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/server1.pid"
. /etc/rc.status
RETVAL=0
case "$1" in
 start)
 echo -n "Starting WebSphere Aplication Server "
 checkproc -p ${PID_FILE} ${BIN_FILE}
 case $? in
 0) echo -n "Warning: daemon already running." ;;
 1) echo -n "- Warning: ${PID_FILE} exists. " ;;
 esac
 startproc -p ${PID_FILE} ${WAS_FILE} server1  > /dev/null
 rc_status -v
 ;;
 stop)
 echo -n "Shutting WebSphere Aplicaton Server "
 checkproc -p ${PID_FILE} ${BIN_FILE} || \
 echo -n " Warning: daemon not running. "
 ${WAS_STOP} server1 -username USER -password PASSWORD > /dev/null
 rc_status -v
 ;;
 status)
 echo -n "Checking for WebSphere Aplication Server "
 checkproc -p ${PID_FILE} ${BIN_FILE}
 rc_status -v
 ;;
 restart)
 stop
 start
 ;;
*)
 echo $"Usage: $0 {start|stop|status|restart}"
 exit 1
esac
exit $RETVAL

Estampando a data de criação em imagens jpeg.

Comprei uma câmera digital DSC W220  da Sony.  Não  tenho nada a  reclamar  exceto a ausência da função Date/Time Stamp. Fique surpreso,  quando a  minha esposa pediu para  habilitar tal recurso.  Pois constatei que esta função não estava  disponível neste modelo :(

Procurando na internet, encontrei este script que  imprime a data e  hora  de criação na imagen. Adaptei o script  para imprimir apenas  a Data  (assim suprimindo  a hh:mm:ss para evitar problemas  como horário de verão entre outros). Veja o resultado a seguir:

bolo_DT

Disponibilizo  a versão do script que sofreram as minhas alterações:

#!/bin/sh
font="/usr/share/fonts/truetype/LiberationMono-Bold.ttf"
if [ $# -eq 0 ]
 then
 cat << _EOF_
USAGE: $0 file1 file2 ..., or
 $0 *.jpg, or
 $0 dir/*.jpg
 ...
_EOF_
exit
fi
while [ "$1" != "" ]; do
 if [ -d "$1" ]; then
 shift
 continue
 fi
 if [[ $1 == *_DT* ]]
 then
 echo "------  Skipping: $1"
 shift
 continue
 fi
 file=$1
 echo "######  Working on file: $file"
 filename=${file%.*}
 extension=${file##*.}
 output=${filename}_DT.${extension}
 dim=$(identify -format "%w %h" "$file")
 width=${dim%% *}
 height=${dim#* }
 data=`identify -format "%[EXIF:*]" $file | sed -r '/:DateTimeOriginal=/!d;s#.*=([0-9]{4}):([0-9]{2}):([0-9]{2}).*#\3/\2/\1#'`
 if [ $width -ge $height ]
 then
 pointsize=$((`expr $width / 30`))
 else
 pointsize=$((`expr $height / 30`))
 fi

 echo "        Width: $width, Height: $height. Using pointsize: $pointsize"
 convert "$file" -gravity SouthEast -font "$font" -pointsize $pointsize -fill white -annotate +$pointsize+$pointsize $data "$output"
 shift
done

exit 0

OpenSuse: Desabilitando o fsck na inicialização do sistema.

opensuseO  hd do meu notebook  possue mais  de 200 Gbytes,  durante  uma apresentação para os clientes,  o  fsck  me fez o favor  de justamente  naquele dia,  iniciar automaticamente  teste de  disco durante o processo de boot  (imagina o quanto esta operação demorou…).

Para evitar estas surpresas,  a seguir  os  comandos para desativar este teste durante o boot.

O comando abaixo, informa o  número maximo  de montagem pelo  sistema sem sofrer uma checagem forçada pelo fsck.

# tune2fs -l /dev/sda6 | grep "Maximum mount count"
Maximum mount count:      500

Já este comando a seguir,  informa o intervalo máximo de tempo sem sofrer uma checagem forçada pelo fsck.

#tune2fs -l /dev/sda6 | grep "Check interval"
Check interval:           5184000 (2 months)

Agora o comando para desabilitar  as  duas checagem acima:

# tune2fs -c 0 /dev/sda6
# tune2fs -i 0d /dev/sda6

Pronto, agora o sistema não  iniciará  o fsck durante o  boot ;-)

NOVELL SLES: Verifique a compatibilidade de hardware antes de compra-lo.

yes_suseÉ errado sair dizendo que  “comprou” uma distribuição Linux (ou uma espécie de licenciamento do sistema). Não se compra  nenhum sistema operacional baseando no GNU/Linux. O correto seria mencionar que estamos adquirindo um serviço de suporte,  assistência técnica e acesso a atualizações.

Empresas como Red Hat, Novell e  outras, vendem  seus serviços baseado nos seus  produtos  entrerprise, e não na  licença do software, pois o mesmo é gratuito.A seguir

A seguir,  links sugestivo para constatar a compatibilidade  de hardware antes da aquisição:

Compilador de shell scripts!

Enquanto  não integro na solução final em C/C++  todas as funcionalidades do projeto, vai de script mesmo heheheh. Para evitar  alterações  indevidas no mesmo, baixei o shc . Um compilador de Scripts escrito em Shell Yes!

Para instalar este pacote no OpenSuse 11.1, utilize  o link a seguir:

ympbutton Após a instalação, para compilar o seu script,  utilize a sintaxe abaixo:

$ shc -v -r -T -f  [NOME-DO-SCRIPT]

Será criado no disco o arquivo NOME-DO-SCRIPT.x

Informações sobre o projeto AQUI!