Contenido de archivo dinámico o virtual, similar a /sys/*

Contenido de archivo dinámico o virtual, similar a /sys/*

Imagine que desea un archivo, por ejemplo /etc/hosts, pero cada vez que se lee el archivo, en lugar de leerlo desde el sistema de archivos, su contenido es la salida de una aplicación, por ejemplo, un script que guarda la configuración en los sitios de Apache. activado

Siento que esto debería ser posible, por ejemplo, el código del kernel genera prácticamente todo en /sysy /proc, que creo que monta como sistemas de archivos virtuales. ¿Existe ya algún tipo de superposición de sistema de archivos virtual de espacio de usuario de uso general que me permita delegar un script o un binario como salida que debería mostrarse cada vez que se lee un archivo, o este caso de uso simplemente no aparece con mucha frecuencia?

(Me imagino que su mal uso podría ralentizar considerablemente un sistema, y ​​probablemente haya mejores formas; en el caso anterior, sería preferible una tarea cron que se ejecutara cada 10 minutos, pero tengo curiosidad por saber si es algo que se haya encontrado antes y se haya intentado). )

Respuesta1

si, se llamaFUSIBLE. El kernel permite implementar sistemas de archivos con todas las funciones en el espacio de usuario y es posible que ya hayas utilizado algunos de ellos: sshfs, curlftpfs, ntfs-3g, archivefs, wikipediafs...

La interfaz FUSE es de un nivel un poco más bajo de lo que usted describe (el sistema de archivos todavía tiene que manejar individualmente las aperturas, lecturas, escrituras...), pero tiene enlaces para varios lenguajes, desde Python hastaintento. La mayoría de ellos tienen un ejemplo de "hola mundo" que se puede adaptar para proporcionar la salida de un programa externo como datos.

FUSE actualmente funciona en Linux, varios BSD, macOS, Solaris...

información relacionada