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.