Является ли /dev в Linux виртуальным?
Сегодня на работе у клиента был rm -rf /dev
и в конечном итоге удалив два файла в /dev/shm
что заставило его сайт больше не работать.
Из того, что я узнал ранее /dev
не является виртуальным, но другой специалист предложил перезагрузить сервер, потому что /dev
виртуально как /proc
, Конечно же, я перезагрузил сервер и файлы, которые были там у клиента rm -rf'd.
Итак, мой вопрос: является /dev
виртуальная? Это что-то вроде виртуального /proc
? Есть ли еще документация по этому вопросу? Как я могу восстановить /dev
файлы без перезагрузки сервера?
1 ответ
Ответ в течение очень долгого времени был "своего рода".
В настоящее время дерево устройств Linux управляется udev
менеджер пользовательских устройств, который заменил devfs несколько лет назад. udev заполняет /dev любыми узлами устройства, которые нужны системе, в зависимости от правил, настроенных в ее файлах конфигурации.
В новейших системах Linux /dev находится на временном диске RAM, предоставленном devtmpfs
, Вы могли бы назвать это виртуальным.
Пример:
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=6109940k,nr_inodes=1527485,mode=755)
В настоящее время единственная причина для фактических узлов устройств в /dev заключается в загрузочной среде до запуска udev. Только типично /dev/console
а также /dev/null
необходимы в реальной файловой системе, которой достаточно, чтобы добраться до точки, где можно запустить udev. Затем он предоставит все остальное.