Однажды я обнаружил, что / dev / null был заменен обычным файлом, в который может писать только root. Я на мгновение подумал, что мне придется переустановить все, но, как упоминалось ниже, восстановление является тривиальным, если вы знаете хитрость.
Стюарт Вудворд
1
Мне удалось удалить / dev / null, так как неправильно запустил мой канал, переворачивая $ и & при запуске команды rm в скрипте. Ой!
flickerfly
Ответы:
81
mknod /dev/null c 1 3
chmod 666 /dev/null
Используйте эти команды для создания /dev/nullили использования null(4)man-страницы для получения дополнительной помощи.
Для полноты, я бы отметил, что это относится ко всем системам на основе Linux; другие системы могут иметь разные номера.
Random832
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, просто чтобы другие знали.
Пьяный
32
Под многими традиционными объединениями вы можете воссоздать устройства со своими разрешениями по умолчанию с помощью MAKEDEVсценария . Этот скрипт традиционно включен, /devно есть в /sbinUbuntu. Передайте ему аргумент, который указывает, какие устройства вы хотите создать; на Ubuntu это std(вы также можете написать MAKEDEV null, что создает, nullа также ряд других устройств).
В современных системах Linux, на которых работает udev , вы можете указать udev воссоздать все или некоторые устройства на основе доступных драйверов и подключенного оборудования с помощью udevadm trigger:
Этот ответ все еще актуален? Я нахожусь на CentOS 7, и я просто переписал мой / dev / null по ошибке, udevadm trigger --sysname-match=nullтрюк не сработал для меня, хотя mknod -m 0666 /dev/null c 1 3работал отлично.
Пьяный
@ Боззи: я знаю, что он работал с pre-systemd udev. Я не пробовал в последнее время, но, насколько я знаю, это все еще должно работать. Если вы добавите --verbose, это список /sys/devices/virtual/mem/null ?
Жиль "ТАК - прекрати быть злым"
Да, это перечисляет это. Я попытался перезаписать снова / dev / null на своем компьютере разработчика, но, как ни странно, я не могу сделать это здесь, поэтому я не могу сейчас сделать более углубленный анализ ...
Ответы:
Используйте эти команды для создания
/dev/null
или использованияnull(4)
man-страницы для получения дополнительной помощи.источник
chmod go+w
вручную.mknod -m 0666 /dev/null c 1 3
- то же самое, но корочеmknod -m 0666 /dev/null c 1 3
отлично работал, чтобы восстановить / dev / null на CentOS 7, просто чтобы другие знали.Под многими традиционными объединениями вы можете воссоздать устройства со своими разрешениями по умолчанию с помощью
MAKEDEV
сценария . Этот скрипт традиционно включен,/dev
но есть в/sbin
Ubuntu. Передайте ему аргумент, который указывает, какие устройства вы хотите создать; на Ubuntu этоstd
(вы также можете написатьMAKEDEV null
, что создает,null
а также ряд других устройств).В современных системах Linux, на которых работает udev , вы можете указать udev воссоздать все или некоторые устройства на основе доступных драйверов и подключенного оборудования с помощью
udevadm trigger
:источник
udevadm trigger --sysname-match=null
трюк не сработал для меня, хотяmknod -m 0666 /dev/null c 1 3
работал отлично.--verbose
, это список/sys/devices/virtual/mem/null
?