В Fedora и других Linux-дистрибутивах появится директория /run
30 марта 2011 года
Леннарт Поттеринг (Lennart Poettering), создатель системного менеджера systemd и звукового сервера PulseAudio, представил в списке рассылки разработчиков Fedora Linux новую системную директорию "/run". Подобное нововведение появится уже в весеннем релизе Fedora 15, в котором будет произведен переход на использование systemd по умолчанию. Решение о создании "/run" вызвано техническими причинами, поэтому не стоит воспринимать данное улучшение как большие политические перемены. Ожидается, что разработчики других дистрибутивов также решатся на перенос /run из директории /var в корень (/var/run останется доступен через bind-монтирование или символическую ссылку) - представители openSUSE, Debian и Ubuntu уже подтвердили намерение перейти к использованию "/run" в будущих релизах.
Предложение переместить содержимое "/var/run" в директорию "/run" родилось после обсуждения разработчиками Debian, Suse, Ubuntu и Fedora фактов нецелевого использования директории /dev. Кроме файлов устройств дистрибутивы вынуждены помещать в данную директорию специализированные каталоги (/dev/.udev, dev/.mdadm, /dev/.systemd и /dev/.mount), символические ссылки на некоторые элементы файловой системы /proc (/dev/stdin, /dev/sndstat и т.п.) и создают именованные каналы (/dev/log). В настоящий момент использование /dev не по прямому назначению носит единичный характер, но ситуация в любой момент может выйти из под контроля.
Причиной создания дополнительных файлов с данными программ в /dev является необходимость создания свойственных для каталога /var/run служебных файлов до момента монтирования раздела /var на начальной стадии загрузки. Директория /dev используется вместо /var/run так как изначально известно, что она примонтирована через tmpfs и всегда создается в первую очередь на этапе загрузки, в то время как директория /var/run создается значительно позднее и может размещаться в отдельной файловой системе.
Для решения проблемы с недоступностью /var/run на ранней стадии загрузки различные дистрибутивы придумывают свои несовместимые с другими системами решения: Fedora и openSUSE использует служебные каталоги в /dev/.xxx, в Debian специально монтируется tmpfs-раздел /lib/init/rw, в Ubuntu /var/run создается еще до монтирования /var и потом связывается через "mount --bind".
Необходимость разработки и утверждения унифицированного решения назрела уже давно. После рассмотрения различных вариантов выхода из данной ситуации, разработчики пришли к выводу, что директория /var/run со служебными файлами, файлами блокировок и сокетами, используемыми для связи с запущенными приложениями, должна быть вынесена за пределы раздела /var в корень. Единственной причиной по которой данное изменение не внедрено до сих пор - неготовность совершить подобный шаг по политическим мотивам, так как это неизбежно приведет к негативной реакции со стороны консервативных пользователей и разработчиков.
Что касается планов по изменению Fedora 15, то данном релизе раздел /run будет смонтирован через tmpfs, а /var/run прикреплен к /run через bind-монтирование (в Fedora 16 после отладки всех систем bind-монтирование будет заменено на символические ссылки), /var/lock будет прикреплен к /run/lock. Приложения смогут использовать /var/run как и раньше, на первом этапе внедрения непосредственно к /run будут обращаться только подсистемы, работающие на раннем этапе загрузки.
Выгоды от использования /run:
- Сокращение точек tmpfs-монтирования, вместо /var/lock и /var/run останется один /run;
- Хранение всех требуемых в процессе работы приложений данных в одном месте. Для того чтобы найти данные systemd, udev, dracut администратору не придется заглядывать в несколько мест, все будет собрано в /run;
- Уход от использования начинающихся с точки скрытых файлов;
- Возможность стандартизировать для всех дистрибутивов размещение директории для хранения доступных на ранней стадии runtime-данных;
- У разработчиков исчезнет ощущение дискомфорта от необходимости использования /dev не по назначению;
- Создание более четкого разделения между директорией для постоянного хранения данных приложений (/var), директорией для хранения свойственных текущему сеансу данных приложений (/run) и директорией для хранения конфигурации (/etc).
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.