Назад | Перейти на главную страницу

Является ли / dev в Linux виртуальным?

Сегодня на работе у клиента было 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. Затем он предоставит все остальное.