Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e197fa131d | ||
|
|
4015fe4fa7 |
101
s4a.tex
101
s4a.tex
@@ -1746,8 +1746,109 @@ LVM, RAID и multipath). Если они вам не~нужны, вы легко
|
||||
(впрочем, необходимость в этом возникает достаточно редко).
|
||||
\item
|
||||
\hreftt{http://0pointer.de/public/systemd-man/sysctl.d.html}{/etc/sysctl.d/*.conf}:
|
||||
каталог для задания параметров ядра (+sysctl+). Дополняет
|
||||
классический конфигурационный файл +/etc/sysctl.conf+.
|
||||
\item
|
||||
\hreftt{http://0pointer.de/public/systemd-man/tmpfiles.d.html}{/etc/tmpfiles.d/*.conf}:
|
||||
каталог для управления настройками временных файлов (systemd
|
||||
обеспечивает создание, очистку и удаление временных файлов и
|
||||
каталогов, как во время загрузки, так и во время работы
|
||||
системы).
|
||||
\item
|
||||
\hreftt{http://0pointer.de/public/systemd-man/binfmt.d.html}{/etc/binfmt.d/*.conf}:
|
||||
каталог для регистрации дополнительных бинарных форматов
|
||||
(например, форматов Java, Mono, WINE).
|
||||
\item
|
||||
\hreftt{http://0pointer.de/public/systemd-man/os-release.html}{/etc/os-release}:
|
||||
стандарт для файла, обеспечивающего идентификацию дистрибутива и
|
||||
его версии. Сейчас различные дистрибутивы используют для этого
|
||||
разные файлы (например, +/etc/fedora-release+ в Fedora), и
|
||||
поэтому для решения такой простой задачи, как вывод имени
|
||||
дистрибутива, необходимо использовать базу данных, содержащую
|
||||
перечень возможных названий файлов. Проект LSB попытался создать
|
||||
такой инструмент~---
|
||||
\hreftt{http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/lsbrelease.html}{lsb\_release}~---
|
||||
однако реализация такой простой вещи через скрипт на Python'е
|
||||
является не~самым оптимальным решением. Чтобы исправить
|
||||
сложившуюся ситуацию, мы решили перейти к единому простому
|
||||
формату представления этой информации.
|
||||
\item
|
||||
\hreftt{http://0pointer.de/public/systemd-man/machine-id.html}{/etc/machine-id}:
|
||||
файл с идентификатором данного компьютера (перекрывает
|
||||
аналогичный идентификатор D-Bus). Гарантируется, что в любой
|
||||
системе, использующей systemd, этот файл будет существовать и
|
||||
содержать корректную информацию (если его нет, он автоматически
|
||||
создается при загрузке). Мы вынесли этот файл из-под эгиды
|
||||
D-Bus, чтобы упростить решение множества задач, требующих
|
||||
наличия уникального и постоянного идентификатора компьютера.
|
||||
\item
|
||||
\hreftt{http://0pointer.de/public/systemd-man/machine-info.html}{/etc/machine-info}:
|
||||
новый конфигурационный файл, хранящий информации о полном имени
|
||||
(описательном) хоста (например, <<Компьютер Леннарта>>) и
|
||||
значке, которым он будет обозначаться в графических оболочках,
|
||||
работающих с сетью (раньше этот значок мог определяться,
|
||||
например, файлом +/etc/favicon.png+). Данный конфигурационный
|
||||
файл обслуживается демоном
|
||||
\hreftt{http://www.freedesktop.org/wiki/Software/systemd/hostnamed}{systemd-hostnamed}.
|
||||
\end{itemize}
|
||||
|
||||
Одна из важнейших для нас задач~--- убедить \emph{вас} использовать эти новые
|
||||
конфигурационные файлы в ваших инструментах для настройки системы. Если ваши
|
||||
конфигурационные фронтенды будут использовать новые файлы, а не~их старые
|
||||
аналоги, это значительно облегчит портирование таких фронтендов между
|
||||
дистрибутивами, и вы внесете свой вклад в стандартизацию Linux, и в конечном
|
||||
счете упростится жизнь и у администраторов, и для пользователей. Разумеется, на
|
||||
текущий момент эти файлы полностью поддерживаются только дистрибутивами,
|
||||
основанными на systemd, но уже сейчас в их число входят практически все ключевые
|
||||
дистрибутивы, \href{http://www.ubuntu.com/}{за исключением
|
||||
одного}\footnote{Прим. перев.: В конце 2010~года энтузиаст Andrew Edmunds
|
||||
\href{http://cgit.freedesktop.org/systemd/commit/?id=858dae181bb5461201ac1c04732d3ef4c67a0256}{добавил}
|
||||
в systemd базовую поддержку Ubuntu и
|
||||
\href{https://wiki.ubuntu.com/systemd}{подготовил} соответствующие пакеты,
|
||||
однако его инициатива не~встретила поддержки среди менеджеров Canonical. На
|
||||
момент написания этих строк (май 2011 года) проект остается заброшенным уже пять
|
||||
месяцев (с середины декабря 2010~г.).}. В этом есть что-то от <<пролемы курицы и
|
||||
яйца>>: стандарт становится начинает работать как стандарт только тогда, когда
|
||||
ему начинают следовать. В будущем мы намерены аккуратно форсировать процесс
|
||||
перехода на новые конфигурационные файлы: поддержка старых файлов будет удалена
|
||||
из systemd. Разумеется, этот процесс будет идти медленно, шаг за шагом. Но
|
||||
конечной его целью является переход всех дистрибутивов на единый набор базовых
|
||||
конфигурационных файлов.
|
||||
|
||||
Многие из этих файлов используются не~только программами для настройки системы,
|
||||
но и апстримными проектами. Например, мы предлагаем проектам Mono, Java, WINE и
|
||||
другим помещать конфигурацию для регистрации своих бинарных форматов в
|
||||
+/etc/binfmt.d/+ средствами их собственной сборочной системы. Специфичные для
|
||||
дистрибутивов механизмы поддержки бинарных форматов больше не~нужны, и ваш
|
||||
проект будет работать одинаково хорошо во всех дистрибутивах. Аналогичное
|
||||
предложение мы обращаем и ко всем разработчикам программ, которым требуется
|
||||
автоматическое создание/очистка временных файлов и каталогов при загрузке,
|
||||
например, в каталоге +/run+ (\href{http://lwn.net/Articles/436012/}{ранее
|
||||
известном} как +/var/run+). Таким проектам достаточно просто поместить
|
||||
соответствующий конфигурационный файл в +/etc/tmpfiles.d/+, тоже средствами
|
||||
собственной сборочной системы. Помимо прочего, подобный подход позволит
|
||||
увеличить скорость загрузки, так как, в отличие от SysV, не~требует множества
|
||||
shell-скриптов, выполняющих тривиальные задачи (регистрация бинарных форматов,
|
||||
удаление/создание временных файлов/каталогов и т.п.). И пример того случая,
|
||||
когда апстримная поддержка стандартной конфигурации дала бы огромные
|
||||
преимущества~--- X11 (и его аналоги) могли бы устанавливать раскладку клавиатуры
|
||||
на основании данных из +/etc/vconsole.conf+.
|
||||
|
||||
Разумеется, я понимаю, что отнюдь не~всех полностью устроят выбранные нами имена
|
||||
и форматы конфигурационных файлов. Но нам все же нужно было что-то выбрать, и мы
|
||||
выбрали то, что должно устроить большинство людей. Форматы конфигурационных
|
||||
файлов максимально просты, и их можно легко читать и записывать даже из
|
||||
shell-скриптов. (Эх, а ведь +/etc/bikeshed.conf+ могло бы быть неплохим именем
|
||||
для файла конфигурации!)
|
||||
|
||||
\textbf{Помогите нам стандартизировать Linux! Используйте новые конфигурационные
|
||||
файлы! Поддерживайте их в апстриме, поддерживайте их во всех дистрибутивах!}
|
||||
|
||||
Да, и если у вас возникнет такой вопрос: да, все эти файлы так или иначе
|
||||
обсуждались с разными разработчиками из различных дистрибутивов. И некоторые из
|
||||
этих разработчиков планируют обеспечить поддержку новой конфигурации даже в
|
||||
системах без systemd.
|
||||
|
||||
\end{document}
|
||||
|
||||
vim:ft=tex:tw=80:spell:spelllang=ru
|
||||
|
||||
Reference in New Issue
Block a user