¿Cómo crear / dev / null?


65

Eliminé mi / dev / null. ¿Cómo puedo restaurarlo?


66
Una vez descubrí que / dev / null fue reemplazado por un archivo normal en el que solo la raíz podía escribir. Pensé por un momento que tendría que reinstalar todo, pero como se menciona a continuación, la recuperación es crucial si conoces el truco.
Stuart Woodward

1
Me las arreglé para eliminar / dev / null al hacer que mi tubería fuera incorrecta volteando $ y & cuando ejecuté un comando rm en un script. ¡Ay!
flickerfly

Respuestas:


81
mknod /dev/null c 1 3
chmod 666 /dev/null

Use estos comandos para crear /dev/nullo usar la página de null(4)manual para obtener más ayuda.


55
Para completar, señalaría que esto se aplica a todos los sistemas basados ​​en Linux; otros sistemas pueden tener números diferentes.
Random832

2
Además, esto solo configura el archivo del dispositivo en sí, no restaurará sus permisos. Tendrás que chmod go+whacerlo manualmente.
Atila O.

77
¡El número de la bestia!
wefwefa3

77
mknod -m 0666 /dev/null c 1 3- lo mismo pero más corto
fnkr

1
mknod -m 0666 /dev/null c 1 3funcionó perfectamente para restaurar / dev / null en CentOS 7, solo para que otros lo supieran.
Bozzy

32

En muchas unidades tradicionales, puede recrear dispositivos con sus permisos predeterminados con el MAKEDEVscript . Este script está tradicionalmente en Ubuntu, /devpero está en /sbinUbuntu. Pase un argumento que indique qué dispositivos desea crear; en Ubuntu eso es std(también puedes escribir MAKEDEV null, eso crea nulltan bien como otros dispositivos).

En los sistemas Linux modernos que ejecutan udev , puede decirle a udev que vuelva a crear todos o algunos dispositivos basados ​​en controladores disponibles y hardware conectado, a través de udevadm trigger:

udevadm trigger --sysname-match=null

¿Esta respuesta sigue vigente? Estoy en CentOS 7 y acabo de sobrescribir mi / dev / null por error, el udevadm trigger --sysname-match=nulltruco no funcionó para mí, aunque mknod -m 0666 /dev/null c 1 3funcionó perfectamente.
Bozzy

@Bozzy Sé que funcionó con el udev pre-systemd. No lo he intentado recientemente, pero que yo sepa, esto todavía debería funcionar. Si agrega --verbose, ¿aparece en la lista /sys/devices/virtual/mem/null ?
Gilles 'SO- deja de ser malvado'

Sí, enumera eso. Intenté sobrescribir nuevamente / dev / null en mi máquina de desarrollo, pero curiosamente no puedo hacerlo aquí, así que no puedo hacer un análisis más profundo ahora ...
Bozzy
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.