Buscar aquí

Cargando...

20 marzo 2013

Problemas con la redirección de X

Si se tiene un servidor remoto y se quiere abrir una aplicación gráfica, suele ser mucho más facil hacer una redirección usando ssh.  ¿Qué significa esto? usar el canal de ssh para traer a la consola local la ventana, sin tener que pedir acceso a la máquina o instalar un VNC por ejemplo, etc...

Algunos sistemas operativos como HPUX, es necesario configurar la variable DISPLAY para indicarle que siga usando la consola del sistema operativo remoto -que esta siendo redirigida por ssh-, para verificar se puede usar:

echo $DISPLAY

esto debiera arrojar la IP de la maquina que estamos usando:0.0 sí es asi, entonces hay que corregirlo y usar:

export DISPLAY=localhost:10.0

con esto, si ejecutan por ejemplo xterm, se lanzará rapidamente la aplicación.

Hay otras aplicaciones más problematicas, por ejemplo este error:

X Error of failed request:  BadFont (invalid Font parameter)
  Major opcode of failed request:  55 (X_CreateGC)
  Resource id in failed request:  0x0
  Serial number of failed request:  79
  Current serial number in output stream:  94

hay que hacer lo siguiente:

- instalar en el sistema los paquetes:

 xorg-x11-fonts-ISO8859-1-75dpi.noarch esto va en relación a las configuraciones de las variables de ambiente que siguen, también puede ser recomendable instalar:
      xorg-x11-fonts-75dpi
      xorg-x11-fonst-misc

- probablemente si en este punto ejecutan la aplicación nuevamente vean un mensaje como:

Could not find MESSAGE Catalog. Please check NLSPATH and LANG variables

- en este caso, en la sesión de UX deben asignar valor a las variables de ambiente LANG Y NLSPATH, como por ejemplo:

export LANG=es_CL.iso88591

es para usar idioma español Chile con formato iso88591, para ver los disponibles pueden listar lo existente en /usr/lib/nls/msg/ y usar el nombre del directorio para LANG

- asignar valor a la variable NLSPATH, pues esta debe apuntar a todo esta un catalogo:

export NLSPATH=/usr/lib/nls/msg/es_CL.iso88591/mesg.cat

ahora volver a ejecutar la aplicación y debiera correr sin ningún problema.

Se debe tener presente que la definición de estas variables es temporal y si se quieren hacer de manera permanente se deben agregar al archivo de profile del usuario.

12 febrero 2013

Estado de parches y paquetes instalados en HPUX

En HP UX, existe un campo de estado que permite ver el estado de instalación del paquete o parche.  Para esto se utiliza la herramienta swlist que permite obtener la información a través de list,

swlists -l

para parches que se debe usar patch y para paquetes fileset.

Entonces para conocer el estado de los parches se puede usar:

swlist -l patches -a patch_state

y para paquetes

swlist -l fileset -a state

y ahi se podrá revisar si está en estado installed, configured o corrupt.


08 enero 2013

Utilizar el histórico de comandos en HP UX

En general todos los unix tienen el comando history, que permite acceder a un listado de los comandos ejecutados anteriormente, con la facilidad de agregar un -N donde N es la cantidad de líneas que se quieren ver, entonces sería algo como:

history -20

también para llamar el último comando se puede utilizar !! (dos signos de exclamación) que ejecutará el último comando.

Existe la opción de "navegar" en el histórico, línea a línea utilizando vi.  Hay que considerar que por defecto HP UX utiliza ksh (Korn) como shell, entonces hay que ejecutar

ksh -o vi

Ahora se presiona la tecla ESCAPE + K y comenzarán a ver los comandos antiguos.  Si es necesario editar el comando, se deben utilizar las teclas de VI:

- L para mover a la derecha
- H para mover a la izquierda
- I para insertar texto
- a para agregar texto en el espacio siguiente al donde está localizado el cursor.
- A para agregar texto al final de la línea.

y enter para ejecutar el comando.
 

25 octubre 2012

Obtener información del hardware existente en Linux

En linux, se puede obtener la información del hardware utilizando una serie de comandos, que funcionan con cuenta de usuario normal.  Todos estos comandos vienen en la instalación por defecto, eso sí, para conocer datos como de la batería y otros manejados por ACPI existe acpitool, que se debe instalar por separado y pueden consultar este post

- cat /etc/redhat-release, muestra la versión de Fedora o CentOS o Redhat Enterprise o Mandriva o ... Suse?? imagino que debe funcionar
[root@note3 ~]# cat /etc/redhat-release
Fedora release 16 (Verne)

- lscpi
00:00.0 Host bridge: Advanced Micro Devices [AMD] RS880 Host Bridge
00:01.0 PCI bridge: Hewlett-Packard Company Device 9602
00:04.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 0)
00:05.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 1)
00:07.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 3)
00:09.0 PCI bridge: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 4)
00:11.0 SATA controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
00:12.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 42)
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: ATI Technologies Inc SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:16.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control
01:05.0 VGA compatible controller: ATI Technologies Inc M880G [Mobility Radeon HD 4200]
01:05.1 Audio device: ATI Technologies Inc RS880 Audio Device [Radeon HD 4200]
03:00.0 SD Host controller: Ricoh Co Ltd MMC/SD Host Controller (rev 01)
03:00.1 System peripheral: Ricoh Co Ltd Memory Stick Host Controller (rev 01)
03:00.2 System peripheral: Ricoh Co Ltd Device e852 (rev 01)
03:00.3 FireWire (IEEE 1394): Ricoh Co Ltd FireWire Host Controller (rev 01)
07:00.0 Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01)

- lscpu, para obtener detalles del procesador instalado:
[root@note3 ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            16
Model:                 6
Stepping:              3
CPU MHz:               2800.000
BogoMIPS:              5586.04
Virtualization:        AMD-V
L1d cache:             64K
L1i cache:             64K
L2 cache:              1024K
NUMA node0 CPU(s):     0,1




- lsusb, para obtener información sobre los puertos usb y dispositivos conectados:
[root@mardones3 ~]# lsusb
Bus 004 Device 002: ID 04e6:5119 SCM Microsystems, Inc. SCR3340 - ExpressCard54 Smart Card Reader
Bus 005 Device 002: ID 03f0:231d Hewlett-Packard
Bus 006 Device 002: ID 138a:0007 Validity Sensors, Inc. VFS451 Fingeprint Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Si conocen otro comando útil, no dejen de sugerirlo.

01 octubre 2012

Cómo obtener la lista de archivos abiertos por un proceso

Más de alguna vez es necesario conocer qué archivos está utilizando un proceso, si mantiene algún puerto abierto o talvez, cuántos archivos tiene abierto el proceso.   Para este  tipo de consultas, lsof es la respuesta, tanto en linux como HPUX.

Es importante ejecutar este comando con usuario root, para tener acceso a la información de todos los procesos del sistema.

Lsof (que significa lista de archivos abiertos) soluciona esto con el switch -p.  Este switch, permite pasar el PID del proceso que interesa y devuelve la lista completa de archivos en el sistema, por ejemplo, si en una consola tengo un comando vi archivodeprueba y busco el lsof de esto, me muestra:

COMMAND  PID   USER   FD   TYPE DEVICE  SIZE/OFF     NODE NAME
vim     7230 art  cwd    DIR    8,5      4096 11272193 /home/art
vim     7230 art  rtd    DIR    8,2      4096        2 /
vim     7230 art  txt    REG    8,2   2097296  5524129 /usr/bin/vim
vim     7230 art  mem    REG    8,2     43504  4980738 /lib64/libcrypt-2.14.90.so
vim     7230 art  mem    REG    8,2    129136  4980749 /lib64/libselinux.so.1
vim     7230 art  mem    REG    8,2    168512  4980787 /lib64/ld-2.14.90.so
vim     7230 art  mem    REG    8,2   2076800  4980849 /lib64/libc-2.14.90.so
vim     7230 art  mem    REG    8,2    145176  4980852 /lib64/libpthread-2.14.90.so
vim     7230 art  mem    REG    8,2     22696  4980869 /lib64/libdl-2.14.90.so
vim     7230 art  mem    REG    8,2     48128  4980853 /lib64/librt-2.14.90.so
vim     7230 art  mem    REG    8,2    603096  4980862 /lib64/libm-2.14.90.so
vim     7230 art  mem    REG    8,2     89592  4980864 /lib64/libgcc_s-4.6.3-20120306.so.1
vim     7230 art  mem    REG    8,2    122536  4980909 /lib64/libresolv-2.14.90.so
vim     7230 art  mem    REG    8,2   1768576  5511386 /usr/lib64/libpython2.7.so.1.0
vim     7230 art  mem    REG    8,2     25472  5507774 /usr/lib64/libgpm.so.2.1.0
vim     7230 art  mem    REG    8,2    390288  4981185 /lib64/libfreebl3.so
vim     7230 art  mem    REG    8,2     20144  4981210 /lib64/libattr.so.1.1.0
vim     7230 art  mem    REG    8,2    162128  4981202 /lib64/libtinfo.so.5.9
vim     7230 art  mem    REG    8,2     17512  4981201 /lib64/libutil-2.14.90.so
vim     7230 art  mem    REG    8,2     34392  4981212 /lib64/libacl.so.1.1.0
vim     7230 art  mem    REG    8,2    120624  4980926 /lib64/libnsl-2.14.90.so
vim     7230 art  mem    REG    8,2   1552816  5777033 /usr/lib64/perl5/CORE/libperl.so
vim     7230 art  mem    REG    8,2    951176  5510911 /usr/lib64/libruby.so.1.8.7
vim     7230 art  mem    REG    8,2     62552  4980826 /lib64/libnss_files-2.14.90.so
vim     7230 art  mem    REG    8,2 104997456  5507757 /usr/lib/locale/locale-archive
vim     7230 art    0u   CHR  136,3       0t0        6 /dev/pts/3
vim     7230 art    1u   CHR  136,3       0t0        6 /dev/pts/3
vim     7230 art    2u   CHR  136,3       0t0        6 /dev/pts/3
vim     7230 art    3u   REG    8,5     12288 11273358 /home/art/.archivodeprueba.swp

Si tuviera un puerto abierto aparecería algo como:

java    4643 acloc  121u  inet 0xe0000001b7328a00      0t0   TCP *:8009 (LISTEN)

Ahora, si de antemano se tiene el puerto abierto, se puede usar éste artículo para encontrar el ejecutable del proceso

27 septiembre 2012

Borrado rápido en VI

Vi tiene mil comandos de teclas, unos muy útiles son para borrar palabras o líneas.

  • Borrar desde una línea N hasta el inicio del archivo, se debe usar la secuencia: Escape 1 G        así tal cual presionar la tecla escape, el número 1 y G mayúscula (Shift + G)
  • Borrar desde una línea N hasta el final del archivo, se debe usar la secuencia: Escape G           esto es, presionar Escape y G mayúscula.
  • Borrar un caracter, para borrar un caracter hay que estar en modo Escape y presionar la letra x esto borra un caracter a la derecha, si no existen más carácteres a la derecha, comienza a borrar hacia la izquierda.
  • Borrar una palabra completa, para borrar una palabra completa (hacia la derecha) se presiona la tecla w también en modo escape.

Evitar el indent en VI


Puede pasar a veces que al copiar texto en VI, comience a colocar tabs en las líneas del archivo despues de caracteres como : ; , esto es que tiene habilitada la configuración de identar las líneas, lo que puede ser útil si se programa, pero una manera fácil de quitar esto temporalmente es usando el comando de vi:

:set noautoindent

Ojo, que primero hay que borrar lo copiado y después lo volvemos a pegar y será como el original :D