Сегодня на работе у клиента было rm -rf /dev
и в итоге удалили два файла в /dev/shm
это заставило его сайт перестать работать.
Из того, что я узнал ранее /dev
не виртуальный, но другой техник предложил перезагрузить сервер, потому что /dev
виртуальный как /proc
. Разумеется, я перезагрузил сервер и файлы, которые были там у клиента rm -rf.
Итак, мой вопрос: является /dev
виртуальный? Это что-то вроде виртуального /proc
? Есть еще документация по этому поводу? Как мне восстановить /dev
файлы без перезагрузки сервера?
Ответ очень долгое время был «вроде».
В настоящее время деревом устройств 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. Затем он предоставит все остальное.