Configuración de equipos
De XTech Capacitacion
La configuración de equipos en Linux difiere en muchas cosas a la configuración de otros sistemas operativos, en especial de los sistemas operativos no libres.
Podríamos decir que, una vez que conocemos bien la forma de trabajo, una pequeña parte de las tareas de administración se deben hacer en forma local, pero la mayoría de las tareas se pueden hacer en forma remota. Y esto es una gran noticia para el administrador de una red.
Tabla de contenidos |
Identificación y Detección de dispositivos en Linux
Discos IDE
[root@lagonegro sergio]# cat /proc/ide/drivers ide-cdrom version 4.61 ide-disk version 1.18 [root@lagonegro sergio]# cat /proc/ide/ide0/hda/model Maxtor 6E030L0
Dispositivos PCI
lagonegro:/home/sergio# lspci 0000:00:00.0 Host bridge: nVidia Corporation nForce CPU bridge (rev b2) 0000:00:00.1 RAM memory: nVidia Corporation nForce 220/420 Memory Controller (rev b2) 0000:00:00.2 RAM memory: nVidia Corporation nForce 220/420 Memory Controller (rev b2) 0000:00:00.3 RAM memory: nVidia Corporation: Unknown device 01aa (rev b2) 0000:00:01.0 ISA bridge: nVidia Corporation nForce ISA Bridge (rev c3) 0000:00:01.1 SMBus: nVidia Corporation nForce PCI System Management (rev c1) 0000:00:02.0 USB Controller: nVidia Corporation nForce USB Controller (rev c3) 0000:00:03.0 USB Controller: nVidia Corporation nForce USB Controller (rev c3) 0000:00:04.0 Ethernet controller: nVidia Corporation nForce Ethernet Controller (rev c2) 0000:00:05.0 Multimedia audio controller: nVidia Corporation: Unknown device 01b0 (rev c2) 0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce Audio (rev c2) 0000:00:08.0 PCI bridge: nVidia Corporation nForce PCI-to-PCI bridge (rev c2) 0000:00:09.0 IDE interface: nVidia Corporation nForce IDE (rev c3) 0000:00:1e.0 PCI bridge: nVidia Corporation nForce AGP to PCI Bridge (rev b2) 0000:01:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 0000:02:00.0 VGA compatible controller: nVidia Corporation NVCrush11 [GeForce2 MX Integrated Graphics] (rev b1) En Mandriva Linux se puede utilizar la herramienta lspcidrake, que además muestra los dispositivos USB. [root@lagonegro sergio]# lspcidrake nvidia-agp : nVidia Corp.|nForce AGP Controller [BRIDGE_HOST]. unknown : nVidia Corp.|nForce 220/420 Memory Controller [MEMORY_RAM]. forcedeth : nVidia Corp.|nForce Ethernet Controller [MEMORY_RAM]. unknown : nVidia Corp.|nForce 220 Memory Controller (DDR) [MEMORY_RAM]. unknown : nVidia Corp.|nForce Joystick [BRIDGE_ISA]. i2c-amd756 : nVidia Corp.|nForce SMBus Controller [SERIAL_SMBUS]. usb-ohci : nVidia Corp.|nForce USB Controller [SERIAL_USB]. usb-ohci : nVidia Corp.|nForce USB Controller [SERIAL_USB]. forcedeth : nVidia Corp.|nForce MCP Networking Adapter [NETWORK_ETHERNET]. unknown : nVidia Corp.|nForce MCP Audio Processing Unit (Dolby Digital) [MULTIMEDIA_AUDIO]. snd-intel8x0 : nVidia Corp.|nForce Audio Codec Interface [MULTIMEDIA_AUDIO]. unknown : nVidia Corp.|nForce PCI Bridge [BRIDGE_PCI]. amd74xx : nVidia Corp.|nForce ATA Controller [STORAGE_IDE]. unknown : nVidia Corp.|nForce AGP Host to PCI Bridge [BRIDGE_PCI]. 8139too : Realtek|RTL-8139 [NETWORK_ETHERNET] Card:NVIDIA GeForce2 Integrated (generic): nVidia|GeForce2 Integrated GPU [DISPLAY_VGA]. hub : Linux 2.6.11-6mdk ohci_hcd|OHCI Host Controller [Hub|Unused]. hub : Linux 2.6.11-6mdk ohci_hcd|OHCI Host Controller [Hub|Unused]. usblp : Epson Corp.|USB Printer [Printer|Printer|Bidirectional].
Dispositivos USB
[root@lagonegro sergio]# lsusb Bus 002 Device 001: ID 0000:0000 Bus 001 Device 003: ID 08ec:0008 M-Systems Flash Disk Pioneers Bus 001 Device 002: ID 04b8:0005 Seiko Epson Corp. Stylus Printer Bus 001 Device 001: ID 0000:0000
Procesador
[root@lagonegro sergio]# cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 8 model name : AMD Athlon(TM) XP 1800+ stepping : 1 cpu MHz : 1536.991 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse pni syscall mmxext 3dnowext 3dnow bogomips : 3039.23
Memoria
[root@lagonegro sergio]# cat /proc/meminfo MemTotal: 223372 kB MemFree: 7824 kB Buffers: 4708 kB Cached: 75340 kB SwapCached: 19708 kB Active: 158384 kB Inactive: 34020 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 223372 kB LowFree: 7824 kB SwapTotal: 2168692 kB SwapFree: 2059668 kB Dirty: 148 kB Writeback: 0 kB Mapped: 152236 kB Slab: 14336 kB CommitLimit: 2280376 kB Committed_AS: 857984 kB PageTables: 4264 kB VmallocTotal: 806904 kB VmallocUsed: 9936 kB VmallocChunk: 795768 kB
Acerca de los Winmodems
Un Winmodem es un modem por software diseñado para funcionar con MS Windows. Un modem tradicional usa el hardware para realizar sus tareas, pero los Winmodems realizan sus tareas con software.
Esto lo vuelve más pequeños y más baratos para producir, pero también significa que no pueden ser usados fácilmente en otros sistemas operativos porque el soporte del driver requiere mucho más esfuerzo para producirlo. Además, consumen algo de ciclos de CPU, lo cual puede hacer más lentas las aplicaciones en computadoras viejas.
Los winmodems se pueden dividir en dos clases: modem sin controlador y softmodems puros. Los primeros,tales como los que hace Lucent y Motorola realizan la mayoría del trabajo en la placa y requiere solamente pequeñas cantidades del poder de la CPU. Los softmodems puros realizan toda la emulación de un modem tradicional en la CPU, siendo los estándares HCF y HSF de Conexant los más comunes.
Herramientas para configurar o mostrar las propiedad y/o estado de los dispositivos
lshw
- Es una potente herramienta de texto para extraer información sobre el hardware presente.
[root@lagonegro sergi]# lshw -short
H/W path Device Class Description
==========================================================
system System Name
/0 bus A7N266VM
/0/0 memory BIOS
/0/4 processor AMD Athlon(TM) XP 1800+
/0/4/8 memory L1 cache
/0/4/9 memory L2 cache
/0/20 memory System Memory
/0/20/0 memory DIMM DRAM Synchronous
/0/20/1 memory DIMM DRAM Synchronous
/0/f8000000 bridge nForce CPU bridge
/0/f8000000/0.1 memory nForce 220/420 Memory Controller
/0/f8000000/0.2 memory nForce 220/420 Memory Controller
/0/f8000000/0.3 memory nVidia Corporation
/0/f8000000/1 bridge nForce ISA Bridge
/0/f8000000/1.1 bus nForce PCI System Management
/0/f8000000/2 /dev/fb0 bus nForce USB Controller
/0/f8000000/2/1 usb1 bus OHCI Host Controller
/0/f8000000/2/1/1 printer USB Printer
/0/f8000000/2/1/2 scsi0 storage DataTraveler 2.0
/0/f8000000/2/1/2/0.0.0 /dev/sda disk DataTraveler 2.0
/0/f8000000/3 bus nForce USB Controller
/0/f8000000/3/1 usb2 bus OHCI Host Controller
/0/f8000000/4 eth0 network nForce Ethernet Controller
/0/f8000000/5 multimedia nForce Audio
/0/f8000000/6 multimedia nForce Audio
/0/f8000000/8 bridge nForce PCI-to-PCI bridge
/0/f8000000/8/7 eth1 network RTL-8139/8139C/8139C+
/0/f8000000/9 storage nForce IDE
/0/f8000000/9/0 ide0 bus IDE Channel 0
/0/f8000000/9/0/0 /dev/hda disk Maxtor 6E030L0
/0/f8000000/9/1 ide1 bus IDE Channel 1
/0/f8000000/9/1/0 /dev/hdc disk LITE-ON DVDRW LDW-851S
/0/f8000000/1e bridge nForce AGP to PCI Bridge
/0/f8000000/1e/0 display NVCrush11 [GeForce2 MX Integrated Graphics]
Harddrake2
- Se trata de la poderosa herramienta que viene en Mandriva Linux para configurar el hardware, al cual se puede acceder desde el Mandriva Control Center.
HardInfo
- Es otro utilitario gráfico desarrollado con las librerías de GNOME. Además de mostrar información del sistema operativo, puede mostrar datos de dispositivos PCI, ISA PnP, USB,IDE, SCSI, y dispositivos de puerto serie y paralalo.
Estudio detallado del sistema de archivos proc
El directorio /proc es virtual, su contenido está en memoria. Contiene información de los procesos, dispositivos, protocolos de red, etc. Es en realidad una manera en que el usuario y/o el administrador del sistema puede acceder a datos del núcleo. La mayoría de los archivos son de sólo lectura, aunque algunos se pueden modificar y de esta manera cambiar la configuración del sistema.
Sistemas de archivos
lagonegro:/proc# cat filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev sockfs nodev futexfs nodev tmpfs nodev pipefs nodev eventpollfs nodev devpts ::ext2 ::cramfs nodev ramfs nodev devfs nodev mqueue ::ext3 nodev usbfs nodev usbdevfs
Regiones de entrada y salida de los puertos que están en uso
lagonegro:/proc# cat ioports
0000-001f : dma1
0020-0021 : pic1
0040-005f : timer
0060-006f : keyboard
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0290-0297 : pnp 00:13
02f8-02ff : serial
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vga+
03f0-03f1 : pnp 00:13
03f6-03f6 : ide0
03f8-03ff : serial
0cf8-0cff : PCI conf1
5000-500f : 0000:00:01.1
5100-511f : 0000:00:01.1
5500-550f : 0000:00:01.1
a800-a80f : 0000:00:09.0
a800-a807 : ide0
a808-a80f : ide1
b000-bfff : PCI Bus #01
b800-b8ff : 0000:01:07.0
b800-b8ff : 8139too
d800-d807 : 0000:00:04.0
d800-d807 : forcedeth
e000-e07f : 0000:00:06.0
e000-e03f : NVIDIA nForce Audio
e100-e1ff : 0000:00:06.0
e100-e1ff : NVIDIA nForce Audio
e400-e47f : pnp 00:13
ec00-ec3f : pnp 00:13
Información de los procesos
Seguramente se habrá notado que los nombres de muchos directorios dentro del directorio /proc son números, esos valores corresponden a PIDs (Identificadores de Procesos) de los procesos actuales. Dentro de cada uno de esos directorios contiene la información sobre dicho proceso. Si ejecuta el comando ls -lR [0-9]* |less se obtiene algo así:
Información sobre PCMCIA
Se encuentra en /proc/bus/pccard
Información sobre teclado, mouse, etc.
[root@lagonegro rules.d]# cat /proc/bus/input/devices I: Bus=0011 Vendor=0001 Product=0001 Version=ab41 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 H: Handlers=kbd event0 B: EV=120013 B: KEY=4 2000000 2b803878 f840d001 f2ffffdf ffefffff ffffffff fffffffe B: MSC=10 B: LED=7 I: Bus=0011 Vendor=0002 Product=0004 Version=0000 N: Name="GenPS/2 Genius Wheel Mouse" P: Phys=isa0060/serio1/input0 H: Handlers=mouse0 event1 ts0 B: EV=7 B: KEY=1f0000 0 0 0 0 0 0 0 0 B: REL=103
Estadísticas de discos
[root@lagonegro rules.d]# cat /proc/diskstats 1 0 ram0 0 0 0 0 0 0 0 0 0 0 0 1 1 ram1 0 0 0 0 0 0 0 0 0 0 0 1 2 ram2 0 0 0 0 0 0 0 0 0 0 0 1 3 ram3 0 0 0 0 0 0 0 0 0 0 0 1 4 ram4 0 0 0 0 0 0 0 0 0 0 0 1 5 ram5 0 0 0 0 0 0 0 0 0 0 0 1 6 ram6 0 0 0 0 0 0 0 0 0 0 0 1 7 ram7 0 0 0 0 0 0 0 0 0 0 0 1 8 ram8 0 0 0 0 0 0 0 0 0 0 0 1 9 ram9 0 0 0 0 0 0 0 0 0 0 0 1 10 ram10 0 0 0 0 0 0 0 0 0 0 0 1 11 ram11 0 0 0 0 0 0 0 0 0 0 0 1 12 ram12 0 0 0 0 0 0 0 0 0 0 0 1 13 ram13 0 0 0 0 0 0 0 0 0 0 0 1 14 ram14 0 0 0 0 0 0 0 0 0 0 0 1 15 ram15 0 0 0 0 0 0 0 0 0 0 0 3 0 hda 14156 1198 623274 193058 14387 23798 305560 370496 0 102892 563554 3 1 hda1 279 4242 129 1008 3 2 hda2 18 144 0 0 3 3 hda3 398 922 5 16 3 4 hda4 1 2 0 0 3 5 hda5 10931 570418 18079 144632 3 6 hda6 3716 47394 19995 159904 9 0 md0 0 0 0 0 0 0 0 0 0 0 0 7 0 loop0 0 0 0 0 0 0 0 0 0 0 0 7 1 loop1 0 0 0 0 0 0 0 0 0 0 0 7 2 loop2 0 0 0 0 0 0 0 0 0 0 0 7 3 loop3 0 0 0 0 0 0 0 0 0 0 0 7 4 loop4 0 0 0 0 0 0 0 0 0 0 0 7 5 loop5 0 0 0 0 0 0 0 0 0 0 0 7 6 loop6 0 0 0 0 0 0 0 0 0 0 0 7 7 loop7 0 0 0 0 0 0 0 0 0 0 0 22 0 hdc 10 37 352 2797 0 0 0 0 0 2797 2797 2 0 fd0 0 0 0 0 0 0 0 0 0 0 0 8 0 sda 78 43 506 730 0 0 0 0 0 730 730 8 1 sda1 48 153 0 0 8 2 sda2 48 153 0 0
DKMS
Se trata de una estructura creada por Dell que permite manipular las fuentes de los módulos del kernel. Sucede a veces se produce un desfasaje entre las fechas de nuevas versiones de drivers por parte de vendedores de hardware y las versiones de una distribución. Con DKMS no hay necesidad de compilar un kernel nuevo: se pueden convertir módulos para que sean adaptados a la versión de un kernel en producción. Un estado módulo puede estar en cuatro estados:
- Fuera del árbol de fuentes del kernel
- Dentro del árbol de las fuentes del kernel
- Compilado
- Instalado
dkms posee la capacidad de hacer estas tareas de acuerdo a un archivo /etc/dkms.conf, además posee un servicio para autoinstalar módulos en el arranque del sistema.
sysfs, haldaemon y udev
A partir de la versión 2.6 del kernel Linux comenzó a utilizarse un nuevo sistema de archivos llamado sysfs. Este sistema de archivos es virtual y se monta sobre el directorio /sys. Es un directorio con información específica de hardware. El servicio haldaemon extrae datos para de /sys para ser utilizado por aplicaciones de escritorio. El servicio udev sirve para mejorar el uso del directorio /dev (que contiene los archivos que son nodos de dispositivos en general) y para manejar el comportamiento del sistema frente a eventos relacionados con dispositivos de bloque, red, usb, etc. También se basa en la información que extrae del directorio /sys para trabajar.
El archivo de configuración principal es /etc/udev.conf.
[root@lagonegro sergi]# cat /etc/udev/udev.conf # udev.conf # Where in the filesystem to place the device nodes udev_root="/dev" # The name and location of the udev database. udev_db="/dev/.udevdb" # The name and location of the udev rules file(s). udev_rules="/etc/udev/rules.d" # The syslog(3) priority: "err", "info", or the numerical value. udev_log="err"
Dentro del directorio de reglas, Las reglas de udev se leen en los archivos ubicados en el directorio /etc/udev/rules.d o en la ubicación especificada en el archivo de configuración. Cada línea en los archivos de reglas contiene al menos un par de valores de clave. Hay dos clases de claves, claves de comparación y de asignación. Si todas las claves de comparación concuerdan con su valor, la regla se aplica y las claves obtienen el valor especifico asignado. Una regla de comparación puede:
- Declarar el nombre del nodo del dispositivo.
- Crear un enlace simbólico apuntando al archivo especial
- Lanzar un determinado programad de acuerdo al evento.
- Si no se encuentran reglas de comparación, se usa el nombre del nodo del dispositivo predeterminado. Una regla consiste de una lista de una o más pares de claves seguidas por una coma.
Los archivos de reglas contienen al menos un par de valores de claves.
Fragmento de un archivo de reglas:
# IDE devices
BUS="ide", KERNEL=="hd[a-z]", SYSFS{removable}="1", \
PROGRAM=="/bin/cat /proc/ide/%k/media", RESULT="cdrom*", \
GROUP="cdrom"
BUS="ide", KERNEL=="hd[a-z]", SYSFS{removable}="1", \
PROGRAM=="/bin/cat /proc/ide/%k/media", RESULT="floppy*", \
GROUP="floppy"
Para más información leer el manual de udev.
En la imagen siguiente se muestra un ejemplo de como el udev actúa cuando se monta un el sistema de archivos de un DVD (se subió el nivel de syslog a info en udev.conf):
Diapositivas: SSH, Dispositivos y Sistema de Ventanas X
Bibliografía:
Hardware-HOWTO [1]
Notebooks http://www.linux-laptop.net
Debian: http://www.debian.org/releases/stable/i386/ch02s01.html.es
Mandriva Linux: http://www1.mandrivalinux.com/en/hardware.php3
Winmodems: http://www.linmodems.org/
Proyecto DKMS http://linux.dell.com/projects.shtml#dkms





