From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Andrey Orlov To: ALT Devel discussion list Subject: Re: [devel] awk in initscripts Date: Mon, 12 Jan 2004 11:38:10 +0300 User-Agent: KMail/1.5.4 References: <20040112012650.4bc06452.peet@altlinux.ru> In-Reply-To: <20040112012650.4bc06452.peet@altlinux.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200401121138.10169.cray@neural.ru> X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.3 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 08:37:44 -0000 Archived-At: List-Archive: List-Post: Поскольку в качестве примера неудачного решения использовали конфиги экземпляров 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 --- ----------------------------------------