Tuesday, 26 May 2015

Consejos y trucos, artículos básicos sobre configuraciones que ayudan a un mejor desempeño de nuestros SO's. Cada proceso ha sido personalmente comprobado.





Y continuamos con  la serie de Blogs en los que estamos aprendiendo acerca de los maravillosos y geniales comandos Linux.

El cajón de los comandos Linux es una guía de referencia rápida para todos los usuarios Linux que desean aprender los comandos de este gran SO. Los comandos se dividen en 15 categorías, lo cual nos permite tener un mayor entendimiento acerca de que comando utilizar en una específica situación. El agradecimiento total al creador de esta guía +Bobbin Zachariah.

Esta guía puede ser utilizada ya sea para usuarios nuevos o avanzados, proveyendo el mejor esfuerzo para dar a conocer los comandos Linux más relevantes. 

Así que empecemos con la 2ª parte de los comandos referentes a Hardware.

$ cat /proc/interrupts   


¿Qué es una solicitud de interrupción (IRQ)?
 
En un ordenador una solicitud de interrupción (IRQ) es una señal de hardware enviada al procesador que temporalmente detiene un programa en ejecución y permite que otro programa especial, un encargado de interrupciones, se pueda ejecutar en su lugar. Para tener información más clara acerca de este comando, les puedo decir que las interrupciones son usadas para manejar eventos tales como: recibir datos de un modem o red, presionar algún carácter en nuestro teclado o algún movimiento en el ratón.

Este archivo /proc/interrupts  nos muestra una lista en donde se enumera las interrupciones por cpu, así como también de los dispositivos de entrada y salida, este muestra el número IRQ (interrupt request), el número de las interrupciones manejada por cada núcleo del cpu, el tipo de interrupción y una lista delimitada por comas de los dispositivos que estan registrados para recibir dicha interrupción. Este se registró desde Linux 2.6.24, para las arquitecturas i386 y x86_64.

Veamos un ejemplo de mi portátil con un procesador doble núcleo:


Para más detalles e información nos podemos referir a man 5 proc en la consola.


$ lshw

Hay muchas maneras con las cuales podemos encontrar información acerca de la configuración de hardware en un sistema Unix-like. Podemos obtener la información directamente de /proc, también podemos usar lspci, etc. Y si estamos usando X entonces hay muchas otras formas de ver dicha información en una manera bonita. Sin embargo me gustaría mostrarles el poder de esta pequeña herramienta lshw, la cual encuentro muy útil, por ejemplo, al estar utilizando una conección SSH, podemos hechar un vistazo a los detalles de hardware en el sistema. LSHW puede mostrarnos la configuración exacta de memoria, versión de "firmware", configuración de tarjeta madre, versión y velocidad de CPU, configuración de caché, velocidad de bus, etc.


¿Cómo instalar la herramienta si no la tengo?

La instalación es realmente sencilla, en modo gráfico podemos utilizar Synaptic o si preferimos utilizar nuestra linea de comandos para las distros Linux basadas en Debian corremos: aptitude install lshw; para los sistemas Red Hat, Fedora y CentOS si tenemos el repositorio DAG solo usamos: up2date lshw, si no, simplemente yum install lshw.

Una vez instalado en nuestro sistema su uso es más que fácil. Normalmente este comando lo utilizo con el parámetro -short, para hechar un vistazo a los detalles de hardware en el sistema; si queremos podemos imprimir el resultado en formato html o xml. Si usamos este comando sin parámetros nos mostrará una lista completa de detalles. Aquí les dejo un ejemplo tomado de una portátil HP14, que debido a la amplia información he usado el parámetro -short. 



Si estamos utilizando X entonces probablemente queramos también ver la elegante interfaz gráfica que provee lshw. Para esto, claro, necesitaremos instalar el paquete lshw-gtk en la familia Debian  y lshw-gui en la familia RHEL/CentOS/Fedora.

Para más detalles podemos también visitar la página oficial del proyecto lshw dando clic AQUÍ.

Esto ha sido todo en cuanto al uso de lshw para más información referirse a man, help o info en la consola.


$ lsblk

El comando lsblk (listar dispositivos orientados a bloques) es usado para mostrar información acerca de todos los dispositivos orientados a bloques, sin embargo, este no incluye en la lista información acerca de los discos RAM. Ejemplos de dispositivos orientados a bloques son: disco duro, memorias usb, CD-ROM, etc.

¿Cómo instalar lsblk?

Este comando viene en el paquete util-linux-ng, luego renombrado en enero de 2011 a util-linux  la cual es la versión oficial del paquete; este que también incluye utilidades tales como  dmesg. Si dicho paquete no se encuentra instalado en tu distro puedes descargarlo dando clic AQUÍ. Para los usuarios de Fedora pueden instalar util-linux ejecutando el comando  yum install util-linux-ng.  

Imprimiendo el listado por defecto.

El comando lsblk por defecto mostrará todos los dispositivos orientados a bloques en un diagrama de árbol. Abrimos nuestra terminal escribimos el comando y presionamos "enter".


Hay siete columnas nombradas:

NAME: Este es el nombre del dispositivo.
MAJ:MIN: Esta columna muestra los números mayor y menor del dispositivo.
RM: Esta columna muestra si el dispositivo puede ser renombrado o no, nota en este ejemplo que los dispositivos sdb y sdc  tienen sus valores RM iguales a 1 indicando que son removibles.
SIZE: Esta columna da información del tamaño del dispositivo por ejemplo 50G indica que el dispositivo es de 50 gigas y 1K indica que el tamaño del dispositivo es 1KB.
RO: Esto no indica si un dispositivo es solamente de lectura. En este caso todos los dispositivos tienen un RO=0, indicando que no son solo de lectura.
TYPE: Esta columna muestra información si el dispositivo es un disco o una partición (dentro de un disco). En este ejemplo sda y sdb son discos sin embargo, si tubieramos un sr0 este sería una memoria de solo lectura (rom).
MOUNTPOINT: Esta columna indica el punto en el cual el dispositivo está montado.


Listar todos los dispositivos.
La opción por defecto no imprime los dispositivos vacíos, para verlos podemos usar el parámetro -a, veamos:



Mostrar los permisos y el propietario de cada dispositivo.
El comando lsblk puede también ser usado para imprimir la propiedad de un dispositivo en particular, así como también el grupo y modo. Esto lo logramos con el parámetro -m.



Imprimir un dispositivo específico.
Es posible también obtener información acerca de un solo dispositivo, esto puede ser alcanzado después de especificar el nombre del dispositivo, luego de la opción proveida a lsblk. Por ejemplo podríamos estar interesados en saber el tamaño de nuestro disco duro en bytes. Podemos hacerlo ya sea con lsblk -b /dev/sda o si prefieres puedes usar lsblk --bytes /dev/sda.


Solicitar una lista de los dispositivos sin encabezado.

Podemos a la vez combinar varias opciones para obtener un resultado específico; por ejemplo probablemente queramos ver una lista simple en lugar del diagrama de árbol. Probablemente estemos interesados en remover el encabezado el cual nombra cada una de las columnas, para esto tenemos 2 diferentes opciones las cuales podemos combinar para obtener el resultado deseado, en el ejemplo utilizaré lsblk -nl, pero también, podemos utilizar lsblk --noheadings --list.


Esto ha sido todo en cuanto al uso de lsblk para más información referirse a man, help ó info en la consola.

¿Cómo poder ver el listado de dispositivos SCSI?

En el pasado la herramienta lsblk nos permitía poder realizar dicha tarea, con las opciones -S, -s o --inverse, sin embargo estos parámetros ya no estan más disponibles.
Para dicho objetivo utilizaremos en su lugar otra herramienta llamada lsscsi, de la cual hablaré de manera general únicamente. Con este comando podemos ver varios conductos usados en el sistema tales como ATA, canales de Fibra (FC), IEEE 1394 (SBP), iSCSI (apuntados únicamente), SCSI de interfaz paralela (SPI), Seriales SCSI atados (SAS), SATA, y USB.
Probablemente no venga esta herramienta predeterminada en tu distribución, pero su instalación es muy sencilla; para la familia Debian apt-get install lsscsi, y para la familia RHEL/CentOS yum install lsscsi.

Las opciones que muestran informacion relacionada a los dispositivos SCSI son:
-d Después de haber insertado el (probable) dispositivo externo scsi.
-g Muestra el nombre del archivo de los dispositivos scsi genericos.
-H Imprime los "hosts" SCSI actualmente atados al sistema.
-I Nos da información adicional de cada dispositivo SCSI (host).

Para funciones adicionales (que son muchas más) de este comando referirse a man, help ó info en la consola. 


Saludos especiales a tod@s espero este aporte pueda ser de su ayuda. Si les fue útil compartan o comenten.