ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Andrey Orlov <cray@neural.ru>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: Re: [devel] awk in initscripts
Date: Mon, 12 Jan 2004 11:38:10 +0300
Message-ID: <200401121138.10169.cray@neural.ru> (raw)
In-Reply-To: <20040112012650.4bc06452.peet@altlinux.ru>

Поскольку в качестве примера неудачного решения использовали конфиги 
экземпляров zope....

On Monday 12 January 2004 01:26, Peter V. Saveliev wrote:
> Хочется услышать возможные возражения против использования awk в
> инитскриптах прежде, чем я возьмусь это делать.

> 2) можно без нужды не плодить директории в /etc/sysconfig. как это сейчас:
> для каждой сессии того же vtund пришлось сделать свой файлик на манер
> конфига экземпляра zope. Субъективно бесит, ей-Аллаху.

Я не против использования awk для обработки конфигов,
но я против того, что бы использовать его для того, чбы слить
все конфиги в один файл, как это можно было бы сделать с 
экземплярами Zope: так как такой подход как

devel.path = ...
devel.port = 8080

hosting.path = ...
hosting.port = 8180

Равно как и такой:

[devel]
path = ..
port = 8080

[hosting]
path = ...
port = 8180

Объективно бесит, хотя с помощьюе awk реализовать их
разбор можно достаточно легко.

И так, почему конфиги экземпляров Zope лежат в отдельных
файлах:

1. В общем случае, каждый экземпляр Zope управляетя разными 
людьми, которым нужно давать независимый доступ;

2. Если файл одного из экземпляров будет испорчен неверным
синаксисом (например, файл devel)
то остальные экземпляры останутся работоспособны;

3. Перенос экезмпляров на другой хостинг, равно как их бакап может быть
проделан независимо;

4. Создание нового экземпляра на основе старого делается командой cp ;),
что тоже удобно.

5. Возможно пакетирование экземляров Zope  в rpm и т.п.

C  vtun довод в виде разделения прав не так актуален, но чслово,
работать с десятком файлов идентичной структуры намного удобнее,
чем с одним файлом, поученным их слиянием. Причем, это верно
не только для конфигов, но и для текстовых статей и для файлов
с исходным кодом: разбивка на мелкие файлы, каждый из которых
реализует маленький кусочек и упорядочение этих файлов в единый
проект сейчас норма.

Субъективно, мое мнение, ситуацию с конфигами можно развивать
в одном из двух направлений:

1. Создать единый реестр, аналогичный win32;

2. Максимально гранулировать текущие конфигурационные файлы;

И в другом случае потребуется создание специальных средств: диспетчера
реестра (1) или специальной файловой системы (2). Традиционно, последние
неск лет, развитие линукс идет по 2-му пути. Можно попытатся спорить
об их эффективности, но спор этот бессмысленен, т.к. в дальней перспективе
оба пути сходятся (функционально) к одному и тому же решению. В то же время,
с точки зрения такой опции, как управления правами к конфигам, 2ой путь в случае
линукс намного более приемлем.

Наконец, довод против awk: если уж делать единый конфиг (не важно, для Zope, для network
или еще для чего) то не смотря на всю мою любовь к awk ;), есть продвинутые процессоры
для генерации парсеров их и стоит использовать: составить язык конфигурационных
файлов и парсить его. AWK - для обработки логов и т.п. работы, где он очень сильно на
своем месте, в отличие от применения в качестве синтаксического процессора.

ЗЫ: Опять же как довод против слияения в один файл - традиционно, последние
несколько лет, одно из самых распространенных предложений: "давайте для файла
что-то-там.conf создадим каталог что-то-там.d", и создают.

ЗЗЫ2all: Кстати, мбть пропатчить в этом направлении httpd ? Можно было бы
устанавливать новые пакеты и активировать подсистемы без извратов на основе
sed, которые, кстати, не всегда работают....

-- 
WthBstRgrds -- Андрей Орлов --  
 --- http: www.neural.ru, mail: cray@neural.ru, jid: cray@altlinux.org ---
----------------------------------------



  parent reply	other threads:[~2004-01-12  8:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-11 22:26 Peter V. Saveliev
2004-01-12  8:08 ` [devel] " Michael Shigorin
2004-01-12 10:12   ` Dmitry V. Levin
2004-01-12 15:55     ` Michael Shigorin
2004-01-12 16:43       ` Алексей Любимов
2004-01-12 16:49         ` Michael Shigorin
2004-01-12 17:03           ` Алексей Любимов
2004-01-12  8:38 ` Andrey Orlov [this message]
2004-01-12  9:05   ` [devel] apache += sysv (was: awk in initscripts) Michael Shigorin
2004-01-12 11:28     ` Denis Ovsienko
2004-01-12 15:54       ` [devel] " Michael Shigorin
2004-01-12  9:15   ` [devel] awk in initscripts Алексей Любимов
2004-01-12 19:51     ` Peter V. Saveliev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200401121138.10169.cray@neural.ru \
    --to=cray@neural.ru \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git