En HPUX, una forma de obtener la velocidad de conexión de la tarjeta de red (que en linux podemos usar mii-tool) es utilizar el comando lanadmin con el parametro -x y el indice de la tarjeta que se quiere revisar. Ahora si no se sabe cual tarjeta... una opción es usar el comando netstat -i nos muestra la estadísticas de red:
netstat -i
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
lan0 1500 10.181.23.0 prd1149 1624149909 0 2348185029 0 0
lo0 32808 loopback localhost 10500568 0 10500568 0 0
lan4 1500 10.181.10.0 rsp1149 5177904 0 151 0 0
entonces si se ejecuta lanadmin -x 0:
lanadmin -x 0
Speed = 1000 Full-Duplex.
Autonegotiation = On.
Este blog tiene la idea de acercar un poco el tema de las herramientas computacionales, usando preferencialemente Linux, y traducir a "cristiano" todos esos programas, software y otras palabras raras que usan los que saben de computación y aquellos que dicen saber también. Por eso aquí va un filtro con cosas útiles e intentado ser claro, cualquier cosa... por mail, msn, comentarios, etc como quieran, manden preguntas, felicitaciones, reclamos, inquietudes, etc. etc.
31 enero 2012
24 enero 2012
Depurar scripts en HP-UX o linux
Una de las ventajas de los sistemas *nix, es que se puede hacer una depuración de los script usados en el shell de manera muy simple, mostrando línea a línea lo que ocurre, así por ejemplo, mostrará valores que toman las variables, las ejecuciones de comando, etc... esto sirve para bash, ksh y sh (si no saben que shell están corriendo pueden hacer un echo $SHELL o print $SHELL) la depuración consiste en agregar a la primera línea del script donde se encuentra algo como:
#!/usr/bin/ksh , o
#!/bin/sh , o
#!/bin/bash
le agregamos un -x, quedando #!/usr/bin/ksh -x con esto, la siguiente ejecución mostrará algo como:
> cat test_script.ksh
#!/usr/bin/ksh -x
QTY=1
while [ $QTY -lt 3 ]
do
print "vez " $QTY
QTY=$(( QTY + 1))
done
> test_script.ksh
+ QTY=1
+ [ 1 -lt 3 ]
+ print vez 1
vez 1
+ QTY=2
+ [ 2 -lt 3 ]
+ print vez 2
vez 2
+ QTY=3
+ [ 3 -lt 3 ]
Sin -x muestra por pantalla:
vez 1
vez 2
#!/usr/bin/ksh , o
#!/bin/sh , o
#!/bin/bash
le agregamos un -x, quedando #!/usr/bin/ksh -x con esto, la siguiente ejecución mostrará algo como:
> cat test_script.ksh
#!/usr/bin/ksh -x
QTY=1
while [ $QTY -lt 3 ]
do
print "vez " $QTY
QTY=$(( QTY + 1))
done
> test_script.ksh
+ QTY=1
+ [ 1 -lt 3 ]
+ print vez 1
vez 1
+ QTY=2
+ [ 2 -lt 3 ]
+ print vez 2
vez 2
+ QTY=3
+ [ 3 -lt 3 ]
Sin -x muestra por pantalla:
vez 1
vez 2
20 enero 2012
como ver el contenido de un paquete instalado en HP-UX
Si el paquete fue agregado con swinstall, se puede revisar con swlist -l file
Obtener información de hardware en HP-UX
En HP-UX, existe una serie de comandos que entregan información muy detallada del sistema:
Si cstm no es capaz de recopilar la información, tambien se puede utilizar print_manifest, que arroja una salida formateada bastante util. Ojo, que tal vez no este en el PATH, de ser así, en man print_manifest saldrá la ruta, en este caso para HP-UX 11.31 es /opt/ignite/bin/print_manifest.
También se puede utilizar ioscan, para obtener la lista completa, basta ioscan -f, con eso entrega la lista completa de hardware instalado en la máquina.
- cstm, interfaz de comando que permite obtener la información del sistema, se ingresa a una shell y se debe ingresar:
- map all, con esto muestra una lista de todos los dispositivos del sistema.
- selall, con esto se seleciona todo
- infolog, muestra el log recopilado, con pausas y al final ofrece la opción de guardar el log (SaveAs) o no hacer nada (Done)
Si cstm no es capaz de recopilar la información, tambien se puede utilizar print_manifest, que arroja una salida formateada bastante util. Ojo, que tal vez no este en el PATH, de ser así, en man print_manifest saldrá la ruta, en este caso para HP-UX 11.31 es /opt/ignite/bin/print_manifest.
También se puede utilizar ioscan, para obtener la lista completa, basta ioscan -f, con eso entrega la lista completa de hardware instalado en la máquina.
19 enero 2012
Cómo ver los procesos en forma de árbol, en Solaris y HPUX?
El comando ptree, tanto en Solaris y HP-UX sirve para obtener una lista jerarquizada de los procesos que están ejecutandose en el momento, por ejemplo, en HPUX donde estoy usando screen luce algo así:
PID COMMAND
29501 screen -h 10000 -S amardone
29503 /usr/bin/sh
27588 telnet prd1082
20897 /usr/bin/sh
19846 /usr/bin/sh
La identación no es mucha, pero clarifica cual es padre y los hijos no? así se observa que dentro de screen hay tres consolas (/usr/bin/sh) y en una de ellas un telnet.
En particular HP UX, también se puede conseguir un resultado similar con el parámetro H, entonces el comando sería algo como:
ps -feH
Si al ejecutar arroja un error como éste:
ps: illegal option -- H
usage: ps [-edaxzflP] [-u ulist] [-g glist] [-p plist] [-t tlist] [-R prmgroup] [-Z psetidlist]
es porque no está la variable de ambiente UNIX95 que afecta a algunos comando como ps, de hecho si revisan la ayuda de ps, verán que en la opción -H dice (UNIX Standard Only.) esto significa que se debe asignar un valor a la variable UNIX95, que se hace con un tradicional export o setenv dependiendo del shell.
export UNIX95=1
con esto se obtiene el resultado esperado, aunque la salida tal como dije antes, es menos gráfica, algo como esto:
root 1806 1 0 May 1 ? 00:01:26 /usr/sbin/stm/uut/bin/sys/diagmond
root 2194 1806 0 May 1 ? 00:03:31 diaglogd
root 2195 1806 0 May 1 ? 00:17:04 psmctd
Si observan bien, hay un par de espacios de identación a la derecha para señalar los procesos hijos y para los que no sepan, la tercera columna es el ppid, el parent pid o pid padre.
PID COMMAND
29501 screen -h 10000 -S amardone
29503 /usr/bin/sh
27588 telnet prd1082
20897 /usr/bin/sh
19846 /usr/bin/sh
La identación no es mucha, pero clarifica cual es padre y los hijos no? así se observa que dentro de screen hay tres consolas (/usr/bin/sh) y en una de ellas un telnet.
En particular HP UX, también se puede conseguir un resultado similar con el parámetro H, entonces el comando sería algo como:
ps -feH
Si al ejecutar arroja un error como éste:
ps: illegal option -- H
usage: ps [-edaxzflP] [-u ulist] [-g glist] [-p plist] [-t tlist] [-R prmgroup] [-Z psetidlist]
es porque no está la variable de ambiente UNIX95 que afecta a algunos comando como ps, de hecho si revisan la ayuda de ps, verán que en la opción -H dice (UNIX Standard Only.) esto significa que se debe asignar un valor a la variable UNIX95, que se hace con un tradicional export o setenv dependiendo del shell.
export UNIX95=1
con esto se obtiene el resultado esperado, aunque la salida tal como dije antes, es menos gráfica, algo como esto:
root 1806 1 0 May 1 ? 00:01:26 /usr/sbin/stm/uut/bin/sys/diagmond
root 2194 1806 0 May 1 ? 00:03:31 diaglogd
root 2195 1806 0 May 1 ? 00:17:04 psmctd
Si observan bien, hay un par de espacios de identación a la derecha para señalar los procesos hijos y para los que no sepan, la tercera columna es el ppid, el parent pid o pid padre.