Más o menos sé acerca de los archivos ubicados en / dev.
Sé que hay dos tipos (carácter / bloque), el acceso a estos archivos se comunica con un controlador en el núcleo.
Quiero saber qué sucede si elimino uno, específicamente para ambos tipos de archivo. Si elimino un archivo de dispositivo de bloque, por ejemplo /dev/sda
, ¿qué efecto, si lo hay, tiene esto? ¿Acabo de desmontar el disco?
Del mismo modo, ¿ /dev/mouse/mouse0
qué sucede si elimino ? ¿Qué sucede? ¿El mouse deja de funcionar? ¿Se reemplaza automáticamente?
¿Puedo incluso eliminar estos archivos? Si tuviera una máquina virtual configurada, lo probaría.
Respuestas:
Esos son simplemente archivos (especiales). Solo sirven como "punteros" al dispositivo real. (es decir, el módulo del controlador dentro del núcleo).
Si algún comando / servicio ya abrió ese archivo, ya tiene un identificador para el dispositivo y continuará funcionando.
Si algún comando / servicio intenta abrir una nueva conexión, intentará acceder a ese archivo y fallará debido a "archivo no encontrado".
Por lo general, esos archivos se rellenan
udev
, lo que los crea automáticamente al inicio del sistema y en eventos especiales como enchufar un dispositivo USB, pero también puede crearlos manualmentemknod
.fuente
makedev
comando que generalmente hace el trabajo y, a diferencia deudev
esto, parece estar presente en la mayoría de los sistemas operativos tipo UNIX.linux
yudev
/etc/init.d/makedev
. El manual de freebsd menciona que MAKEDEV apareció en 4.2BSD (desde 1983). Creo que en 1983 sería tan lógicoMAKEDEV
automatizar a través de init como en 06Los archivos de dispositivo son en realidad un alias de sistema de archivos para una entrada en la tabla de dispositivos del núcleo. Si observa los archivos / dev con "ls -l" verá que tienen un número de dispositivo mayor y un número de dispositivo menor. Si elimina los archivos del sistema de archivos, siempre puede volver a crearlos utilizando las herramientas apropiadas para volver a vincular el archivo especial a la entrada en la tabla de dispositivos del núcleo; consulte mknod (1).
fuente
A partir de ese momento, solo pueden acceder a ellos los programas que ya tenían esos dispositivos abiertos. Por lo tanto, no es forma de desmontar los sistemas de archivos. Y con udev, un reinicio podría restaurar esos dispositivos. Una forma extraña de aprender Unix.
fuente