From 51dbc5ede3ab97ef53d80069141d4ec985fcea8f Mon Sep 17 00:00:00 2001 From: nnz1024 <0comffdiz@inbox.ru> Date: Wed, 3 Aug 2011 17:29:00 +0400 Subject: [PATCH] Version v7.2 (2011-08-03 17:29) [AUTO] --- s4a.tex | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/s4a.tex b/s4a.tex index 747ea2d..2cba56c 100644 --- a/s4a.tex +++ b/s4a.tex @@ -1943,6 +1943,60 @@ init-скрипта, или даже сами не~являющиеся скри \item Приоритет OOM killer'а для демона. \end{itemize} +А теперь давайте ответим на вопрос: что плохого в +/etc/sysconfig+ +(+/etc/default+) и почему этим каталогам нет места в мире systemd? +\begin{itemize} + \item Прежде всего, утрачены основная цель и смысл существования этих + каталогов: файлы конфигурации юнитов systemd не~являются + программами, в отличие от init-скриптов SysV. Эти файлы + представляют собой простые, декларативные описания конкретных + задач и функций, и обычно содержат не~более шести строк. Они + легко могут быть сгенерированы и проанализованы без + использования Bourne shell. Их легко читать и понимать. Кроме + того, их легко модифицировать: достаточно скопировать их из + +/lib/systemd/system+ в +/etc/systemd/system+, после чего внести + необходимые изменения в скопированный файл. При этом можно быть + уверенным, что изменения не~будут затерты пакетным менеджером. + Изначальная причина появления обсуждаемых каталогов~--- + необходимость разделять код и параметры конфигурации~--- больше + не~существует, так как файлы описания юнитов не~являются кодом. + Проще говоря, обсуждаемые каталоги пытаются решить проблему, + которой уже не~существует. + \item Обсуждаемые каталоги и файлы в них очень сильно привязаны к + специфике дистрибутивов. Мы же планируем, используя systemd, + способствовать стандартизации и унификации дистрибутивов. В + частности, одним из факторов такой стандартизации является + рекомендация распространять соответствующие файлы конфигурации + юнитов сразу с апстримным продуктом, а не~возлагать эту работу + на создателей пакетов, как это делалась во времена SysV. + Так как расположение обсуждаемых каталогов и настраиваемые через + них параметры сильно отличаются от дистрибутива к дистрибутиву, + пытаться поддерживать их в апстримных файлах конфигурации юнитов + просто бессмысленно. Хранение конфигурации в обсуждаемых + каталогов~--- один из факторов, превращающих Linux в зоопарк + несовместимых решений. + \item Большинство настроек, задаваемых через эти каталоги, являются + избыточными в мире systemd. Например, различные службы позволяют + задать таким методом параметры исполнения процесса, в частности, + идентификатор пользователя/группы, ограничения ресурсов, + привязки к ядрам CPU, приоритет OOM killer'а. Однако, эти + настройки поддерживаются лишь некоторыми init-скриптами, причем + одна и та же настройка в различных скриптах может называться + по-разному. С другой стороны, в мире systemd, все эти настройки + доступны для всех служб без исключения, и всегда задаются + одинаково, через одни и те же параметры конфигурационных файлов. + \item Файлы конфигурации юнитов имеют множество удобных и простых в + использовании настроек среды исполнения процесса, гораздо + больше, чем могут предоставить файлы из +/etc/sysconfig+. + \item Необходимость в некоторых из этих настроек весьма сомнительна. + Например, возьмем вышеупомянутую возможность задавать + идентификатор пользователя/группы для процесса. Эту задачу + должен решать разработчик ПО или дистрибутива. Вмешательство + администратора в эту настройку, как правило, лишено смысла~--- + только разработчик располагает всей информацией, + позволяющий предотвратить конфликты идентификаторов и имен + пользователей и групп. +\end{itemize} \end{document}