Re: ng_ipacct port

From
Vadim Goncharov (2:5020/400)
To
Sergey Skvortsov
Date
2006-09-17T22:56Z
Area
RU.UNIX.BSD
From: Vadim Goncharov <vadimnuclight@tpu.ru>

Hi Sergey Skvortsov! 

On Sat, 16 Sep 2006 17:02:51 +0000 (UTC); Sergey Skvortsov wrote about 'Re: ng_ipacct port':

 SS>> * унифицированные конфиги для нескольких машин - в этом случае в
 SS>> /etc/rc.conf лежат host-specific data, а в rc.conf.d - общие для всех
 >> /etc/rc.conf.local уже отменили?
 SS> Вот лично у вас, будьте честны, строки с hostname, ifconfig* - лежат в
 SS> rc.conf.local?

Нет. Ибо у меня нет кластеров, где была бы значительная часть
конфигурации общей, и небольшая часть - специфичной для машины. У меня
типичный rc.conf имеет размер порядка ~60 строк (включая небольшое
колличество комментированных) - это всего два экрана в vim. И 10-20
строчек *_enable в этом rc.conf. Я могу его здесь привести, дабы вы могли
на примере показать, чем двадцать файликовв, в каждом из которых только
одна строка enable (и лишь ВОЗМОЖНЫ еще какие flags и т.п.), лучше, чем
один экран редактора с этой же конфигурацией.

 SS>> * version control - управлять/отследить изменения в конфигурации сервиса
 SS>> проще (удобнее) если конфигурация сия лежит в отдельном файле, а не в
 SS>> монолитном-общем rc.conf
 >> Опять же путаем startup-конфигурацию и общую конфигурацию.
 SS> С чего бы это столь странный вывод?! Вполне чётко отделяю.
 SS> Оба вида конфигураций надо хранить в VCS.

В VCS надо хранить все конфиги. Тут особой роли играть не будет (да и,
как по мне, удобне получить сжатый diff изменения одного файла, нежели
портянку на все файлы вместе). А сами startup-скрипты портов вообще
можно под CVS не класть, они легко восстанавливаются из портов же.

 SS>> и т.д.
 SS> Вот кстати ещё свежие пункты:
 SS> * robustness - синтаксическая ошибка в одном конфиге не приведёт к краху
 SS> всей системы (такие коварные ловушки не столь уж редки после reboot'а).

:) Синтаксис rc.conf настолько прост, что я ни разу за несколько лет
с таким не сталкивался.

 SS> * security - можно давать sudo неким операторам на управление
 SS> подмножеством сервисов.

...с правом на ребут машины? Пример не жизненный.

 SS>> Если лично для вас это не актуально, это не означает, что для остальных
 SS>> является приемлемым вариант "все пихаем в rc.conf". Когда на машине
 SS>> стоит 20-30 сервисов/портов, для которых кужны startup настройки,
 SS>> "управлять" ими через rc.conf жутко утомительно (это, конечно, моё imho
 SS>> на основе личной практики).
 >> Это сугубо ваше личное ho. Когда я все свои сервисы вижу на одном экране
 >> в vim и могу их тут же поменять, это куда удобнее, чем лазить в пачку
 >> мелких файликов.
 SS> Думаю, нет смысла особо подчёркивать, что ваш modus operandi не столь уж
 SS> распространён нынче и, конечно, вовсе не канонический?

Канонический - так во фре всегда было. Это, скорее, ваш не распространен
практически.

 SS>>>> Точно так же как для xinetd удобнее настройки сервисов кидать в
 SS>>>> /etc/xinetd.d (man xinetd.conf /includedir)
 >>>> Ой, какой SysV-style ужас.
 SS>>> Ах оставьте, тогда и rc.subr - тоже SysV?
 >>> :) rc.subr как раз есть концентрация используемых процедур в одном
 >>> месте, а не размазывание по куче файлов.
 SS>> И rc.conf.d - продолжение этой идеи.
 >> Размазывание по куче файлов не может быть продолжением идеи концентрации
 >> в одном файле.
 SS> rc.subr - это вовсе не "концентрация используемых процедур".
 SS> И не просто API для скриптов. Это фундамент для разделения монолитных
 SS> rc-скриптов на логически изолированное 
 
По факту - это всего лишь библиотека процедур. Остальное - философские
измышления.

 SS> граф скриптов в rc.d.

Нифига он на данный момент не граф. Параллельного запуска независимых
сервисов - нет. Всё идет в точной последовательности rcorder(8).

 >> P.S. Вот что можно было бы считать прогрессом, так это введение
 >> различных rc.conf (в каждом из которых полные настройки), своего рода
 >> профилей, и переключение между ними 
 SS> Это легко делается средствами shell'а.

Подержка loader'ом - тоже средствами шелла?

 >> А также развитие механизма зависимостей (когда рестарт одного
 >> сервиса требует рестарта другого).
 SS> Вы таки не поверите, но данная возможность уже есть в rc.subr (forced
 SS> dependencies).
 SS> Только вот таких диких сервисов что-то нет.

Что, вообще говоря, странно.

 >> Но размазывание _однородной_ конфигурации
 >> из одного файла в кучу разных - это не прогресс, и даже не регресс, это
 >> диверсия.
 SS> Угу, давайте усилим риторику - "всякий грех глаголит, но rc.d вопиёт".

По существу есть что возразить против однородности конфигурации?

 SS> Резюмируя.
 SS> 1. Для меня использование rc.conf.d есть безусловно логичный и удобный
 SS> способ управления сервисом. Использовать для настроек сервисов только
 SS> rc.conf - устарелый и неудобный способ.

Бездоказательно.

 SS> 2. Для вас - rc.conf единственно приемлемый и безальтернативный.

Если из альтернатив только rc.conf.d - то да.

 SS> Дальнейшее же обсуждение сведётся к повтору одних и тех же агрументов,
 SS> что есть бессмысленная трата времени.

Есть еще демонстрация на примерах.

 SS> Надеюсь лишь, что подписчики этой эхи сделают полезные выводы из данной
 SS> дискусии, по принципу "неполнота знаний о мире компенсируется его
 SS> стереоскопичностью".

Конкретно по сабжу - портеры обязаны поддерживать не только 5-ку, на
которой в манах ничего об rc.conf.d нет, но и 4-ку, срок поддержки
которой еще не кончился, а система стартовых скриптов там вообще старого
стиля.

 SS> История нас рассудит (скорее всего, как обычно, придумав некий третий
 SS> вариант).

Графические конфигурялки :)

 SS> p.s. Мне, кстати, давно хочется где-нибудь сделать тематические опросы
 SS> участников эхи на de-facto применяемых (mainstream) технологий и
 SS> подходов в работе. И кроме классических "vim или exim", "sendmail vs.
 SS> exim vs. postfix", можно добавить топик "как вы управляете конфигами".
 SS> Равно как и детальное описание альтернатив, эдаких "паттернов unix
 SS> администрирования" - imho было бы весьма поучительным.

Сделайте. Будет интересно.

-- 
WBR, Vadim Goncharov. ICQ#166852181       mailto:vadim_nuclight@mail.ru
[Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight]
--- slrn/0.9.8.1 on FreeBSD 4.11/i386
 * Origin: Nuclear Lightning @ Tomsk, TPU AVTF Hostel (2:5020/400@fidonet)
SEEN-BY: 50/12 203 400/814 450/159 186 1024 451/30 461/43 132 640 469/999
SEEN-BY: 550/196 4616/3 4625/8 4635/4 4641/444 5000/76 5000 5006/1 5007/1
SEEN-BY: 5010/70 352 5011/13 5012/46 5015/28 5019/31 5020/18 154 175 194 400
SEEN-BY: 5020/545 549 715 758 982 1057 1523 1604 1630 1909 1922 2142 2238 2395
SEEN-BY: 5020/2450 2590 2871 4441 5021/3 29 5022/128 5025/3 750 5026/45
SEEN-BY: 5027/12 5029/32 5030/49 500 556 966 1063 1080 1900 1957 2828 5031/47
SEEN-BY: 5031/70 5034/10 13 5035/3 38 5036/1 5040/47 5042/13 5045/7 5049/1 50
SEEN-BY: 5049/97 5051/15 5054/1 4 8 9 11 28 35 36 37 45 63 66 67 70 75 84 85
SEEN-BY: 5055/95 5057/1 5059/9 5060/88 5061/15 5062/1 10 5063/3 5064/7 5066/18
SEEN-BY: 5074/9 5075/5 5077/70 5080/80 1003 5082/6 5083/21 5085/13 5090/108
SEEN-BY: 5094/4 5095/20 5096/18 5099/11 6001/3 10
PATH: 5020/400 4441 545 5054/1 37