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.
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:
¿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 ...
Respuestas:
Use estos comandos para crear
/dev/null
o usar la página denull(4)
manual para obtener más ayuda.fuente
chmod go+w
hacerlo manualmente.mknod -m 0666 /dev/null c 1 3
- lo mismo pero más cortomknod -m 0666 /dev/null c 1 3
funcionó perfectamente para restaurar / dev / null en CentOS 7, solo para que otros lo supieran.En muchas unidades tradicionales, puede recrear dispositivos con sus permisos predeterminados con el
MAKEDEV
script . Este script está tradicionalmente en Ubuntu,/dev
pero está en/sbin
Ubuntu. Pase un argumento que indique qué dispositivos desea crear; en Ubuntu eso esstd
(también puedes escribirMAKEDEV null
, eso creanull
tan 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
:fuente
udevadm trigger --sysname-match=null
truco no funcionó para mí, aunquemknod -m 0666 /dev/null c 1 3
funcionó perfectamente.--verbose
, ¿aparece en la lista/sys/devices/virtual/mem/null
?