Як створити / dev / null?


65

Я видалив / dev / null. Як я можу відновити його?


6
Я колись виявив, що / dev / null замінено звичайним файлом, до якого може писати тільки root. Я на мить подумав, що мені доведеться перевстановити все, але, як було сказано нижче, відновлення тривалість, якщо ти знаєш трюк.
Стюарт Вудвард

1
Мені вдалося видалити / dev / null, отримавши неправильно перегортання $ і & навколо під час виконання команди rm у сценарії. Ой!
мерехтіння

Відповіді:


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

Використовуйте ці команди, щоб створити /dev/nullабо використовувати null(4)manpage для подальшої допомоги.


5
Для повноти зазначу, що це стосується всіх систем на базі Linux; інші системи можуть мати різну кількість.
Випадково832

2
Також це налаштовує лише сам файл пристрою, він не відновить його дозволи. Доведеться chmod go+wце вручну.
Аттіла О.

7
Число звіра!
wefwefa3

7
mknod -m 0666 /dev/null c 1 3- те саме, але коротше
fnkr

1
mknod -m 0666 /dev/null c 1 3працював ідеально для відновлення / dev / null на CentOS 7, просто щоб повідомити інших.
Bozzy

32

За багатьма традиційними уніками ви можете відтворити пристрої зі своїми дозволами за замовчуванням за допомогою MAKEDEVсценарію . Цей сценарій традиційно /devє, але є в /sbinUbuntu. Передайте йому аргумент, який вказує, які пристрої ви хочете створити; на Ubuntu це std(ви можете також писати MAKEDEV null, що створює nullтак само, як і ряд інших пристроїв).

У сучасних системах Linux, на яких працює udev , ви можете сказати udev відтворити всі або деякі пристрої на основі наявних драйверів та підключеного обладнання через udevadm trigger:

udevadm trigger --sysname-match=null

Ця відповідь все ще актуальна? Я на CentOS 7, і я щойно помилково переписав / dev / null, udevadm trigger --sysname-match=nullтрюк не працював для мене, але mknod -m 0666 /dev/null c 1 3працював ідеально.
Bozzy

@Bozzy Я знаю, що це працювало з попередньою системою udev. Я не намагався останнім часом, але, наскільки я знаю, це все одно має працювати. Якщо ви додасте --verbose, чи перераховується він /sys/devices/virtual/mem/null ?
Жиль

Так, це перелічено. Я знову спробував перезаписати / dev / null на своїй машині Dev, але як не дивно, я не в змозі це зробити тут, тому не можу зараз зробити більш глибокий аналіз ...
Bozzy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.