Ubicaciones Principales de los Controladores
Ubicaciones Principales de los Controladores
1. /lib/modules/ - Ubicación PRINCIPAL
# Módulos del kernel (controladores) cargados
/lib/modules/$(uname -r)/kernel/
# Ejemplo para ver controladores específicos
ls /lib/modules/$(uname -r)/kernel/drivers/Dentro de esta carpeta encontrarás subdirectorios organizados por tipo:
/lib/modules/$(uname -r)/kernel/drivers/
├── audio/ # Controladores de audio
├── bluetooth/ # Controladores Bluetooth
├── net/ # Controladores de red
├── usb/ # Controladores USB
├── video/ # Controladores de video
├── input/ # Dispositivos de entrada (teclado, ratón)
├── gpio/ # GPIO y dispositivos embebidos
└── ...2. /sys/ - Sistema de Archivos Sysfs
# Información en tiempo real de dispositivos y controladores
/sys/bus/ # Dispositivos por tipo de bus
/sys/class/ # Dispositivos por clase
/sys/devices/ # Todos los dispositivos del sistemaEjemplos específicos:
# Controladores de video
ls /sys/class/video4linux/
# Controladores de audio
ls /sys/class/sound/
# Controladores de red
ls /sys/class/net/
# Controladores USB
ls /sys/bus/usb/drivers/3. /proc/ - Sistema de Archivos Procfs
# Módulos cargados actualmente
cat /proc/modules
# Dispositivos del sistema
cat /proc/devices
# Información de PCI (tarjetas de video, red, etc.)
lspci -k # Muestra dispositivos y controladores usados4. /usr/src/ - Código Fuente de Controladores
# Código fuente de controladores (si están instalados)
/usr/src/linux-headers-$(uname -r)/Comandos para Gestionar y Ver Controladores
Ver Controladores Cargados
# Listar todos los módulos cargados
lsmod
# Información detallada de un módulo
modinfo nombre_del_controlador
# Ver dispositivos PCI/PCIe y sus controladores
lspci -k
# Ver dispositivos USB y controladores
lsusb -tEjemplos Prácticos por Tipo
Controladores de Video:
# Ver controladores de gráficos cargados
lsmod | grep -i drm
lsmod | grep -i nvidia
lsmod | grep -i amdgpu
# Información de controladores de video
modinfo nvidia
modinfo amdgpu
modinfo i915 # Intel GraphicsControladores de Audio:
# Controladores de audio
lsmod | grep -i snd
modinfo snd_hda_intel
# Dispositivos de audio disponibles
aplay -l
cat /proc/asound/cardsControladores de Red:
# Controladores de red
lsmod | grep -i network
lsmod | grep -i wifi
lsmod | grep -i ethernet
# Información específica
modinfo iwlwifi # WiFi Intel común
modinfo e1000e # Ethernet IntelControladores USB:
# Controladores USB
lsmod | grep -i usb
modinfo usbcore
modinfo xhci_hcd # USB 3.0Gestión de Controladores
Cargar y Descargar Controladores
# Cargar un controlador
sudo modprobe nombre_del_controlador
# Descargar un controlador
sudo modprobe -r nombre_del_controlador
# Cargar al arranque
echo "nombre_del_controlador" | sudo tee -a /etc/modulesSolución de Problemas
# Ver mensajes del kernel relacionados con controladores
dmesg | grep -i error
dmesg | grep -i driver
# Ver hardware no reconocido
lshw
lshw -shortEstructura Completa de Ejemplo
/
├── lib/modules/5.15.0-91-generic/ <-- Módulos del kernel actual
│ └── kernel/drivers/
│ ├── net/ethernet/intel/e1000e.ko
│ ├── sound/pci/snd-hda-intel.ko
│ ├── gpu/drm/amd/amdgpu/amdgpu.ko
│ └── ...
├── sys/class/ <-- Dispositivos en tiempo real
│ ├── net/eth0/device/driver/
│ ├── sound/card0/device/driver/
│ └── ...
└── proc/ <-- Información del kernel
├── modules
└── devicesResumen de Comandos Esenciales
| Comando | Función |
|---|---|
lsmod | Listar módulos cargados |
modinfo | Información de un controlador |
lspci -k | Dispositivos PCI y controladores |
lsusb -t | Dispositivos USB y controladores |
dmesg | Mensajes del kernel |
modprobe | Cargar/descargar controladores |
Conclusión: Los controladores en Linux no están en una sola carpeta, sino distribuidos en /lib/modules/ (binarios), /sys/ (estado en tiempo real), y /proc/ (información del kernel). Esta organización refleja la filosofía de Linux de que "todo es un archivo".
Distribución de Archivos al Instalar un Programa
1. Binarios Ejecutables (/usr/bin/, /usr/local/bin/)
# Comandos principales del programa
/usr/bin/soffice # Ejecutable principal de OpenOffice
/usr/bin/wordprocessor # Componentes individuales
# Programas compilados manualmente
/usr/local/bin/2. Librerías del Programa (/usr/lib/, /usr/lib64/)
# Librerías compartidas y componentes
/usr/lib/libreoffice/
/usr/lib/openoffice/
/usr/lib/nombre_programa/
# Arquitectura 64 bits
/usr/lib64/3. Archivos de Configuración (/etc/)
# Configuración global del programa
/etc/nombre_programa/
/etc/openoffice/ # Posible configuración de OpenOffice4. Archivos de Datos y Recursos (/usr/share/)
# Archivos de recursos (plantillas, iconos, documentación)
/usr/share/applications/ # Accesos directos del menú
/usr/share/icons/ # Iconos del programa
/usr/share/nombre_programa/
/usr/share/openoffice/ # Diccionarios, plantillas, etc.5. Archivos de Documentación (/usr/share/doc/)
# Documentación del programa
/usr/share/doc/openoffice/
/usr/share/doc/nombre_programa/6. Archivos Temporales y de Estado (/var/)
# Archivos variables (logs, cache, estado)
/var/log/nombre_programa/ # Logs del programa
/var/cache/nombre_programa/ # Cache
/var/lib/nombre_programa/ # Datos de estadoDiferencia Según el Método de Instalación
Instalación con Gestor de Paquetes (APT, DPKG)
# Ejemplo: Instalar con apt
sudo apt install libreoffice
# Los archivos se distribuyen en:
/usr/bin/libreoffice
/usr/lib/libreoffice/
/usr/share/libreoffice/
/usr/share/applications/libreoffice-*.desktopInstalación Manual (Descargar .tar.gz, .deb, .AppImage)
# .deb (similar a apt pero manual)
sudo dpkg -i programa.deb
# → Va a las mismas ubicaciones que apt
# .tar.gz (extraer en /opt/ o /usr/local/)
sudo tar -xzf programa.tar.gz -C /opt/
# → Los archivos quedan en /opt/nombre_programa/
# .AppImage (ejecutable portable)
./programa.AppImage
# → No se instala, se ejecuta desde cualquier carpetaInstalación con Snap/Flatpak (Paquetes Universales)
# Snap
sudo snap install nombre-programa
# → Se instala en: /snap/nombre-programa/
# Flatpak
flatpak install nombre-programa
# → Se instala en: /var/lib/flatpak/app/nombre-programa/Ejemplo Práctico: OpenOffice/LibreOffice
Si instalas LibreOffice:
/
├── usr/
│ ├── bin/
│ │ ├── libreoffice7.6 # Ejecutable principal
│ │ └── loffice -> libreoffice # Enlace simbólico
│ ├── lib/
│ │ └── libreoffice/ # Librerías y componentes
│ │ ├── program/
│ │ ├── basis-link/
│ │ └── ...
│ └── share/
│ ├── applications/
│ │ ├── libreoffice-startcenter.desktop
│ │ ├── libreoffice-writer.desktop
│ │ └── ...
│ ├── icons/ # Iconos
│ └── libreoffice/ # Recursos
│ ├── template/
│ ├── dict/
│ └── ...
├── etc/
│ └── libreoffice/ # Configuración global
└── var/
└── cache/libreoffice/ # Archivos temporalesComandos para Rastrear Archivos de un Programa
Encontrar Dónde se Instaló un Programa
# Buscar el ejecutable principal
which libreoffice
which firefox
# Buscar todos los archivos del paquete
dpkg -L libreoffice # Para paquetes .deb
rpm -ql nombre-paquete # Para paquetes .rpm
# Buscar archivos en todo el sistema
find /usr -name "*libreoffice*"
locate libreofficeVer Información del Paquete Instalado
# Información del paquete
dpkg -s libreoffice
apt show libreoffice
# Listar archivos instalados por el paquete
dpkg -L libreoffice | head -20 # Primeros 20 archivosResumen de Ubicaciones por Tipo
| Tipo de Archivo | Ubicación Principal |
|---|---|
| Ejecutables | /usr/bin/, /usr/local/bin/ |
| Librerías | /usr/lib/, /usr/lib64/ |
| Configuración | /etc/ |
| Recursos | /usr/share/ |
| Documentación | /usr/share/doc/ |
| Datos de Usuario | ~/.config/, ~/.local/share/ |
| Logs | /var/log/ |
| Programas Portables | /opt/ |
Configuración del Usuario
¡Importante! La configuración personal de cada usuario se guarda en su home:
~/.config/libreoffice/ # Configuración personal
~/.local/share/libreoffice/ # Datos del usuario
~/.cache/libreoffice/ # Cache del usuarioConclusión
Un programa en Linux no se instala en una sola carpeta como en Windows. En cambio:
Los archivos del programa se distribuyen en
/usr/bin/,/usr/lib/,/usr/share/La configuración global va en
/etc/Los datos del usuario van en
~/.config/y~/.local/Los archivos variables van en
/var/
Esta organización permite:
Actualizaciones más seguras
Compartir librerías entre programas
Mantener el sistema ordenado
Comentarios
Publicar un comentario