GNU/Linux >> Tutoriales Linux >  >> Cent OS

Comprender el sistema de archivos sysfs (/sys) en Linux

Además de /proc, el kernel también exporta información a otro sistema de archivos virtual llamado sysfs. sysfs es utilizado por programas como udev para acceder a la información del dispositivo y del controlador del dispositivo. La creación de sysfs ayudó a limpiar el sistema de archivos proc porque gran parte de la información del hardware se ha movido de proc a sysfs.

El sistema de archivos sysfs está montado en /sys. Se muestran los directorios de nivel superior. A continuación se incluye una breve descripción de algunos de estos directorios:

/sys/bloque

Este directorio contiene entradas para cada dispositivo de bloque en el sistema. Los enlaces simbólicos apuntan al dispositivo físico al que se asigna el dispositivo en el árbol de dispositivos físicos. Por ejemplo, atributos para sda los discos residen en el siguiente directorio:

# ls -l /sys/block/sda/
total 0
-r--r--r-- 1 root root 4096 Mar 24 13:03 alignment_offset
lrwxrwxrwx 1 root root    0 Mar 24 13:04 bdi -> ../../../../../../../../virtual/bdi/8:0
-r--r--r-- 1 root root 4096 Mar 24 13:03 capability
-r--r--r-- 1 root root 4096 Mar 24 13:03 dev
lrwxrwxrwx 1 root root    0 Mar 24 13:04 device -> ../../../0:0:0:0
-r--r--r-- 1 root root 4096 Mar 24 13:03 discard_alignment
-r--r--r-- 1 root root 4096 Mar 24 13:03 events
-r--r--r-- 1 root root 4096 Mar 24 13:03 events_async
-rw-r--r-- 1 root root 4096 Mar 24 13:03 events_poll_msecs
-r--r--r-- 1 root root 4096 Mar 24 13:03 ext_range
drwxr-xr-x 2 root root    0 Mar 24 13:04 holders
-r--r--r-- 1 root root 4096 Mar 24 13:03 inflight
drwxr-xr-x 2 root root    0 Mar 24 13:04 integrity
drwxr-xr-x 2 root root    0 Mar 24 13:04 power
drwxr-xr-x 3 root root    0 Mar 24 13:04 queue
-r--r--r-- 1 root root 4096 Mar 24 13:03 range
-r--r--r-- 1 root root 4096 Mar 24 13:03 removable
-r--r--r-- 1 root root 4096 Mar 24 13:03 ro
-r--r--r-- 1 root root 4096 Mar 24 13:03 size
drwxr-xr-x 2 root root    0 Mar 24 13:04 slaves
-r--r--r-- 1 root root 4096 Mar 24 13:03 stat
lrwxrwxrwx 1 root root    0 Mar 24 13:04 subsystem -> ../../../../../../../../../class/block
-rw-r--r-- 1 root root 4096 Mar 24 13:03 uevent

/sys/bus

Este directorio contiene subdirectorios para cada tipo de bus físico admitido en el kernel. Cada tipo de bus tiene dos subdirectorios:dispositivos y conductores . El directorio de dispositivos enumera los dispositivos descubiertos en ese tipo de bus. El directorio de controladores contiene directorios para cada controlador de dispositivo registrado con el tipo de bus. Los parámetros del controlador se pueden ver y manipular. Por ejemplo, para enumerar los controladores de los dispositivos virtuales, ingrese:

# ls -lR /sys/bus/xen/drivers
/sys/bus/xen/drivers:
total 0
drwxr-xr-x. 2 root root 0 Mar 24 13:37 vbd
drwxr-xr-x. 2 root root 0 Mar 24 13:37 vif

/sys/bus/xen/drivers/vbd:
total 0
--w-------. 1 root root 4096 Mar 24 13:40 bind
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 module -> ../../../../module/xen_blkfront
--w-------. 1 root root 4096 Mar 24 13:37 uevent
--w-------. 1 root root 4096 Mar 24 13:40 unbind
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 vbd-51792 -> ../../../../devices/vbd-51792
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 vbd-768 -> ../../../../devices/vbd-768

/sys/bus/xen/drivers/vif:
total 0
--w-------. 1 root root 4096 Mar 24 13:40 bind
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 module -> ../../../../module/xen_netfront
--w-------. 1 root root 4096 Mar 24 13:37 uevent
--w-------. 1 root root 4096 Mar 24 13:40 unbind
lrwxrwxrwx. 1 root root    0 Mar 24 13:40 vif-0 -> ../../../../devices/vif-0

/sys/clase

Este directorio contiene todas las clases de dispositivos registradas con el kernel. Las clases de dispositivos describen un tipo funcional de dispositivo. Los ejemplos incluyen dispositivos de entrada, dispositivos de red y dispositivos de bloque.

/sys/dispositivos

Este directorio contiene la jerarquía de dispositivos global de todos los dispositivos del sistema. Este directorio también contiene un directorio de plataforma y un directorio de sistema. El directorio de la plataforma contiene dispositivos periféricos específicos de una plataforma en particular, como controladores de dispositivos. El directorio del sistema contiene dispositivos no periféricos como CPU y APIC.

/sys/firmware

Este directorio contiene subdirectorios con atributos y objetos de firmware.

/sys/módulo

Este directorio contiene subdirectorios para cada módulo que se carga en el kernel, por ejemplo:

# ls /sys/module/xen*
/sys/module/xen_blkfront:
coresize  drivers  holders  initsize  initstate  notes  parameters  refcnt  rhelversion  sections  srcversion  taint  uevent

/sys/module/xen_netfront:
coresize  drivers  holders  initsize  initstate  notes  parameters  refcnt  rhelversion  sections  srcversion  taint  uevent

/sys/poder

El estado de energía del sistema se puede controlar desde este directorio. El atributo de disco controla el método por el cual el sistema se suspende en el disco. El atributo de estado permite que un proceso entre en un estado de bajo consumo.

La utilidad sysctl

La utilidad sysctl también se puede usar para ver o modificar valores en archivos de escritura en el directorio /proc/sys. Para ver la configuración actual del kernel, ingrese:

# sysctl -a
abi.vsyscall32 = 1
crypto.fips_enabled = 0
debug.exception-trace = 1
...

Esta es la misma información que se vería si cada uno de los archivos se visualizara individualmente, por ejemplo:

# cat /proc/sys/abi/vsyscall32
1

El comando echo se puede usar para asignar valores a archivos de escritura en /proc/sys:

# echo 1 > /proc/sys/net/ipv4/ip_forward

A continuación, se muestra el comando sysctl equivalente, que muestra el resultado del cambio inmediatamente:

# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

Los cambios realizados con echo y sysctl se pierden cuando se reinicia el sistema. Para conservar la configuración personalizada, agréguela a /etc/sysctl.conf expediente. Los valores agregados a este archivo surten efecto cada vez que se inicia el sistema.

Comprender el sistema de archivos /proc


Cent OS
  1. Comprender el sistema de archivos Btrfs en Fedora Linux

  2. Una introducción al archivo Linux /etc/fstab

  3. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  4. Comprender el directorio /etc/xinetd.d en Linux

  5. Comprender el archivo /etc/inittab en Linux

Introducción al sistema de archivos de Linux

Comprender el archivo /etc/passwd

Comprender el archivo /etc/shadow

El archivo de hosts en Linux

Comprender el archivo /etc/fstab en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions