Comment créer / dev / null?


65

J'ai supprimé mon / dev / null. Comment puis-je le restaurer?


6
Une fois, j’ai trouvé que / dev / null était remplacé par un fichier normal que seul root pouvait écrire. J'ai pensé un instant que je devrais tout réinstaller, mais comme mentionné ci-dessous, la récupération est inutile si vous connaissez le truc.
Stuart Woodward

1
J'ai réussi à supprimer / dev / null en obtenant que mon tube soit incorrect en retournant $ & & around lors de l'exécution d'une commande rm dans un script. Aie!
papillotement

Réponses:


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

Utilisez cette commande pour créer /dev/nullou utiliser la null(4)page de manuel pour obtenir de l'aide supplémentaire.


5
Pour être complet, notons que cela s’applique à tous les systèmes Linux; d'autres systèmes peuvent avoir des numéros différents.
Random832

2
De plus, cela ne configure que le fichier de périphérique lui-même, il ne restaure pas ses autorisations. Vous devrez le faire chmod go+wmanuellement.
Attila O.

7
Le nombre de la bête!
wefwefa3

7
mknod -m 0666 /dev/null c 1 3- même chose mais plus court
fnkr

1
mknod -m 0666 /dev/null c 1 3a parfaitement fonctionné pour restaurer / dev / null sous CentOS 7, juste pour le faire savoir.
Bozzy

32

Sous de nombreux ordinateurs traditionnels, vous pouvez recréer des périphériques avec leurs autorisations par défaut avec le MAKEDEVscript . Ce script est traditionnellement dans, /devmais est /sbinsur Ubuntu. Transmettez-lui un argument indiquant quels périphériques vous souhaitez créer. sur Ubuntu, c’est std(vous pouvez MAKEDEV nullaussi écrire , créer nullainsi que plusieurs autres périphériques).

Sous les systèmes Linux modernes exécutant udev , vous pouvez demander à udev de recréer tout ou partie des périphériques en fonction des pilotes disponibles et du matériel connecté, via udevadm trigger:

udevadm trigger --sysname-match=null

Cette réponse est-elle toujours d'actualité? Je suis sur CentOS 7 et je viens d’écraser mon / dev / null par erreur, l’ udevadm trigger --sysname-match=nullastuce n’a pas fonctionné pour moi, elle mknod -m 0666 /dev/null c 1 3a parfaitement fonctionné.
Bozzy

@ Bozzy Je sais que cela a fonctionné avec le pré-système udev. Je n'ai pas essayé récemment, mais pour autant que je sache, cela devrait toujours fonctionner. Si vous ajoutez --verbose, est-ce que ça liste /sys/devices/virtual/mem/null ?
Gilles, arrête de faire le mal

Oui, ça en fait la liste. J'ai essayé de réécrire à nouveau / dev / null sur ma machine de développement, mais étrangement, je suis incapable de le faire ici, je ne peux donc pas faire une analyse plus approfondie maintenant ...
Bozzy le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.