Из технического обзора Сновещательной Ubuntu 11.10:
Ubuntu 11.10 мигрировала далеко от
/var/run
,/var/lock
и/dev/shm
и теперь использование/run
,/run/lock
и/run/shm
вместо этого (соответственно).
/run
, и затем /var/run
?Намерение состоит в том, чтобы сократить количество tmpfs
файловые системы. На 11,04, там являются отдельными tmpfs
файловые системы в /var/lock
, /var/run
и /dev/shm
. Если эти каталоги были всеми в соответствии с каталогом родителя-одиночки, то только сингл tmpfs
был бы необходим. Это также обеспечивает очевидное местоположение для дальнейших данных состояния во время выполнения, которые не должны сохраняться по перезагрузкам.
Если Ваше приложение не зависит от канонических путей файлов, Ваше приложение должно работать без модификации, так как старые местоположения будут symlinked к новым. Политики AppArmor являются одним случаем, который действительно зависит от реальных путей, который является, почему он был упомянут конкретно.
Следующие ссылки должны помочь объяснить объяснение:
/run
новое перекрестное распределение tmpfs местоположение для устройства хранения данных файлов переходного состояния — то есть, файлы, содержащие информацию о выполнении, которая может или, возможно, не должна быть записана рано в процессе начальной загрузки и которая не требует сохранения через перезагрузки.
Создание /run
доступный каталог приносит нам шаг ближе до такой степени, когда, возможно использовать систему обычно с корневой файловой системой, смонтированной только для чтения, не требуя никаких неуклюжих обходных решений такой как aufs/unionfs
оверлейные программы.
/run
замены несколько существующих местоположений описали в Стандарте Иерархии Файловой системы:
/var/run
→ /run
/var/lock
→ /run/lock
/dev/shm
→ /run/shm
[в настоящее время только Debian планирует сделать это]/tmp
→ /run/tmp
[дополнительный; в настоящее время только Debian планирует предложить это]/run
также заменяют некоторые другие местоположения, которые использовались для переходных файлов:
/lib/init/rw
→ /run
/dev/.*
→ /run/*
/dev/shm/*
→ /run/*
/etc
→ /run/*
(таким образом, вероятно, можно ожидать, что они переместятся также).
Я был бы совет относительно создания части в Вашем программном обеспечении, где Вы устанавливаете эти каталоги в переменных, изменяете Ваш код для использования этих переменных, и затем изменить переменные на основе системы это используется на (но я держал пари, что Вы уже знали это).
Из того, что я читал, это было исходным объяснением, данным относительно того, почему выполненный / был представлен. http://lwn.net/Articles/436012/
Примечание: с тех пор / выполненное введение, маленькие конфигурации могли бы получить проблемы. Мой сервер Ubuntu является 256 RAM мес, и выполненный / набором по умолчанию к 49 мес.
При запуске это заполняет файловую систему до обилия.
Внесение изменений в fstab не работает к inscrease tempfs/, выполняют размер. Ни один не делает процедуры других, которые я нашел на строительном стекле.
Я нашел решение добавить в init сценарии: /etc/rc.local
строка mount -t tmpfs tmpfs /run -o remount,size=85M
к расширяется при запуске. (85M для моей конференции),
Вы не должны hardcode ни один из них /run
пути!
/var/run
, потому что символьная ссылка будет существовать к /run
если применимо/var/lock
совпадает с выше/dev/shm
когда-либо, всегда используйте shm_open
и т.д. (posix API)