LPIC-1 101.1: information gathering y manipulación de hardware
Cerrarmos el ciclo de LPIC-1 101.1 con esta otra parte con algunas interesantes herramientas que deberías dominar para obtener información de tus dispositivos de hardware y también para manipularlos. Con eso terminamos el Tema 101.1 dedicado a obtener información sobre el hardware que compone la máquina y su configuración básica.
Recapitulemos un poco… Ya hemos realizado una introducción sobre todo lo que necesitabas saber para acceder a los exámenes y conseguir las certificaciones de LPI. Después comenzamos con la primera parte del LPIC-1 Tema 101.1 sobre dispositivos, y más tarde la segunda parte del LPIC-1 Tema 101.1 sobre la interfaz /sys y los sistemas udev y dbus. Y ahora, con esta tercera parte terminamos con la introducción sobre las herramientas relacionadas con el hardware.
ÍNDICE:
Herramientas y utilidades
Ya dispones de gran cantidad de opciones para obtener información y manipular dispositivos de hardware en tu sistema, sin necesidad de instalar programas adicionales. Ya deberías saber a estas alturas que los dispositivos son ficheros, y por tanto todas las herramientas para gestionar ficheros son útiles para los dispositivos de /dev. A ellas hay que agregar otras adicionales que se encuentran ya preinstaladas, e incluso algunas que podemos agregar instalando paquetes adicionales.
En cuanto a las básicas que son las que se tratan en LPIC, te propongo echarle un ojo a los siguientes ejemplos prácticos.
Me gustaría que siempre tengas este blog abierto a un lado de tu pantalla y en el otro lado un terminal donde ir ejecutando los comandos que muestro o entrando en las rutas citadas. Creo que así será mucho mejor para tu aprendizaje que simplemente limitarte a leer…
lspci y setpci
Muestra información sobre dispositivos conectados a un bus PCI o aquellas que Linux trata también como tales (IDE/SATA, AGP, PCI Express, adaptadores y controladores integrados, etc.):
lspci lspci | grep vga man lspci
En cuanto a setpci, lo que hace es configurar dispositivos PCI:
*Usa la opción -D para que simplemente se simule la acción, pero no escribir nada en los registros de configuración. Te lo aconsejo si no sabes bien lo que estás haciendo…
man setpci setpci –d *:* latency_timer=40 setpci –s 0 device_id vendor_id setpci –s 0:1.7 3c.l=2,5,7 man setpci
Los comandos anteriores lo que hacen respectivamente es:
- Muestra el manual de setpci
- Cambia la latencia a 64 (40 en hexadecimal) para todos los dispositivos PCI.
- Lista los IDs de dispositivos en el slot 0
- Escribir el valor 2, 5 y 7 tipo longword en los registros 3c, 3d y 3e respectivamente para el dispositivo colocado en el bus 0, slot 1 y función 7.
lsusb
Muestra información sobre los dispositivos USB tan populares en la actualidad. Sin opciones verás una lista de todos los controladores USB disponibles y si están usados o no. Puedes realizar pruebas ejecutando varias veces la siguiente órden y conectando o desconectando dispositivos de tu equipo, o especificar un dispositivo concreto usando el nº_bus:nº_dispositivo:
lsusb lsusb -s 002:003
lsdev
También existe este otro comando (incluido en el paquete procinfo) para listar dispositivos del sistema, los que están en /dev, es decir, sobre el hardware instalado. Por ejemplo:
#Mostrar información sobre el hardware lsdev #También puedes usar opciones como -t clase, -s subclase, -t tipo, para seleccionar subtipos de dispositivos concretos #Más información man lsdev
Otras
Existen otras herramientas que te serán útil para obtener información valiosa del hardware:
Obtener información sobre el sistema operativo, versión del kernel, arquitectura, etc:
#Información general uname #Toda la información uname -a #Solo del kernel uname -s #La máquina uname -m #Sobre el procesador o arquitectura uname -p #La plataforma de hardware uname -i #Nonmbre del sistema operativo uname -o
Mostrar la cantidad de memoria libre y usada con free en megas y gigas:
free -m free -g man free
Arroja información sobre la memoria virtual del sistema con vmstat:
vmstat man vmstat
Visualizar información sobre las particiones de nuestro sistema, su tamaño, capacidad disponible y utilizada con df:
df -h
Conseguir información detallada de nuestro hardware con lshw, mostrarla en formato HTML y redireccionarla a un fichero para su análisis posterior, y el uso de clases para lanzar solo información específica sobre un determinado dispositivo (CPU, RAM, disco duro, red, sonido…)
lshw lshw -html > hardware.html lshw -C processor lshw -C memory lshw -C network lshw -C sound man lshw
lscpu coge la información de /proc/cpuinfo que tratamos en el primer artículo sobre LPIC-1 101.1. ¿Recuerdas?
lscpu man lscpu
Existe una herramienta creada por IBM y poco conocida relacionada con la anterior, ya que permite cambiar ciertos parámetros de la CPU en sistemas multiprocesador. Se llama chcpu:, por ejemplo, con la opción -d se puede deshabilitar y con -e habilitar CPUs, en el ejemplo se habilita la CPU 0, CPU 1, CPU 2, CPU 3, CPU4 y CPU 8:
chcpu -d 0,8 1-4 man chcpu
dmidecode muestra información leyendo la tabla SMBIOS o DMI. Puedes obtener toda la información o filtrar solo alguna concreta con la opción -t (segun tipo específicado) o -s:
sudo dmidecode sudo dmidecode -t 4 sudo dmidecode -s system-serial-number man dmidecode
Utilidades para trabajar con los módulos del kernel
Los módulos los describiremos con más detenimiento más adelante, pero ahora solamente quiero que entiendas que un módulo es un controlador o driver, y por tanto, si actuamos sobre ellos podremos afectar a la compatibilidad de los dispositivos de hardware del sistema.
Linux emplea un framework DKMS (Dynamic Kernel Module Support). Un framework usado por los módulos Linux que no residen dentro del árbol fuente del kernel, es decir, aquellos no esenciales para el arranque que se sacan fuera para no crear una imagen del kernel demasiado pesada. De esa forma, al instalar un nuevo kernel, se pueden reconstruir los módulos para que estén disponibles de forma inmediata.
lsmod
Con lsmod puedes listar los módulos del kernel y ver su estado:
lsmod
La información la extrae de /proc/modules y te puedes encontrar una primera columna Module con elnombre del módulo, su tamaño (Size), y el recuento de quién lo usa (Used by). Si alguno está marcado como unused significa que no está siendo usado y si está marcado como autoclean significa que el módulo será descargado de forma automática por el kernel si no es necesario.
modinfo
Si conoces el nombre de un módulo podrás conocer información detallada sobre él con modinfo. Por ejemplo, sobre el módulo video y drm:
modinfo drm modinfo video
Puedes usar la opción -k para especificar solo módulos de una versión de kernel concreta:
modinfo -k 4.4.0-21-generic video
O filtrar por la información filtrada por campo, en este caso, solo el nombre del fichero del módulo para vídeo:
modinfo -F filename video
modprobe
Puede añadir o eliminar módulos del kernel. Cogerá información y opciones de los ficheros de configuración, y si existen dependencias las resuelve de forma automática haciendo uso de los ficheros de configuración y modules.dep. Ejemplo:
modprobe vmhgfs
Puedes usar opciones como -n para simular la inserción, -f para forzar la carga aunque no sea compatible con la versión actual (podría generar problemas de inestabilidad, etc.), elimina un módulo indicado con -r, lista las opciones disponibles con -l, muestra las dependencias de un módulo -D, etc. Por ejemplo:
modprobe -D cdrom man modprobe
insmod
Igual al anterior solo que no resuelve dependencias, sino que se exige que los módulos de los que depende el módulo que queremos cargar estén ya cargados para que funcione. Si ponemos el ejemplo del módulo para la unidad óptica lo cargaríamos con:
insmod /lib/modules/linux-3.11/kernel/drivers/cdrom/cdrom.ko
rmmod
Es una herramienta para descargar o eliminar módulos cargados. Es decir, similar a modprobe -r, pero en este caso no se descargan los módulos de los que depende el módulo que tratamos de eliminar, solo se elimina el que indicamos. Ejemplo para eliminar un módulo de cdrom y forzar la eliminación en caso de que lo primero falle:
rmmod cdrom rmmod -f cdrom
Una opción menos extrema para evitar eliminar un módulo que está ya en funcionamiento sería usar la opción -w, que devuelve error si el módulo está en uso y no lo eliminaría hasta que esté desocupado:
rmmod -w ac97_bus
depmod
Analiza el directorio de módulos y actualiza el árbol de dependencias para generar modules.dep y el mapa de ficheros necesarios para manejar las dependencias. Si se usa sin opciones, o con la opción -a, reconstruye el fichero modules.dep para los módulos actuales:
depmod depmod -a
Con -w advierte de dependencias duplicadas, alias, versiones, etc.
Recuerda que si quieres explorar los módulos de tu sistema, puedes dirigirte a /lib/modules/<linux-kernel-versión>.
Antes de pasar al siguiente artículo sobre LPIC-1 101.2 en el que se analizará el proceso de arranque, publicaré otros artículos sobre otras temáticas para no hacerlo todo tan monótono…
Where can i buy isotretinoin North Ayrshire Levitra Pro Pas Cher Buy Celebrex In The Uk viagra Viagra Cialis Differences
Acheter Viagra Discret agoxCoth https://cialisse.com/ – Cialis excuccerbics Buy Xenical Uk towroneevord cialis online generic geardy Buy Metoprolol Without Scrop