¿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.