В 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).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «В Fedora и других Linux-дистрибутивах появится директория /run», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.