Re: Правильные демоны - не демоны?

2009-09-15 Пенетрантность yuri . nefedov

On Tue, 15 Sep 2009, Иван Лох wrote:


On Tue, Sep 15, 2009 at 10:05:09AM +0400, Alexander Galanin wrote:

On Tue, 15 Sep 2009 00:30:26 +0400

Не поленился проверить: лишил себя $HOME и перелогинился через xdm. В
итоге получил дефолтный icewm. И никаких соответствующих
предупреждений.


И действительно... Но никто не мешает Вам вставить две строчки в .xsession



 А разве перед тем как удалять $HOME редактирование конфигов
 обязательно?

 Ю.

Re: Правильные демоны - не демоны?

2009-09-15 Пенетрантность Artem Chuprina
Иван Лох - debian-russian@lists.debian.org  @ Tue, 15 Sep 2009 12:42:48 +0400:

  Не поленился проверить: лишил себя $HOME и перелогинился через xdm. В
  итоге получил дефолтный icewm. И никаких соответствующих
  предупреждений.

 ИЛ И действительно... Но никто не мешает Вам вставить две строчки в
 ИЛ .xsession

В .xsession в отсутствующем $HOME?

-- 
Балансу вежливости и самоуважения надо учиться у англичан. Они ко всем
обращаются на вы, но Я пишут с большой буквы
(c) Yuri Nesterenko


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-09-14 Пенетрантность Artem Chuprina
Alexander Galanin - debian-russian@lists.debian.org  @ Mon, 14 Sep 2009 
11:03:50 +0400:

   AG Видимо, у тебя никогда проприетарный видеодрайвер систему намертво не 
  вешал.
  
  Подравшись с проприетарным же драйвером сканера?  Выкинь оба.  И либо
  выкинь железо, к которому нет нормальных драйверов, либо поставь винду,
  под которую драйвера хотя бы тестировали, и молись, чтобы на ней та же
  проблема не выскочила (потому что совместимость этого драйвера видюхи с
  этим драйвером сканера никто никогда не тестировал и под виндой).

 AG Нет, fglrx имеет привычку виснуть и на ровном месте. Но дохтур
 AG ставит диагноз легко, потому что видит, что последним сообщением в
 AG консоли (перед тем как экран почернел и замигали диоды на
 AG клавиатуре) было Starting atieventsd Сразу понятно, кто
 AG виноват и на кого багрепорт писать. С параллельной же загрузкой я
 AG боюсь, что среди десятка строчек вообще не смогу ничего увидеть.  Я
 AG болен, дохтур?

Да.

   AG И ядро в панику не обращалось.
  
  Дохтур, ядро _уже_ поднимается в параллель.  Ему _уже_ похрен
  последовательная модель sysvinit.  Оно _уже_ не ждет инициализации

 AG И ты предлагаешь, раз ядро уже поднимается страшным образом,
 AG усложнить и процесс инициализации?

Нет, я предлагаю его упростить.

-- 
mv /dev/rookie /dev/hands


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-09-14 Пенетрантность Artem Chuprina
Alexander Galanin - debian-russian@lists.debian.org  @ Mon, 14 Sep 2009 
11:53:22 +0400:

   AG Потому уточняю формулировку требования: честно попытаться всё запустить
   AG перед приглашением войти в систему, чтобы не создалось ситуации, когда 
  я
   AG уже залогинился, а nfs всё ещё не смонтирован.
  
  То есть если у тебя тот конец лежит, то твоя машина не должна тебе дать
  возможности залогиниться.  Тогда событийная модель к твоим услугам.

 AG Да, не должна. Хотя бы потому что у меня /home может быть на nfs.

Силен...  Типа home, может быть, на NFS, а может быть, и нет.  Но если
NFS не смонтировалась, то возможности залогиниться и починить быть не
должно...  Даже если (в случае может быть, и нет) она вообще-то и не
нужна...

  Именно событийная, а не sysvinit.

 AG Так, это уже похоже на обоснование необходимости событийной модели.
 AG То есть если система каким-либо образом узнает, что nfs-сервер умер
 AG и больше не оживёт, то она должна поубивать все демоны, зависимые
 AG от него, в том числе и мою логин-сессию?

Поубивать - вряд ли.  Сами вымрут, если надо.  А вот стартовать их, пока
сети нету, действительно не стоит.

   AG То, что конкретный демон и конкретный его инит-скрипт завершились
   AG до того, как им стало возможно пользоваться --- проблема
   AG исключительно этого демона. И к init-у это мало относится.
  
  Твоими бы устами да медку хряпнуть.  Таковы 9 демонов из 10.

 AG Примем это за начальные условия. В обоих случаях: при проверке
 AG пререквизитов в параллельной инициализации и при проверке готовности
 AG сервиса к работе (в последовательной), - будет работать, очевидно,
 AG одинаковый код. Так какая разница?

Разницу я уже описывал.  Когда имеют в голове событийную, а не
последовательную модель, по модели форкнул и забыл действуют, гм, не в
каждом первом случае.  Во всяком случае, уже не будут надеяться на пока
еще до старта зависимых скриптов дойдет дело...  Просто помнят о том, о
чем при якобы последовательной инициализации мысль в голову не приходит.

   AG У pppd, к примеру, есть на такой случай замечательная опция
   AG updetach.  Или вот ещё ifupdown, который не завершается, пока не
   AG получит адрес по dhcp.
  
  ... в то время как мне сеть для логина нафиг не нужна, а нужна как раз
  после - ибо нифига тут DHCP не дают, и чтобы ее получить, надо ручками
  адрес прописать.  Ну и на кой?

 AG Тебе, может, и не нужна, а другому понадобится.

Вот пусть этот другой и пропишет себе зависимость от сети.  Благо
инит-скрипты у нас по полиси относятся к конфигам.

 AG Более того, предвижу ситуацию, когда тебе для логина потребуется
 AG только один интерфейс из десяти и только две из пяти файловых
 AG систем.

Ну, в общем, да - если есть сервер в стойке, то sshd на нем должен
подняться и начать пускать хотя бы рутом при наличи хоть какой-нибудь
сети.  Хотя прям-вот-сразу - не обязательно, можно какое-то время и
подождать, авось поднимутся все.

 AG Причём наверняка появятся желающие распарсить руками конфиг
 AG соответствующего демона, чтобы выяснить, а какие же ему интерфейсы
 AG нужны.

Вряд ли.  Народ ленив.

   AG И не стоит забывать, что мантайнеры не всегда добросовестные и не
   AG всегда компетентные, чтобы отследить и проверить все
   AG пререквизиты. В качестве примера того уровня, на котором находится
   AG продумывание инит-скриптов, могу указать то, что для thttpd и
   AG ejabberd на команду stop демон вообще не убивался (не знаю, как
   AG сейчас обстоят дела).
  
  Ты не выкручивайся.  Ты покажи, чем тут последовательная загрузка лучше
  параллельной.  В параллельной ты, если обнаружил, что мейнтейнер забыл

 AG Она понятней и проще для отладки.

Есть большие сомнения.  Последовательная модель понятней и проще только
тогда, когда последовательна вся архитектура.

  пререквизит, сам его вписываешь, и тебе ура.  А в последовательной?
  Танцы с бубном вокруг числа после буковки S?  Или от того, что загрузка

 AG Впишу пререквизит в зависимость, запущу insserv и он поправит мне
 AG число после буковки, попутно сделав минимальную проверку
 AG правильности зависимостей. Разумеется, это в теории, т.к. в моих
 AG тепличных условиях и проблем, которые мы тут обсуждаем, я не
 AG встречал.

Я предпочитаю, чтобы работу, которую может выполнить машина, машина же и
выполняла.  Хотя, конечно, обнаружение циклов зависимостей до
(удаленной) перезагрузки полезнее, чем во время...

  последовательная, мейнтейнер сразу станет на порядок ответственнее и
  будет эти танцы танцевать сам?  Так ты ж сам контрпримеры приводишь...

 AG Я привожу примеры того, как может мантейнер накосячить. Исходя из
 AG этого, надо давать ему меньше мест для косяков. Логично вроде.

Да столько же их у него.

   AG Не многовато ли пререквизитов проверять придётся? Пример: в скрипте
   AG для запуска экзима надо будет проверять, смонтировался ли
   AG /var/spool, который может быть на nfs-е, поднялись ли сетевые
   AG интерфейсы из конфига и т.д.
  
  Ты туда хоть заглядывал, в этот инит-скрипт экзима?
  Он 

Re: Правильные демоны - не демоны?

2009-09-14 Пенетрантность Alexander GQ Gerasiov
Mon, 14 Sep 2009 11:53:22 +0400
Alexander Galanin a...@galanin.nnov.ru wrote:


 Давай найдём формулировку, которая устроит нас обоих. Например, иметь
 возможность указать системе, что именно обязано быть у меня запущено и
 полностью инициализировано, когда мне предложат залогиниться. Вполне
 вписывается и в мои закидоны и в твои не хочу ждать, пока
 поднимется nfs.
А зачем искать компромисс? Наличие в дистрибутиве upstart'а никак не
помешает тебе использовать sysv-rc и sysvinit.

-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:g...@cs.msu.su Jabber:  g...@jabber.ru
 Homepage:  http://gq.net.ru ICQ: 7272757
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-09-13 Пенетрантность Alexander GQ Gerasiov
On Thu, 10 Sep 2009 22:06:55 +0400
Alexander Galanin a...@galanin.nnov.ru wrote:

 On Thu, 10 Sep 2009 21:42:35 +0400
 Alexander GQ Gerasiov g...@cs.msu.su wrote:
 
   Эти слова подкрепляются каким-нибудь исследованием или выводы
   сделаны на основе чтения аннотаций к network-manager и upstart?
  Почитай письмо по моей ссылке. Так как минимум несколько проблем
  указаны.
 
 Все три проблемы, описанные там явно (устройства в /dev, сетевые
 интерфейсы и согласование номеров скриптов) я уже разобрал в ответе на
 то письмо. Причём по построению решения видно, что они могут быть
 решены в рамках sysvinit.
Ну так предлагаемое решение как минимум совместимо с sysvinit.

 
 Может есть ещё источник, где проблемы разобраны и обоснована их
 неразрешимость при наших ограничениях?
Да проще всё:

загрузка ядра стала событийной, можно тупо ждать пока оно полностью
инициализируется, потом запустить удев и модютилс и повисеть на
таймауте 30 секунд, чтобы убедиться, что все устройства запустились.
Но зачем? Если это мой ноутбук, который мне надо загрузить быстро?
Зачем запускать что-то последовательно и висеть то на процессоре, то на
вводе-выводе, если у нас 2, 4, 8 ядер? Давайте распараллелим процесс
загрузки, будем запускать сервисы и всякие инициализационные скрипты as
early as possible.

Получается довольно прозрачная с точки зрения концепции идея: есть
события, генерируемые ядром, есть события типа сервис X стартовал,
есть зависимости от событий в стартовой последовательности. И всё.
И такие системы инициализации уже есть. Но мы говорим о mainline,
поэтоум на практике всё немножно сложнее: надо оставить совместимость с
LSB, то есть с system v init, надо решить проблему с тем, что делать,
если вдруг один из сервисов не смог стартовать и т.д.
Ну и надо минимально напрячь мейтернеров пакетов, предоставляющих
инит-скрипты.

-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:g...@cs.msu.su Jabber:  g...@jabber.ru
 Homepage:  http://gq.net.ru ICQ: 7272757
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1


signature.asc
Description: PGP signature


Re: Правильные демоны - не демоны?

2009-09-13 Пенетрантность Artem Chuprina
Alexander Galanin - debian-russian@lists.debian.org  @ Sun, 13 Sep 2009 
16:00:12 +0400:

 AG Более того, я считаю необходимым условием то, что когда init мне
 AG бодро сообщил о завершении своей работы запуском xdm, система
 AG должна быть готова к эксплуатации.

Ну а я так не считаю.  Подеремся?

Не говоря уже о том, что sysvinit никак тебе этой гарантии не дает.  (И
слава богу - у меня система поднимет xdm несмотря на то, что vmware не
поднялась - а не поднялась она потому, что модули надо под новое ядро
пересобрать, ибо если б не апгрейд ядра, я б вообще не перегружался - и
что мне, в консоли корячиться со сборкой этих модулей?  - ах да,
getty-то она с твоими предпочтениями тоже не запустила бы...)

При событийной модели ты хотя бы можешь прописать зависимости - и
система будет тебе запускать xdm тогда и только тогда, когда она подняла
все сервисы.  (Оно, конечно, ты наплачешься, когда у тебя какой-нибудь
сервис не поднимется - но ССЗБ, кто ж тебя просил такие глупости
делать?)

  Но зачем? Если это мой ноутбук, который мне надо загрузить быстро?

 AG У ноутбука есть кнопка suspend, нажимая которую ты дёргаешь не
 AG /etc/rc?.d/*, а /etc/{suspend,resume}.d/*.

Если б оно еще и работало...  А то у моего, скажем, с некоторой
регулярностью бывает бессонница...

  Зачем запускать что-то последовательно и висеть то на процессоре, то на
  вводе-выводе, если у нас 2, 4, 8 ядер? Давайте распараллелим процесс
  загрузки, будем запускать сервисы и всякие инициализационные скрипты as
  early as possible.
  ...
  Ну и надо минимально напрячь мейтернеров пакетов, предоставляющих
  инит-скрипты.

 AG Ты готов своей репутацией отвечать за то, что все инит-скрипты
 AG написаны и будут писаться без race?

 AG Даже если добавить в полиси строчку инит-скрипт должен быть
 AG написан так, чтобы позволять параллельное выполнение со другими
 AG инит-скриптами, это не улучшит ситуацию. Система должна быть
 AG устойчивой к ошибкам by design.

Так эта проблема и при последовательном запуске точно так же в полный
рост.  Хинт: если демон уже форкнулся, отсетсидился и еще раз форкнулся,
и даже, может быть, pid-файл записал, это еще не значит, что он готов к
работе и его услугами можно пользоваться.

Только при последовательном запуске об этом регулярно забывают - и
потому при нем race у нас в полный рост.  А когда в голове держат
параллельный, пререквизиты все-таки проверяют.

А система у нас многозадачная, извините, by design.  Кому не нравится -
есть MS-DOS и MacOS, которая не X.

  Получается довольно прозрачная с точки зрения концепции идея: есть
  события, генерируемые ядром, есть события типа сервис X стартовал,
  есть зависимости от событий в стартовой последовательности. И всё.

 AG Если заходить со стороны отладки, то получается трудноотлаживаемая
 AG конструкция. Потому что отследить по линейным логам, на каком из
 AG пяти параллельно запущенных процессов инициализация грохнулась,
 AG весьма и весьма проблематично.

Use grep, Luke!

-- 
Все гениальное просто.
Но со вкусом.
Кнышев.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-09-13 Пенетрантность Artem Chuprina
Alexander Galanin - debian-russian@lists.debian.org  @ Sun, 13 Sep 2009 
19:01:50 +0400:

   AG Более того, я считаю необходимым условием то, что когда init мне
   AG бодро сообщил о завершении своей работы запуском xdm, система
   AG должна быть готова к эксплуатации.
  
  Не говоря уже о том, что sysvinit никак тебе этой гарантии не дает.  (И
  слава богу - у меня система поднимет xdm несмотря на то, что vmware не
  поднялась - а не поднялась она потому, что модули надо под новое ядро
  пересобрать, ибо если б не апгрейд ядра, я б вообще не перегружался - и
  что мне, в консоли корячиться со сборкой этих модулей?  - ах да,
  getty-то она с твоими предпочтениями тоже не запустила бы...)

 AG sysvinit даёт мне гарантию, что он честно попытается запустить все
 AG скрипты

В это верю...

 AG и внятно обругается в консоль, если что пошло не так.

... а в это - нет.  Ты посмотри на любой процесс загрузки с ошибками.  И
попробуй потом найти там ошибку, ага...  Выкинутую наивным скриптом
в stderr, а не в сислог или хотя бы dmesg.

 AG Потому уточняю формулировку требования: честно попытаться всё запустить
 AG перед приглашением войти в систему, чтобы не создалось ситуации, когда я
 AG уже залогинился, а nfs всё ещё не смонтирован.

То есть если у тебя тот конец лежит, то твоя машина не должна тебе дать
возможности залогиниться.  Тогда событийная модель к твоим услугам.
Именно событийная, а не sysvinit.

А вот если ради удовлетворения твоих закидонов оно так станет вести себя
_у меня_ - вот тут-то я и начну искать способ пришибить тебя и сделать
по-человечески...

   AG Ты готов своей репутацией отвечать за то, что все инит-скрипты
   AG написаны и будут писаться без race?
  
   AG Даже если добавить в полиси строчку инит-скрипт должен быть
   AG написан так, чтобы позволять параллельное выполнение со другими
   AG инит-скриптами, это не улучшит ситуацию. Система должна быть
   AG устойчивой к ошибкам by design.
  
  Так эта проблема и при последовательном запуске точно так же в
  полный рост.  Хинт: если демон уже форкнулся, отсетсидился и еще раз
  форкнулся, и даже, может быть, pid-файл записал, это еще не значит,
  что он готов к работе и его услугами можно пользоваться.

 AG То, что конкретный демон и конкретный его инит-скрипт завершились
 AG до того, как им стало возможно пользоваться --- проблема
 AG исключительно этого демона. И к init-у это мало относится.

Твоими бы устами да медку хряпнуть.  Таковы 9 демонов из 10.

 AG У pppd, к примеру, есть на такой случай замечательная опция
 AG updetach.  Или вот ещё ifupdown, который не завершается, пока не
 AG получит адрес по dhcp.

... в то время как мне сеть для логина нафиг не нужна, а нужна как раз
после - ибо нифига тут DHCP не дают, и чтобы ее получить, надо ручками
адрес прописать.  Ну и на кой?

 AG И не стоит забывать, что мантайнеры не всегда добросовестные и не
 AG всегда компетентные, чтобы отследить и проверить все
 AG пререквизиты. В качестве примера того уровня, на котором находится
 AG продумывание инит-скриптов, могу указать то, что для thttpd и
 AG ejabberd на команду stop демон вообще не убивался (не знаю, как
 AG сейчас обстоят дела).

Ты не выкручивайся.  Ты покажи, чем тут последовательная загрузка лучше
параллельной.  В параллельной ты, если обнаружил, что мейнтейнер забыл
пререквизит, сам его вписываешь, и тебе ура.  А в последовательной?
Танцы с бубном вокруг числа после буковки S?  Или от того, что загрузка
последовательная, мейнтейнер сразу станет на порядок ответственнее и
будет эти танцы танцевать сам?  Так ты ж сам контрпримеры приводишь...

  Только при последовательном запуске об этом регулярно забывают - и
  потому при нем race у нас в полный рост.  А когда в голове держат
  параллельный, пререквизиты все-таки проверяют.

 AG Не многовато ли пререквизитов проверять придётся? Пример: в скрипте
 AG для запуска экзима надо будет проверять, смонтировался ли
 AG /var/spool, который может быть на nfs-е, поднялись ли сетевые
 AG интерфейсы из конфига и т.д.

Ты туда хоть заглядывал, в этот инит-скрипт экзима?

# Required-Start:$remote_fs $syslog $named $network $time
# Required-Stop: $remote_fs $syslog $named $network

Он мало того, что проверяет все, что ты сказал - он еще и проверяет то,
что ты забыл...

Получается довольно прозрачная с точки зрения концепции идея:
есть события, генерируемые ядром, есть события типа сервис X
стартовал, есть зависимости от событий в стартовой
последовательности. И всё.
  
   AG Если заходить со стороны отладки, то получается
   AG трудноотлаживаемая конструкция. Потому что отследить по
   AG линейным логам, на каком из пяти параллельно запущенных
   AG процессов инициализация грохнулась, весьма и весьма
   AG проблематично.
  
  Use grep, Luke!

 AG Ну нагрепаю я, что загрузка у меня встаёт, когда одновременно
 AG запущены скрипты для xdm, console-setup и fbset. И что? Ребутнуться
 AG ещё десяток раз, исключая их по одному, да так проблему и не
 AG поймать, потому что всё 

Re: Правильные демоны - не демоны?

2009-09-13 Пенетрантность Artem Chuprina
Alexander Galanin - debian-russian@lists.debian.org  @ Sun, 13 Sep 2009 
21:13:27 +0400:

   Ну нагрепаю я, что загрузка у меня встаёт, когда одновременно запущены
   скрипты для xdm, console-setup и fbset. И что? Ребутнуться ещё десяток
  
  Как нетрудно сообразить, как раз в событийной модели, загрузка _не встанет_
  Просто не будет выполнена часть дерева за блокирующим узлом. Тем, который в
  лог Started кинул, а OK -- нет.

 AG Видимо, у тебя никогда проприетарный видеодрайвер систему намертво не 
вешал.

Подравшись с проприетарным же драйвером сканера?  Выкинь оба.  И либо
выкинь железо, к которому нет нормальных драйверов, либо поставь винду,
под которую драйвера хотя бы тестировали, и молись, чтобы на ней та же
проблема не выскочила (потому что совместимость этого драйвера видюхи с
этим драйвером сканера никто никогда не тестировал и под виндой).

 AG И ядро в панику не обращалось.

Дохтур, ядро _уже_ поднимается в параллель.  Ему _уже_ похрен
последовательная модель sysvinit.  Оно _уже_ не ждет инициализации
драйвера сканера, чтобы поднять драйвер видюхи.  Равно как и наоборот.
sysvinit тут совершенно ни при делах, и в _его_ выводе ты ничерта не
обнаружишь - потому что этой информации там нет и быть не может.

-- 
Это неправильный шелл. В нем дают неправильный перл. (С)энта


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-09-10 Пенетрантность Alexander GQ Gerasiov
On Thu, 10 Sep 2009 19:48:06 +0400
Alexander Galanin a...@galanin.nnov.ru wrote:

 On Thu, 10 Sep 2009 02:26:43 +0400
 Иван Лох l...@1917.com wrote:
 
  Во-первых, я не фанат upstart. Монстр еще тот. Но сейчас активное
  внедрение того, что называют событийная модель в ядро и юзерспейс
  -- факт. И это неизбежное следствие увеличение числа и номенклатуры
  втыкабельных железяк, с одной стороны, и увеличения числа
  состояний системы (standby, suspend, пропала сеть, поменялся тип
  подключения) с другой. 
  
  System V Init в этой ситуации неадекватен. Он рассчитан на то, что
  инициализация это разовый, а не постоянный процесс. Это почти верно
  для сервера в датацентре, но абсолютно неверно сейчас для рабочей
  станции.
 
 Эти слова подкрепляются каким-нибудь исследованием или выводы сделаны
 на основе чтения аннотаций к network-manager и upstart?
Почитай письмо по моей ссылке. Так как минимум несколько проблем
указаны.

-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:g...@cs.msu.su Jabber:  g...@jabber.ru
 Homepage:  http://gq.net.ru ICQ: 7272757
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-09-10 Пенетрантность Roman S. Gushcha
On Thu, Sep 10, 2009 at 10:06:55PM +0400, Alexander Galanin wrote:
 Все три проблемы, описанные там явно (устройства в /dev, сетевые
 интерфейсы и согласование номеров скриптов) я уже разобрал в ответе на
 то письмо. Причём по построению решения видно, что они могут быть решены
 в рамках sysvinit.

Я что-то не увидел в том ответе про согласование номеров скриптов...

Мне кажется настоящая причина перехода на событийно-ориентированную
инициализацию проста: если система может принять качественное решение
автоматически -- она обязана это делать и любое другое решение уже не
будет правильной вещью.
Так на смену статическому /dev, роутингу, определению зависимостей и
проч. пришли динамические варианты.
Если проблема формализуется плохо -- получается NetworkManager (имхо).
С инициализацией все должно получиться.

--
С уважением,
Роман Гуща


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-09-09 Пенетрантность Alexander GQ Gerasiov
Fri, 28 Aug 2009 17:14:43 +0400
San_Sanych ssan...@gmail.com wrote:

 Alexey Pechnikov пишет:
  Собственно, накопилось много всего, запускаемого из inittab и
  init.d, собрался это задокументировать. Но скрипты inet.d
  монстрообразные и содержат бесполезные прослойки (через ps удобнее
  смотреть, с какими параметрами сервис запущен, нежели разбираться в
  таких скриптах, лазить в defaults проч.). Пришел к выводу, что
  лучше для пользовательских сервисов сменить систему запуска на
  нечто более простое и функциональное, нежели дальше с этим жить.
 

 после таких слов возможно создание очередного форка дистрибутива :)
Разработчики испугались и обещали сами исправиться:
http://lists.debian.org/debian-devel-announce/2009/09/msg3.html

-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:g...@cs.msu.su Jabber:  g...@jabber.ru
 Homepage:  http://gq.net.ru ICQ: 7272757
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-31 Пенетрантность Oleksandr Gavenko

Alexandr Sagadeev пишет:

Artem Chuprina пишет:
Alexey Pechnikov - debian-russian@lists.debian.org  @ Sat, 29 Aug 
2009 12:49:34 +0400:


Проверка на соответствие ТЗ проводится вообще-то сертифицирующими
органами (и что там написано - это отдельная песня), в отдельных очень
редких случаях - менеджером, а тестировщик в норме ТЗ вообще в глаза не
видит.



Проверка на соответствие ТЗ проводится заказчиком совместно с 
исполнителем в соответствии с разделом ТЗ «Порядок контроля и приемки» 
и на основание документа «Программа и методика испытаний», если такой 
предусмотрен а ТЗ.



+
http://www.csrs.ru/gost/19_101_77.htm (Программа и методика испытаний -
Требования,
подлежащие проверке при испытании программы, а также порядок и методы их
контроля)
http://www.csrs.ru/gost/19_301_79.htm

Впервые слышу, что ПО подлежит обязательной сертификации в 
сертифицирующих органах. Естественно, это не касается специальных 
видов ПО, касающихся, скажем, метрологического обеспечения или защиты 
информации.



+
Тестирование тестировщиками, это, вообще то, тестирование на 
устойчивость к программным сбоям и надёжность. Если это делается до 
сдачи, то это внутреннее дело фирмы разработчика. Если в процессе 
сдачи, то состав тестовых присеров должен быть перечислен в ТЗ и/или 
«Программе...».

+

--

С уважением, Александр Гавенко.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-31 Пенетрантность Artem Chuprina
Alexandr Sagadeev - debian-russian@lists.debian.org  @ Sun, 30 Aug 2009 
18:53:19 +0400:

  Проверка на соответствие ТЗ проводится вообще-то сертифицирующими
  органами (и что там написано - это отдельная песня), в отдельных очень
  редких случаях - менеджером, а тестировщик в норме ТЗ вообще в глаза не
  видит.

 AS Проверка на соответствие ТЗ проводится заказчиком совместно с
 AS исполнителем в соответствии с разделом ТЗ «Порядок контроля и
 AS приемки» и на основание документа «Программа и методика испытаний»,
 AS если такой предусмотрен а ТЗ.

А, сэр про теорию...  В теории тестировщик вообще не нужен.  В теории
можно программу доказать.

 AS Впервые слышу, что ПО подлежит обязательной сертификации в
 AS сертифицирующих органах. Естественно, это не касается специальных
 AS видов ПО, касающихся, скажем, метрологического обеспечения или
 AS защиты информации.

_На практике_ проверка на соответствие ТЗ встречается только при
сертификации.  Да, для тех видов ПО, которые ее проходят.  В остальных
случаях если проверяют, то проверяют, делает ли продукт то, что надо, а
не то, что написано в ТЗ.

Кстати, сертификация обязательна не только для определенных видов ПО, но
и для принятия любого ПО на вооружение в определенных ситуациях.
Точнее не скажу, но в не только уверен.

-- 
Дуля со смещенным центром тяжести


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-31 Пенетрантность Sergey Korobitsin
Fri, Aug 28, 2009 at 23:40 +0400 Alexey Pechnikov воздействовал на энтропию:
 Hello!
 
 On Friday 28 August 2009 23:22:16 Artem Chuprina wrote:
   AG Во время эксплуатации же действительно надо запускать от
   AG ограниченной учётной записи, с перекрытым доступом на запись и т.д.
  
  ... тут-то и выясняется, что то, что у разработчика в его разработочной
  среде работало, в эксплуатационной работать не хочет...
 
 И админ легкой рукой дает полный доступ на чтение/запись, поскольку 
 именно его пинают за то, что не работает - вон, мол, на тестовом-то работает,
 значит, разработчики дело сделали. А переписывать под ограниченную 
 конфигурацию и тестировать на месяц затянется, сорвет все планы и сроки 
 и вообще никому нафиг не надо.

Да уж, знакомо. Я плюнул на это дело и завёл виртуалки - пусть городят,
что хотят. Но это неправильно, конечно.

-- 
Best regards, Sergey Korobitsin
Arta Software, Astana, KZ
mailto:undertaker{at}arta.kz
xmpp:underta...@jabber.arta.kz

--
Антошка умных книг начитался - теперь голодный ходит: на кухню проход узкий, а 
пальцы мешаются - злой.
--Pi(linux.org.ru)


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-30 Пенетрантность Alexandr Sagadeev

Artem Chuprina пишет:

Alexey Pechnikov - debian-russian@lists.debian.org  @ Sat, 29 Aug 2009 
12:49:34 +0400:

Проверка на соответствие ТЗ проводится вообще-то сертифицирующими
органами (и что там написано - это отдельная песня), в отдельных очень
редких случаях - менеджером, а тестировщик в норме ТЗ вообще в глаза не
видит.



Проверка на соответствие ТЗ проводится заказчиком совместно с исполнителем в 
соответствии с разделом ТЗ «Порядок контроля и приемки» и на основание 
документа «Программа и методика испытаний», если такой предусмотрен а ТЗ.

Впервые слышу, что ПО подлежит обязательной сертификации в сертифицирующих 
органах. Естественно, это не касается специальных видов ПО, касающихся, скажем, 
метрологического обеспечения или защиты информации.

Тестирование тестировщиками, это, вообще то, тестирование на устойчивость к программным сбоям и надёжность. Если это делается до сдачи, то это внутреннее дело фирмы разработчика. Если в процессе сдачи, то состав тестовых присеров должен быть перечислен в 
ТЗ и/или «Программе...».


Если в ТЗ нет требования следовать ГОСТам, то порядок приёмки определяется ТЗ 
и, действительно, может включать требования сертификации у третьей стороны 
(типа Microsoft :-) ).


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-29 Пенетрантность Alexey Pechnikov
Hello!

On Saturday 29 August 2009 05:19:24 Artem Chuprina wrote:
  AP Лучшие тестеры - сами пользователи.
 
 Вот насчет лучшие - это ты загнул.  Сотня пользователей не заменяет
 одного профессионального тестировщика.  Обратное, впрочем, тоже верно.

Профессиональный тестировщик проверяет на соответствие ТЗ, а пользователь
пытается употребить ПО для решения своих задач, и зачастую разными 
изощренными способами. Так что тестирование пользователями позволяет
и ТЗ привести в соответствие с реальными потребностями, а не идеями
менеджеров. Получается, без тестировщика трудно понять, сделано ли то, 
что должно быть сделано, а без пользователей - применимо ли сделанное для
решения требуемых задач. 

P.S. Иногда встречаются пользователи, которые лучше любого тестировщика 
проверяют - то ли им так не везет и все грабли на них срабатывают, то ли
это талант :-)

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-29 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Sat, 29 Aug 2009 
12:49:34 +0400:

   AP Лучшие тестеры - сами пользователи.
  
  Вот насчет лучшие - это ты загнул.  Сотня пользователей не
  заменяет одного профессионального тестировщика.  Обратное, впрочем,
  тоже верно.

 AP Профессиональный тестировщик проверяет на соответствие ТЗ,

Если ты так полагаешь, то ты мало того что сам не профессиональный
тестировщик, так еще и ни разу в жизни с профессиональным не общался.

Проверка на соответствие ТЗ проводится вообще-то сертифицирующими
органами (и что там написано - это отдельная песня), в отдельных очень
редких случаях - менеджером, а тестировщик в норме ТЗ вообще в глаза не
видит.

 AP P.S. Иногда встречаются пользователи, которые лучше любого
 AP тестировщика проверяют - то ли им так не везет и все грабли на них
 AP срабатывают, то ли это талант :-)

Это просто неверный выбор профессии :-)

-- 
Все дуры - бабы
фольклор


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-29 Пенетрантность Andrew N Golovkov
В сообщении от Суббота 29 августа 2009 18:58:33 автор Artem Chuprina написал:
 Alexey Pechnikov - debian-russian@lists.debian.org  @ Sat, 29 Aug 2009 
 12:49:34 +0400:
 
AP Лучшие тестеры - сами пользователи.
   
   Вот насчет лучшие - это ты загнул.  Сотня пользователей не
   заменяет одного профессионального тестировщика.  Обратное, впрочем,
   тоже верно.
 
  AP Профессиональный тестировщик проверяет на соответствие ТЗ,
 
 Если ты так полагаешь, то ты мало того что сам не профессиональный
 тестировщик, так еще и ни разу в жизни с профессиональным не общался.
 
 Проверка на соответствие ТЗ проводится вообще-то сертифицирующими
 органами (и что там написано - это отдельная песня), в отдельных очень
 редких случаях - менеджером, а тестировщик в норме ТЗ вообще в глаза не
 видит.
Может вы ещё верите в набор тестировщиков по правилу умеет ломать всякое?
 
  AP P.S. Иногда встречаются пользователи, которые лучше любого
  AP тестировщика проверяют - то ли им так не везет и все грабли на них
  AP срабатывают, то ли это талант :-)
 
 Это просто неверный выбор профессии :-)
 
 


signature.asc
Description: This is a digitally signed message part.


Re: Правильные демоны - не демоны?

2009-08-29 Пенетрантность Alexey Pechnikov
Hello!

On Saturday 29 August 2009 18:58:33 Artem Chuprina wrote:
  AP Профессиональный тестировщик проверяет на соответствие ТЗ,
 
 Если ты так полагаешь, то ты мало того что сам не профессиональный
 тестировщик, так еще и ни разу в жизни с профессиональным не общался.
 
 Проверка на соответствие ТЗ проводится вообще-то сертифицирующими
 органами (и что там написано - это отдельная песня), в отдельных очень
 редких случаях - менеджером, а тестировщик в норме ТЗ вообще в глаза не
 видит.

Понимаю, почему вам так хочется временами всех разогнать... Серьезно,
сочувствую.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-29 Пенетрантность Artem Chuprina
Andrew N Golovkov - debian-russian@lists.debian.org  @ Sat, 29 Aug 2009 
19:20:10 +0400:

 AP Лучшие тестеры - сами пользователи.

Вот насчет лучшие - это ты загнул.  Сотня пользователей не
заменяет одного профессионального тестировщика.  Обратное, впрочем,
тоже верно.
  
   AP Профессиональный тестировщик проверяет на соответствие ТЗ,
  
  Если ты так полагаешь, то ты мало того что сам не профессиональный
  тестировщик, так еще и ни разу в жизни с профессиональным не общался.
  
  Проверка на соответствие ТЗ проводится вообще-то сертифицирующими
  органами (и что там написано - это отдельная песня), в отдельных очень
  редких случаях - менеджером, а тестировщик в норме ТЗ вообще в глаза не
  видит.

 ANG Может вы ещё верите в набор тестировщиков по правилу умеет ломать
 ANG всякое?

Отнюдь.  Просто на соответствие ТЗ я обычно могу проверить и без
тестировщика.  И даже лучше тестировщика.  И дешевле.  Но это отвечает
на вопрос правильно ли программа выполняет такие-то действия, а не
хорошо ли программа работает.  А я, знаете ли, программу пишу не для
галочки.  Для галочки я пишу специально обученный документ под названием
текст программы.

-- 
Вам правду резать или кусочком?
Кнышев


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Roman S. Gushcha
On Fri, Aug 28, 2009 at 09:29:16AM +0400, Artem Chuprina wrote:
  RSG Ты все в кучу свалил. init.d и inittab вообще не решают задачу
  RSG демонизации.  В обсуждаемом контексте (запуск и управление
  RSG сервисами) они могут работать только с процессами, которые
  RSG _сами_по_себе_ запускаются как демоны, т.е. без управляющего
  RSG терминала.
 
 С каких это пор getty может работать без управляющего терминала, если не
 секрет?

Я неточно выразился. Имел ввиду что они не делают процесс демоном.
Вообще, getty плохой контраргумент, т.к. он для того и нужен чтобы терминал
обслуживать. А не наоборот.

---
С уважением,
Роман Гуща


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 06:36:46 Roman S. Gushcha wrote:
 Ты все в кучу свалил. init.d и inittab вообще не решают задачу демонизации.
 В обсуждаемом контексте (запуск и управление сервисами) они могут
 работать только с процессами, которые _сами_по_себе_ запускаются как
 демоны, т.е. без управляющего терминала. Задачи у этих двух систем
 разные:

Не так. Если нужно запустить пользовательского демона, пишем скрипт в
/etc/init.d/, чтобы запустить пользовательского не-демона - вписываем его в
inittab. В последнем случае логирование отсутствует, в первом случае - 
отсутствует контроль за состоянием процесса. В случае inittab некий контроль
состояния наличествует, но весьма странный - определенное число попыток 
перезапуска с сообщением об ошибках в syslog, просмотреть состояние иначе
чем через ps ...|grep ... не получится и т.п.

Собственно, накопилось много всего, запускаемого из inittab и init.d, собрался
это задокументировать. Но скрипты inet.d монстрообразные и содержат
бесполезные прослойки (через ps удобнее смотреть, с какими параметрами 
сервис запущен, нежели разбираться в таких скриптах, лазить в defaults проч.).
Пришел к выводу, что лучше для пользовательских сервисов сменить систему 
запуска на нечто более простое и функциональное, нежели дальше с этим жить.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 09:46:25 Artem Chuprina wrote:
 Если сделать в программе функцию log_message(int verbosity_level, const
 char *format, ...), то переделывать, когда ты узнаешь о том, какой
 вообще бывает логгинг, тебе придется только эту функцию.

И что - любой юзер будет сливать свои логи в /var/log/syslog или
/var/log/messages? А туда по умолчанию все и идет... Рыскать по системным 
логам, разыскивая валящийся туда мусор и перенастраивая конфиг сислога 
и логротэйта я не считаю полезной деятельностью.

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

  AP Кроме того, для того, чтобы вывод пользовательской программы
  AP направить в отдельный файл, надо отредактировать конфиг сислога и
  AP перезапустить его - и все это с правами рута. А потом еще нужно
  AP настроить ротацию этого лога, отредактировав еще один конфиг...
 
 А это ничего, что эти конфиги могут быть на разных машинах?  И именно
 поэтому они разные?

Какой смысл в syslog и logrotate на _разных_ машинах? 

 Правда, в винде, помнится, удобных инструментов работы с пайпом вообще
 нет :-)  tcl, к примеру, на них работать не умеет :-(

Линуксовая работа с пайпами в виндовом тикле есть. 

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 12:34:26 Alexander Galanin wrote:
  И что - любой юзер будет сливать свои логи в /var/log/syslog или
  /var/log/messages? А туда по умолчанию все и идет... Рыскать по системным 
  логам, разыскивая валящийся туда мусор и перенастраивая конфиг сислога 
  и логротэйта я не считаю полезной деятельностью.
 
 Между прочим, разделение логов по файлам ви сислоге есть. Но читать маны
 тебе неинтересно, тебе интереснее велосипеды изобретать и ломать
 прилично работающую систему.
 
 
Хорошо, скажите, как обеспечить _автоматическое_ разделение по файлам в 
зависимости от того, какой сервис пишет в лог (пусть имя бинаря совпадает
с поддиректорией в /var/log/). Мне вот ручками приходится:

local0.=info -/var/log/haproxy/access.log
local0.=crit;local0.=err;local0.=warn;local0.=notice 
-/var/log/haproxy/haproxy.log

Да еще спрятанные грабли надо убрать - local0 и local1 на какой-то ляд 
пишутся по дефолту в messages:

*.=info;*.=notice;*.=warn;\
--auth,authpriv.none;\
--cron,daemon.none;\
--mail,news.none;\
--!local0.*;!local1.*/var/log/messages

Жду мантры от читающего маны.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
12:15:41 +0400:

  Если сделать в программе функцию log_message(int verbosity_level,
  const char *format, ...), то переделывать, когда ты узнаешь о том,
  какой вообще бывает логгинг, тебе придется только эту функцию.

 AP И что - любой юзер будет сливать свои логи в /var/log/syslog или
 AP /var/log/messages? А туда по умолчанию все и идет... Рыскать по
 AP системным логам, разыскивая валящийся туда мусор и перенастраивая
 AP конфиг сислога и логротэйта я не считаю полезной деятельностью.

А вот grep - это как раз unix way...  Там при коннекте имя задается.

 AP Вопрос не в том, что технически сложно делать вывод логов в сислог
 AP - это-то как раз не проблема. Вопрос в том, что сислог лихо свалит
 AP все логи вместе.  Десяток-другой пользовательских приложений - и
 AP уже можно долго терять время, придумывая, кого на какие уровни
 AP распихать и как это все по файлам разделить.

Можно подумать, при любой другой системе на _это_ время тратить не
надо...

   AP Кроме того, для того, чтобы вывод пользовательской программы
   AP направить в отдельный файл, надо отредактировать конфиг сислога и
   AP перезапустить его - и все это с правами рута. А потом еще нужно
   AP настроить ротацию этого лога, отредактировав еще один конфиг...
  
  А это ничего, что эти конфиги могут быть на разных машинах?  И именно
  поэтому они разные?

 AP Какой смысл в syslog и logrotate на _разных_ машинах? 

logrotate осмыслен там, где логи хранятся.  А syslog - там, где они
генерируются.  Ы?

  Правда, в винде, помнится, удобных инструментов работы с пайпом вообще
  нет :-)  tcl, к примеру, на них работать не умеет :-(

 AP Линуксовая работа с пайпами в виндовом тикле есть. 

Это работа с юниксовой эмуляцией пайпов.  А я про виндовые пайпы.
Именованные.  Которые умеют message passing, в отличие от юниксового
аналога (называемого UNIX socket).  С которым tcl, кстати, тоже работать
не умеет.

-- 
Правки Белявского, сделанные им в рабочей копии головы
 -- Из коммитлога.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 14:07:02 Alexander Galanin wrote:
 rsyslog, к примеру (никто ведь не заставляет использовать только одну из
 многочисленных инкарнаций syslogd), умеет составлять имя файла из
 полей сообщения. Вот неизменённый кусок из документации, который, я
 надеюсь, ты осилишь допилить до нужного тебе:
 
 $template DynFile,/var/log/%HOSTNAME%/%programname%.log

Пример процесса:
/usr/sbin/aolserver4-nsd -i -u www-data -g www-data -b 127.0.0.1:8NNN -s main 
-t /var/www/offlineNNN/etc/aolserver4.tcl

Этот процесс клонируется сколько-то раз (в том числе, каждый 
разработчик может для себя один или более экземпляров запустить), при этом
меняется число NNN. Каждый процесс посылает сообщения разного уровня в 
сислог (ошибки, информация, предупреждения, плюс еще нужно разделить
сообщения по имени модуля регекспами). Логи должны писаться с правами 
пользователя, который запустил клон и желательно в ~/log/ Положим, 
NNN можно передать в самих сообщениях, rsyslog в этом случае логи разделит. 
Но пользователя получить не удастся, такая информация в syslog не передается.
И как изменить права на эти лог-файлы? Есть ли какая-то утилита, которая 
умеет с stdout брать лог и пересылать в syslog - чтобы объединять сообщения 
в единый лог-файл?

Запуск и логирование через runit решает все описанные выше задачи, чем он
мне и понравился (в том числе можно разрешить пользователям от их имени
управлять своими сервисами, даже sudo не давая). Правила запуска и 
логирования для runit - отдельные скрипты для каждого сервиса, так что 
клонировать просто. Имхо на стандартном init/syslog подобное нереализуемо.
Вот для каких-то глобальных вещей, например, сбора access log всех серверов,
rsyslog удобен, раз настроил и работает. А для множества динамически 
создаваемых и конфигурируемых сервисов syslog вообще никак не пригоден.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 14:38:42 Artem Chuprina wrote:
  AP Вопрос не в том, что технически сложно делать вывод логов в сислог
  AP - это-то как раз не проблема. Вопрос в том, что сислог лихо свалит
  AP все логи вместе.  Десяток-другой пользовательских приложений - и
  AP уже можно долго терять время, придумывая, кого на какие уровни
  AP распихать и как это все по файлам разделить.
 
 Можно подумать, при любой другой системе на _это_ время тратить не
 надо...

В другом сообщении я уже объяснял, что нереально при каждом 
клонировании/удалении сервиса править конфиг сислога.

  AP Какой смысл в syslog и logrotate на _разных_ машинах? 
 
 logrotate осмыслен там, где логи хранятся.  А syslog - там, где они
 генерируются.  Ы?

Раз syslog генерирует логи, то и на запись права имеет. А раз имеет, то может
ротировать. Разумеется, может и не ротировать, если вам так хочется.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 15:02:52 Alexander Galanin wrote:
 On Fri, 28 Aug 2009 14:51:55 +0400
 Alexey Pechnikov pechni...@mobigroup.ru wrote:
 
  Hello!
  
  On Friday 28 August 2009 14:07:02 Alexander Galanin wrote:
   rsyslog, к примеру (никто ведь не заставляет использовать только одну из
   многочисленных инкарнаций syslogd), умеет составлять имя файла из
   полей сообщения. Вот неизменённый кусок из документации, который, я
   надеюсь, ты осилишь допилить до нужного тебе:
   
   $template DynFile,/var/log/%HOSTNAME%/%programname%.log
  
  Этот процесс клонируется сколько-то раз (в том числе, каждый 
  разработчик может для себя один или более экземпляров запустить), при этом
  меняется число NNN. Каждый процесс посылает сообщения разного уровня в 
  сислог (ошибки, информация, предупреждения, плюс еще нужно разделить
  сообщения по имени модуля регекспами). Логи должны писаться с правами 
  пользователя, который запустил клон и желательно в ~/log/ Положим, 
  NNN можно передать в самих сообщениях, rsyslog в этом случае логи разделит. 
  Но пользователя получить не удастся, такая информация в syslog не 
  передается.
 
 А ты передай. Рядом с NNN.

Сервис может быть запущен пользователем X, но от имени www-data. Это только
система init знает, кто же на самом деле запустил.
 
  Есть ли какая-то утилита, которая 
  умеет с stdout брать лог и пересылать в syslog - чтобы объединять сообщения 
  в единый лог-файл?
 
 Наверно я открою тебе великую тайну, но можно сделать ещё и
 $command logfile 2errlogfile
 причём безо всяких проходов через syslog.
 И потом останавливать этот так называемый сервис в том же xterm-е, в
 котором ты его запустил, с помощью Ctrl-C.

Полезнее ctrl+z; bg 1; fg 1 :-) Вот только настроить размеры буферов чтения
из stdout и записи в файл лога уже не так тривиально. Да еще ротировать нужно.
Для того syslog и полезен, что позволяет эффективно писать большие логи и 
ротировать их. Но, к сожалению, на этом его достоинства практически 
заканчиваются.

 А уж если тебе понадобится форвардить stdout и stderr в syslog, написать
 малюсенькую утилиту в 10 строк на си сможет кто угодно, у кого команда
 man 3 syslog не вызывает священного ужаса.

runit/daemontools это и так делают - берут с stdout/stderr и пишут в нужный лог 
от имени пользователя, фильтруют и ротируют. Притом они точно знают, кто же 
запустил данный сервис, даже если он выполняется с правами совсем иного юзера 
и могут логировать в домашнюю директорию с нужными правами. И буферы
ввода-вывода позволяют настроить. 

Да, если вам так просто написать эту самую малюсенькую утилиту, которая будет
через init-систему определять истинного владельца (по имени сервиса можно
найти скрипт запуска), собирать логи, менять конфигурацию сислога для 
логирования в нужную директорию и проч., хотелось бы это увидеть :-)

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
14:59:03 +0400:

   AP Вопрос не в том, что технически сложно делать вывод логов в сислог
   AP - это-то как раз не проблема. Вопрос в том, что сислог лихо свалит
   AP все логи вместе.  Десяток-другой пользовательских приложений - и
   AP уже можно долго терять время, придумывая, кого на какие уровни
   AP распихать и как это все по файлам разделить.
  
  Можно подумать, при любой другой системе на _это_ время тратить не
  надо...

 AP В другом сообщении я уже объяснял, что нереально при каждом 
 AP клонировании/удалении сервиса править конфиг сислога.

Реально.  Непонятно только, на кой.

   AP Какой смысл в syslog и logrotate на _разных_ машинах? 
  
  logrotate осмыслен там, где логи хранятся.  А syslog - там, где они
  генерируются.  Ы?

 AP Раз syslog генерирует логи, то и на запись права имеет. А раз
 AP имеет, то может ротировать. Разумеется, может и не ротировать, если
 AP вам так хочется.

syslog, принимающий сообщения от приложения, и syslog, записывающий
файлы - это РАЗНЫЕ, вообще говоря, сислоги.

А логи он не ротирует согласно unix way - каждой задаче свой инструмент.
logrotate умеет ротировать не только сислоговские логи - и нафига эту
функциональность еще в сислоге дублировать?  Чтоб они подрались?

-- 
Пользователь юникса перестаёт быть пользователем юникса если после его
пользования пользованный юникс перестаёт быть юниксом. (с)


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Alexander Galanin - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
14:43:35 +0400:

  аналога (называемого UNIX socket).  С которым tcl, кстати, тоже работать
  не умеет.

 AG Умеет, только этого в tcl core по понятным причинам нет. Но после
 AG package require ceptcl появляется.

You have searched for filenames that contain ceptcl in suite lenny, all
sections, and all architectures.

Sorry, your search gave no results

-- 
Все события вымышлены, после чего искажены.
 -- lj user=mcdowns


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 15:24:18 Artem Chuprina wrote:
 Alexander Galanin - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
 14:43:35 +0400:
 
   аналога (называемого UNIX socket).  С которым tcl, кстати, тоже работать
   не умеет.
 
  AG Умеет, только этого в tcl core по понятным причинам нет. Но после
  AG package require ceptcl появляется.
 
 You have searched for filenames that contain ceptcl in suite lenny, all
 sections, and all architectures.
 
 Sorry, your search gave no results
 
 

$ ls /srv/dload/|grep tcl
ceptcl

=
Ceptcl - Communications EndPoints for Tcl
2004 Stuart Cassoff  s...@telus.net

Ceptcl is a Tcl extension which provides a variety of new
socket types and greater control over socket options.

Domains : local, inet4, inet6
Types   : tcp, udp, raw
Options : many, see cep(n)

...
=

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
15:32:46 +0400:

аналога (называемого UNIX socket).  С которым tcl, кстати, тоже работать
не умеет.
  
   AG Умеет, только этого в tcl core по понятным причинам нет. Но после
   AG package require ceptcl появляется.
  
  You have searched for filenames that contain ceptcl in suite lenny, all
  sections, and all architectures.
  
  Sorry, your search gave no results

 AP $ ls /srv/dload/|grep tcl
 AP ceptcl

 AP =
 AP Ceptcl - Communications EndPoints for Tcl
 AP 2004 Stuart Cassoff  s...@telus.net

 AP Ceptcl is a Tcl extension which provides a variety of new
 AP socket types and greater control over socket options.

 AP Domains : local, inet4, inet6
 AP Types   : tcp, udp, raw
 AP Options : many, see cep(n)

 AP ...
 AP =

На http://www.tcl.tk я его и сам нашел.  Но у нас тут debian'овская
рассылка...

-- 
Голова не может думать.  Там кальций, а не кремний.
 -- (С)энта


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 15:19:43 Artem Chuprina wrote:
AP Какой смысл в syslog и logrotate на _разных_ машинах? 
   
   logrotate осмыслен там, где логи хранятся.  А syslog - там, где они
   генерируются.  Ы?
 
  AP Раз syslog генерирует логи, то и на запись права имеет. А раз
  AP имеет, то может ротировать. Разумеется, может и не ротировать, если
  AP вам так хочется.
 
 syslog, принимающий сообщения от приложения, и syslog, записывающий
 файлы - это РАЗНЫЕ, вообще говоря, сислоги.

Вот это большой плюс, но с глобальным сислогом проблем никаких - один
раз настроил и работает. Вопрос в множестве сервисов, которым нужно 
локальное логирование (хотя с помощью socat локальный лог легко раздается
по сети, без каких-либо настроек или правок глобальных конфигов). И вот 
эти сервисы часто меняются, причем должны бы по уму перенастраиваться 
без редактирования системных конфигов.
 
 А логи он не ротирует согласно unix way - каждой задаче свой инструмент.
 logrotate умеет ротировать не только сислоговские логи - и нафига эту
 функциональность еще в сислоге дублировать?  Чтоб они подрались?

logrotate тот же самый гусь, что и syslog - требует изменения глобального 
конфига.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
15:18:49 +0400:

 AP Сервис может быть запущен пользователем X, но от имени
 AP www-data. Это только система init знает, кто же на самом деле
 AP запустил.

О.  А вот это первый содержательный аргумент в пользу альтернативных
систем запуска.  Если, конечно, оные альтернативные системы такое
умеют.  Другое дело - надо ли оно.  То есть не является ли та система, в
которой оно надо (я могу такую представить) ущербной по построению.  Это
надо думать.

-- 
Правки Белявского, сделанные им в рабочей копии головы
 -- Из коммитлога.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 15:44:05 Alexander Galanin wrote:
 Есть некая программа, которая разрабатывается в твоей конторе.
 Есть несколько разработчиков, одновременно на одном сервере её
 запускающих.
 Задача: получить логи от каждого инстанса раздельно и читать их со время
 отладки.
 Усложнение задачи: из-за недодумок в проектировании логгинг не
 абстрагирован от конкретного метода логгинга (через syslog).
 
 Решение:
 Реализовать два метода логгинга.
 Передавать метод логгинга (syslog/файл) и файл, в который писать
 результат, каждому инстансу программы как сейчас передаётся порт для
 ожидания входящих соединений.
 Фильтровать нужные записи из лога с помощью grep.

При работе с сислогом:
Передавать имя файла лога в каждой строке сообщений - криво и неудобно.
Получать логи в домашней директории, созданные с правами другого пользователя, 
еще хуже. Настроить разделение лога на несколько файлов или профильтровать 
при записи и вовсе нельзя (без прав рута и изменения конфига сислога).

Я в чем-то не прав?

  Да, если вам так просто написать эту самую малюсенькую утилиту, которая 
  будет
  через init-систему определять истинного владельца (по имени сервиса можно
  найти скрипт запуска), собирать логи, менять конфигурацию сислога для 
  логирования в нужную директорию и проч., хотелось бы это увидеть :-)
 
 Нет, милый друг, ты подменяешь задачу читать из пайпа и писать в
 syslog на другую.  А задачи, сформулированные через неприличное место,
 я решаю только за материальное вознаграждение.

Если вышеназванные задачи не решаются средствами сислога, то их придется
решать этой самой утилитой. А в том, что средствами сислога решаются, из
сказанного вами я не вижу.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Stanislav Maslovski - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
15:43:55 +0400:

  На http://www.tcl.tk я его и сам нашел.  Но у нас тут debian'овская
  рассылка...

 SM Да ну? Вспоминая периодические отсылки к шеллу соляриса... ;-)

Это разница между совместимостью и несовместимостью.

-- 
Все дуры - бабы
фольклор


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность San_Sanych

Alexey Pechnikov пишет:

Собственно, накопилось много всего, запускаемого из inittab и init.d, собрался
это задокументировать. Но скрипты inet.d монстрообразные и содержат
бесполезные прослойки (через ps удобнее смотреть, с какими параметрами 
сервис запущен, нежели разбираться в таких скриптах, лазить в defaults проч.).
Пришел к выводу, что лучше для пользовательских сервисов сменить систему 
запуска на нечто более простое и функциональное, нежели дальше с этим жить.


  

после таких слов возможно создание очередного форка дистрибутива :)

--
Александр Вайтехович
www: http://sanych.nnov.ru
jabber id: sanych{}sanych.nnov.ru


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
15:45:01 +0400:

 AP локальное логирование (хотя с помощью socat локальный лог легко
 AP раздается по сети, без каких-либо настроек или правок глобальных
 AP конфигов).

... и засирает сеть и затыкает оба логгера.  Ты представляешь себе
_настоящие_ требования к логгеру?

 AP И вот эти сервисы часто меняются, причем должны бы по уму
 AP перенастраиваться без редактирования системных конфигов.
 AP  
  А логи он не ротирует согласно unix way - каждой задаче свой инструмент.
  logrotate умеет ротировать не только сислоговские логи - и нафига эту
  функциональность еще в сислоге дублировать?  Чтоб они подрались?

 AP logrotate тот же самый гусь, что и syslog - требует изменения
 AP глобального конфига.

Ты спрашивал, чего б сислогу не ротировать заодно, раз уж уже пишет
файлы.  Я объяснил.

-- 
Если ничто уже не помогает, прочтите же, наконец, инструкцию!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 17:00:33 Alexander Galanin wrote:
 On Fri, 28 Aug 2009 16:36:21 +0400
 Alexey Pechnikov pechni...@mobigroup.ru wrote:
 
  При работе с сислогом:
  Передавать имя файла лога в каждой строке сообщений - криво и неудобно.
  Получать логи в домашней директории, созданные с правами другого 
  пользователя, 
  еще хуже.
 
 Покуда ты не скажешь чем это криво, плохо и неудобно, эти слова
 ничего не значат. Если это только твои эстетические соображения, то
 ничем рассылка помочь не сможет.

Значит, логирование в файлы удовляетворяет как функциональным, так и 
эстетическим требованиям, а сислог не удовлетворяет обоим типам требований :-)

В runit я сделал так:
#!/bin/sh
exec chpst -u postgres:postgres svlogd -tt /var/log/postgresql/8.1

И получил лог с указанными правами в нужном месте. Также пользователи могут
создавать и запускать свои сервисы с нужными правами. А несмотря на все
утверждения о возможностях сислога, никто не предложил приемлемой
конфигурации для этой же задачи.

 Кстати, а на кой тебе при отладке запускать что-то от www-data, а не от
 себя?

Иначе сломается вызов внешних приложений. Например, опеноффиса со
скриптами конвертации форматов документов. Заставлять всех 
перекопировать себе всю эту дребедень и поддерживать в актуальном 
состоянии не имеет смысла.

  Настроить разделение лога на несколько файлов или профильтровать 
  при записи и вовсе нельзя (без прав рута и изменения конфига сислога).
 
 Опять же: зачем тебе это нужно? Только для галочки у меня логи про
 отладке разложились по полочкам?

Чтобы видеть файлы логов всех подсистем и не вспоминать каждый раз,
кого как отгрепать. Удобнее сделать readme с описанием файлов, чем
перечислять регекспы для получения того же результата.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 17:15:59 Artem Chuprina wrote:
 Alexey Pechnikov - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
 15:45:01 +0400:
 
  AP локальное логирование (хотя с помощью socat локальный лог легко
  AP раздается по сети, без каких-либо настроек или правок глобальных
  AP конфигов).
 
 ... и засирает сеть и затыкает оба логгера.  Ты представляешь себе
 _настоящие_ требования к логгеру?

У меня такие требования только к одному haproxy, который благополучно шлет все 
в сислог. А вот всего остального значительно больше, и для этой-то мелочевки 
постоянно 
подправлять конфиги syslog и logrotate надоело. С другой стороны, часть 
мелочевки
тоже может выдавать серьезный трафик, так что приходится и о буферизации записи
подумать.

 Ты спрашивал, чего б сислогу не ротировать заодно, раз уж уже пишет
 файлы.  Я объяснил.

Вовсе незачем дублировать, достаточно воспользоваться, вызвав logrotate. Не 
уверен,
что это упростит конфигурацию, потому и спрашиваю про альтернативы.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 17:14:43 San_Sanych wrote:
  Собственно, накопилось много всего, запускаемого из inittab и init.d, 
  собрался
  это задокументировать. Но скрипты inet.d монстрообразные и содержат
  бесполезные прослойки (через ps удобнее смотреть, с какими параметрами 
  сервис запущен, нежели разбираться в таких скриптах, лазить в defaults 
  проч.).
  Пришел к выводу, что лучше для пользовательских сервисов сменить систему 
  запуска на нечто более простое и функциональное, нежели дальше с этим жить.
 

 после таких слов возможно создание очередного форка дистрибутива :)

Речь идет не о системных сервисах, а пользовательских. Вот хочется удобства и 
автоматизации, хотя и так все работает - но требует некоторых манипуляций,
на мой взгляд, излишних. Пока не документировал, особо не задумывался, а тут 
вдруг в глаза бросилось, что не мешало бы упростить. Перевожу на runit, многое
стало проще и удобнее, осталось с логированиемм разобраться, когда какой 
вариант оптимальнее. Хотя, опять же, rsyslog для большого потока сообщений
и файлы для прочих логов в принципе вопрос решают (при условии, что ротация
не нужна или хватает возможностей svlogd и multilog).

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 17:30:10 Alexander Galanin wrote:
 On Fri, 28 Aug 2009 17:20:01 +0400
 Alexey Pechnikov pechni...@mobigroup.ru wrote:
 
  А несмотря на все
  утверждения о возможностях сислога, никто не предложил приемлемой
  конфигурации для этой же задачи.
 
 Потому что задача у тебя поставлена непонятно, а все условия для неё
 являются результатом крайне странных решений при дизайне.

Не вижу ничего странного - нужно настроить сервер так, чтобы для разработки
и управления текущими сервисами не нужны были права рута (т.е. упразднить
использование sudo), и при этом разработчики, не имеющие понятия о сислоге, 
логротэйте и проч. могли комфортно работать. Во избежание флейма позвольте
напомнить, что работа человеческого мозга до сих пор не изучена, но это не 
мешает нам им пользоваться; с компьютерами хотелось бы аналогичного.

   Кстати, а на кой тебе при отладке запускать что-то от www-data, а не от
   себя?
  
  Иначе сломается вызов внешних приложений. Например, опеноффиса со
  скриптами конвертации форматов документов. Заставлять всех 
  перекопировать себе всю эту дребедень и поддерживать в актуальном 
  состоянии не имеет смысла.
 
 Это наталкивает на мысль, что эти скрипты написаны криво.

Не знаю уж, что вас и на что наталкивает, но опенофис берет скрипты из 
домашней директории того пользователя, от имени которого он запущен.

  Чтобы видеть файлы логов всех подсистем и не вспоминать каждый раз,
  кого как отгрепать. Удобнее сделать readme с описанием файлов, чем
  перечислять регекспы для получения того же результата.
 
 Вызов грепа с нужными регекспами можно занести в скрипт. А скрипты
 описать в README.

И усложнить жизнь пользователям - при абсолютно идентичном функционале
им придется выполнять лишние действия по запуску этих скриптов.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Stanislav Maslovski - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
17:56:41 +0400:

На http://www.tcl.tk я его и сам нашел.  Но у нас тут debian'овская
рассылка...
  
   SM Да ну? Вспоминая периодические отсылки к шеллу соляриса... ;-)
  
  Это разница между совместимостью и несовместимостью.

 SM А по-моему в данном случае лишь разница между тем, кто прибег к такому
 SM аргументу: Artem Chuprina or not Artem Chuprina ;-)

 SM Если опираться на логику не включаем в дистрибутив фич, которые не
 SM поддерживаются/могут не заработать на других системах выкинуть
 SM придется гораздо больше, чем тот tcl пакет, который ты не нашел в
 SM дистрибутиве и теперь пытаешься подвести под этот факт некую
 SM логическую базу (если я правильно понял твой последний комментарий).

Ты неправильно понял мой последний комментарий.  И предпоследний тоже.

-- 
kernel bug (англ.) - ядрёна вошь


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 18:25:02 Alexander Galanin wrote:
 Для этого достаточно написать приложение, которое отлаживается не через
 неприличное место. Остальное само собой приложится.
 Да, я считаю, что проблемы, которые ты пытаешься решать, ты создал сам.

Пожалуй. И все же полагаю, что отказ от использования sudo для разработчиков 
стоит того, чтобы повозиться. Если работать через sudo, то и логи можно из
/var/log/ читать , и сервисы в init.d запускать - но это большой костыль.

  Не знаю уж, что вас и на что наталкивает, но опенофис берет скрипты из 
  домашней директории того пользователя, от имени которого он запущен.
 
 Вот это и криво. Место им в /usr/lib.

Попробуйте работать не от рута. А также настроить неадминистрируемый 
сервер, на котором, в случае сбоя системного диска, хостер может этот самый 
диск выкинуть, залить на любой винт образ системного диска месячной давности,
причем после запуска сервера автоматически поднимутся все сервисы с рабочего 
диска. Как понимаете, конфигурация /usr, /var и проч. должна быть практически
статичной. 

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 19:24:59 Alexander Galanin wrote:
 Ты меня не понял. То, что тебе приходится возиться с sudo и запускать от
 www-data --- тоже проблема, созданная тобой.

И в самом деле не понял. Вы предлагаете запускать веб-сервер с правами
пользователя, имеющего ssh доступ, неурезанный шелл и проч.? Я-то
говорил о запуске от имени пользователя и переключением на www-data,
вместо запуска пользователем через sudo и сменой юзера/группы на www-data.
Соответственно, домашняя директория www-data урезана в правах только 
на чтение. Делать запуск от имени пользователя  - потенциальная дыра,
а т.к. пользователь имеет право записи в свою домашнюю директорию, то 
принципиально возможно туда нечто закачать через веб-сервер и запустить
(какой-нибудь макрос для ООО, который имхо далеко не доверенное 
приложение).

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 20:04:36 Alexander Galanin wrote:
 Каша какая-то. Ты не различаешь разработку и эксплуатацию?
 
 Соответственно, при разработке программист имеет полный доступ ко всему
 коду проекта и запускает его как хочет. О какой защите веб-сервера можно
 говорить, если тот, от кого ты взялся его защищать, имеет полный доступ
 к исходникам?

Не надо смешивать - хотя разработчик имеет полный доступ к исходникам,
но это не отменяет защиты учетной записи разработчика от взлома! Зачем
создавать ситуацию, когда учетка разработчика может быть взломана
через веб-сервер, опеноффис и проч. ПО? Пусть потенциально опасные 
приложения работают от ограниченной учетки, а не от реального 
пользователя. Положим, насчет безопасности веб-сервера я более-менее
уверен, а вот за ООО гроша ломаного не дам. Есть и другое внешнее ПО,
которому я предпочитаю априори не доверять.

 Во время эксплуатации же действительно надо запускать от ограниченной
 учётной записи, с перекрытым доступом на запись и т.д.

Всегда надо запускать одинаково. Ибо что посеешь - то и пожнешь, и если
при разработке о безопасности не вспоминали, при эксплуатации она
из ниоткуда не появится чудесным образом. См., к примеру, облачную 
платформу от Амазон - выделяются запрошенные ресурсы в виде сервиса,
и нет разницы, что вы там делаете - разрабатываете или эксплуатируете.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Alexander Galanin - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
20:04:36 +0400:

 AG Соответственно, при разработке программист имеет полный доступ ко
 AG всему коду проекта и запускает его как хочет. О какой защите
 AG веб-сервера можно говорить, если тот, от кого ты взялся его
 AG защищать, имеет полный доступ к исходникам?

 AG Во время эксплуатации же действительно надо запускать от
 AG ограниченной учётной записи, с перекрытым доступом на запись и т.д.

... тут-то и выясняется, что то, что у разработчика в его разработочной
среде работало, в эксплуатационной работать не хочет...

-- 
Машины пока еще от копирования защищены хитрой немецкой технологией сборка
трезвымAlex Korchmar в bjndsl$1p2...@ddt.demos.su


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 23:22:16 Artem Chuprina wrote:
  AG Во время эксплуатации же действительно надо запускать от
  AG ограниченной учётной записи, с перекрытым доступом на запись и т.д.
 
 ... тут-то и выясняется, что то, что у разработчика в его разработочной
 среде работало, в эксплуатационной работать не хочет...

И админ легкой рукой дает полный доступ на чтение/запись, поскольку 
именно его пинают за то, что не работает - вон, мол, на тестовом-то работает,
значит, разработчики дело сделали. А переписывать под ограниченную 
конфигурацию и тестировать на месяц затянется, сорвет все планы и сроки 
и вообще никому нафиг не надо.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 23:54:54 Alexander Galanin wrote:
 Опять паранойя непонятной природы. Ты что, голым девелоперским сервером
 в интернет светишь? Или сотрудникам не доверяешь?

К этому сервису точно так же, как и к рабочему, имеют доступ все пользователи
и каждый из них при желании может в любой момент посмотреть текущее 
состояние разрабатываемой версии. Равно как в любой момент нас могут попросить 
перенести определенные изменения в рабочую версию, и это не должно требовать 
сложных телодвижений иил нарушать безопасность. Если вас это удивляет, 
посмотрите на поисковик гугл - тестовая версия их поисковика доступна всем 
пользователям, можете воспользоваться и, при желании, связаться с 
разработчиками 
по какому-либо вопросу. Потому гугл и лучший поисковик для многих пользователей.

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

А у нас разработчики в конфиги не лазят, что я вам давно уже пытаюсь втолковать.
Теперь вот хочу настроить так, чтобы и админу в конфиги не надо было лазить ;-)

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Alexey Pechnikov
Hello!

On Friday 28 August 2009 23:44:32 Alexander Galanin wrote:
  ... тут-то и выясняется, что то, что у разработчика в его разработочной
  среде работало, в эксплуатационной работать не хочет...
 
 Выясняется оно когда продукт доходит до тестеров, а не в боевой
 обстановке. Так что ничем это не хуже и не лучше других багов, которые в
 избытке обитают в коде.
 
 Причём я затрудняюсь ответить, однозначно ли хороша ситуация с
 разработкой исключительно в номинальной среде.
 
Лучшие тестеры - сами пользователи. Дайте им доступ к разрабатываемой версии
и узнаете много нового о том, что же им на самом деле надо, что избавит от 
лишней работы и переделок, а также увидите возможные проблемы 
производительности и такие баги, которые при тестирование несколькими
сотрудниками никогда не найти (например, при сотне одновременных 
пользователей могут вылезти затыки по какому-нибудь сценарию работы,
причем такому, тест для которого никому не придет в голову реализовать).
В случае с веб-сервисом есть возможность в реальном времени получать
информацию о работе пользователей и трассировать все подозрительные
моменты, так что странно было бы игнорировать такую возможность.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-28 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Sat, 29 Aug 2009 
00:25:38 +0400:

   ... тут-то и выясняется, что то, что у разработчика в его разработочной
   среде работало, в эксплуатационной работать не хочет...
  
  Выясняется оно когда продукт доходит до тестеров, а не в боевой
  обстановке. Так что ничем это не хуже и не лучше других багов, которые в
  избытке обитают в коде.
  
  Причём я затрудняюсь ответить, однозначно ли хороша ситуация с
  разработкой исключительно в номинальной среде.
 AP  
 AP Лучшие тестеры - сами пользователи.

Вот насчет лучшие - это ты загнул.  Сотня пользователей не заменяет
одного профессионального тестировщика.  Обратное, впрочем, тоже верно.

-- 
An ideal world is left as an exercise to the reader.
Paul Graham, On Lisp


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Правильные демоны - не демоны?

2009-08-27 Пенетрантность Alexey Pechnikov
Hello!

Имеем inittab для не-демонов, /etc/init.d/ для демонов всех сортов и inetd.conf
для сетевых не-демонов - целый зоопарк. Вопрос: зачем нужен режим демонизации 
в сервисах, если их прекрасно можно и без этого запустить? Далее, зачем нужна 
встроенная работа с syslog, когда можно передавать в лог stdout  stderr через 
пайп (связку программы с логирующей утилитой могут обеспечить runit, 
daemontools, etc., если не хочется вручную перенапрявлять вывод). 

Изучая документацию на runit, вижу простую и компактную реализацию работы 
init с не-демонизированными программами - может, это и есть true way? 

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Alexey Pechnikov
Hello!

On Thursday 27 August 2009 23:48:30 Иван Лох wrote:
 On Thu, Aug 27, 2009 at 11:06:36PM +0400, Alexey Pechnikov wrote:
  Hello!
  
  Имеем inittab для не-демонов, /etc/init.d/ для демонов всех сортов и 
  inetd.conf
  для сетевых не-демонов - целый зоопарк. Вопрос: зачем нужен режим 
  демонизации 
  в сервисах, если их прекрасно можно и без этого запустить?
 
 Чтобы их быстро и дешево форкать...

А смысл? Как пример, реверс-прокси pound с его форканьем на несколько порядков 
по 
производительности уступает единственному экземпляру haproxy. Ну, про апач
даже не будем вспоминать, в такое лучше не вляпываться. То есть технически да,
форкать демона - дешевле, но нужно ли это делать, еще вопрос, ответ на который
всегда или почти всегда будет отрицательный.

  Далее, зачем нужна встроенная работа с syslog, когда можно передавать в лог
  stdout  stderr через пайп (связку программы с логирующей утилитой могут
  обеспечить runit, daemontools, etc., если не хочется вручную перенапрявлять
  вывод). 
 
 Куда именно перенаправить? syslog умеет очень быстро фильтровать и сортировать
 сообщения, отправляя их куда надо и как надо. Не обязательно в файл. 

Вот только чтобы сообщения передать в сислог, нужно код программы переделывать,
заменяя вывод в stdout/stderr на работу с сислогом. Кроме того, для того, чтобы 
вывод 
пользовательской программы направить в отдельный файл, надо отредактировать 
конфиг 
сислога и перезапустить его - и все это с правами рута. А потом еще нужно 
настроить
ротацию этого лога, отредактировав еще один конфиг... На винду все больше 
смахивает,
а не на юникс с цепочками утилит и пайпами.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/


Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Thu, 27 Aug 2009 
23:06:36 +0400:

 AP Имеем inittab для не-демонов, /etc/init.d/ для демонов всех сортов
 AP и inetd.conf для сетевых не-демонов - целый зоопарк. Вопрос: зачем
 AP нужен режим демонизации в сервисах, если их прекрасно можно и без
 AP этого запустить?

Чтобы можно было, запустив их, отлогиниться.  inittab эту проблему не
решает.

 AP Далее, зачем нужна встроенная работа с syslog, когда можно
 AP передавать в лог stdout  stderr через пайп (связку программы с
 AP логирующей утилитой могут обеспечить runit, daemontools, etc., если
 AP не хочется вручную перенапрявлять вывод).

Между syslog и printf есть две разницы.  Одну ты можешь увидеть, сравнив
их сигнатуры.  Она небольшая, но довольно важная.

Вторая интереснее.  syslog умеет работать по UDP.  По пакетному
протоколу без памяти, сиречь.  При сетевом логгинге это _весьма_
существенно.  А пайп - протокол потоковый.  Слить несколько сообщений в
один поток - не проблема.  Проблема - разлить их перенаправлялкой
обратно.

Нет, я понимаю, что ты с необходимостью сетевого логгинга не
сталкивался.  Это не значит, что он никому не нужен...

 AP Изучая документацию на runit, вижу простую и компактную реализацию
 AP работы init с не-демонизированными программами - может, это и есть
 AP true way?

Может, и есть.  Подождем, может, история рассудит?  runit'у тому, как ты
понимаешь, по сравнению с inittab и даже с SysV init scripts без году
неделя.

У нас вон до сих пор настройка сети идет через кривые врапперы ifconfig и
route.  При том, что они действительно кривые (в смысле плохо
соответствуют представлениям ядра о сети), в отличие от инит-скриптов.
Начинать борьбу за светлое будущее явно лучше отсюда :-)

-- 
Современной называется технология, которую пытаются совать во все дырки
независимо от того, заточена она под них или нет.
Д. Белявский


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Денис
On Fri, 28 Aug 2009 01:10:02 +0400
Artem Chuprina r...@ran.pp.ru wrote:

 Alexey Pechnikov - debian-russian@lists.debian.org  @ Thu, 27 Aug
 2009 23:06:36 +0400:
 
  AP Имеем inittab для не-демонов, /etc/init.d/ для демонов всех
  AP сортов и inetd.conf для сетевых не-демонов - целый зоопарк.
  AP Вопрос: зачем нужен режим демонизации в сервисах, если их
  AP прекрасно можно и без этого запустить?
 
 Чтобы можно было, запустив их, отлогиниться.  inittab эту проблему не
 решает.
 
  AP Далее, зачем нужна встроенная работа с syslog, когда можно
  AP передавать в лог stdout  stderr через пайп (связку программы с
  AP логирующей утилитой могут обеспечить runit, daemontools, etc.,
  AP если не хочется вручную перенапрявлять вывод).
 
 Между syslog и printf есть две разницы.  Одну ты можешь увидеть,
 сравнив их сигнатуры.  Она небольшая, но довольно важная.
 
 Вторая интереснее.  syslog умеет работать по UDP.  По пакетному
 протоколу без памяти, сиречь.

Ничего хорошего в этом нет:
http://www.rsyslog.com/doc-rsyslog_reliable_forwarding.html


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Roman S. Gushcha
On Thu, Aug 27, 2009 at 11:06:36PM +0400, Alexey Pechnikov wrote:
 Имеем inittab для не-демонов, /etc/init.d/ для демонов всех сортов и 
 inetd.conf
 для сетевых не-демонов - целый зоопарк. Вопрос: зачем нужен режим демонизации 
 в сервисах, если их прекрасно можно и без этого запустить? Далее, зачем нужна 
 встроенная работа с syslog, когда можно передавать в лог stdout  stderr 
 через 
 пайп (связку программы с логирующей утилитой могут обеспечить runit, 
 daemontools, etc., если не хочется вручную перенапрявлять вывод). 

Ты все в кучу свалил. init.d и inittab вообще не решают задачу демонизации.
В обсуждаемом контексте (запуск и управление сервисами) они могут
работать только с процессами, которые _сами_по_себе_ запускаются как
демоны, т.е. без управляющего терминала. Задачи у этих двух систем
разные:

1. inittab обеспечивает постоянную работу демона перезапуская в случае
падения,

2.init.d (sysv-скрипты, хотя в общем и bsd-скрипты) -- это обертка для
того чтобы:
а) иметь общий интерфейс для управления разными демонами
(/etc/init.d/service start|stop|restart|status). В дебе до логического
завершения эту идею пытаются довести разрабатывая слой policy-rc.d, но,
имхо, получается что-то унылое и некрасивое.
б) задать порядок запуска скриптов при инициализации и реализовать
уровни запуска.

runit (и daemontools) решает все эти задачи:

1. обеспечивает общий интерфейс управления службами. не хуже чем init.d
и всяко уж повеселее чем policy-layer, start-stop-daemons etc. (скрипты
запуска куда проще получаются);
2. определяет порядок запуска скриптов. тоже не хуже. изначально
параллельный запуск, простой учет завимостей, порядок запуска не
определяется номерами ссылок, а только зависимости, что, в-общем-то,
true.
3. обеспечивает постоянную работу служб, перезапуская их в случае
падения (чего никак не могут делать скрипты в init.d) без потери
возмоности просто их останавливать (с чем проблемы у inittab).

а также:

4. позволяет демонизировать процессы, которые без управляющего терминала
работать не могут (правда, есть проблемы с запуском процессов, которые
только демонами и могут запускаться :-) )
5. позволяет просто демонизировать пользовательские процессы. тоже true.

runit достаточно хорош даже для того, чтобы быть в busybox (и он там
есть).

А вот inetd тут вроде вообще ни при чем. У него своя работа.
 
--- 
С уважением,
Роман Гуща


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Sergey Korobitsin
Fri, Aug 28, 2009 at 01:10 +0400 Artem Chuprina воздействовал на энтропию:
 У нас вон до сих пор настройка сети идет через кривые врапперы ifconfig и
 route.  При том, что они действительно кривые (в смысле плохо
 соответствуют представлениям ядра о сети), в отличие от инит-скриптов.
 Начинать борьбу за светлое будущее явно лучше отсюда :-)

А на эту тему что, никаких подвижек нет? Дискуссии, я так понимаю,
проходят в d...@?

-- 
Best regards, Sergey Korobitsin
Arta Software, Astana, KZ
mailto:undertaker{at}arta.kz
xmpp:underta...@jabber.arta.kz

--
Re: Конкурс PWN2OWN: Linux выдерживает удар
 Только ноутбук Sony VAIO c Ubuntu Linux оказался неприступным перед атаками 
 хакеров на конкурсе PWN2OWN
На соне поди настройку сети поднять не сумели, а gdm такпросто не отдался.
--anonymous(linux.org.ru)


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Roman S. Gushcha
On Fri, Aug 28, 2009 at 01:10:02AM +0400, Artem Chuprina wrote:
 Может, и есть.  Подождем, может, история рассудит?  runit'у тому, как ты
 понимаешь, по сравнению с inittab и даже с SysV init scripts без году
 неделя.

Талантам надо помогать, бездарности пробьються сами ;-)

 У нас вон до сих пор настройка сети идет через кривые врапперы ifconfig и
 route.  При том, что они действительно кривые (в смысле плохо
 соответствуют представлениям ядра о сети), в отличие от инит-скриптов.
 Начинать борьбу за светлое будущее явно лучше отсюда :-)

Ну, iproute (я так понимаю, что в светлое будущее нам через него?) тоже
не сахарный. Думаю народ бы веселее им пользовался, если бы можно было
написать ip eth0 192.168.0.1/26 и т.д. А то как на циске сидишь. И вроде
утилиты продвинутые, а пользоваться неприятно и неудобно. имхо, конечно.

ip, tc, iptables туда же -- авторы что, людей не любят, раз делают
такие пользовательские интерфейсы в юниксе? Я понимаю что тулзы задачи
сложные решают, но интерфейс может быть и человеческим. Во FreeBSD вон
вполне приятный и функциональный ifconfig (вместо ifconfig, iwconfig,
vconfig и ip у нас). ipfw опять-же, pf, netstat там вполне ничего (это в
пример того, что программы для сложных задач могут иметь простой
и/(или хотя-бы) привычный интерфейс).

Это я не для того чтобы попинать линуксовые утилиты (в конце-концов, не
нравится -- пиши сам, понимаю). Это к тому, почему народ в светлое
будущее через iproute не ломится, а кривыми утилитами пользуется.

Хотя понятно, что вот мне нравится runit, кому-то iproute и т.д.,
а консерваторов в каждом случае большинство. Поэтому и имеем что имеем,
дистрибутив-то один на всех.

---
С уважением,
Роман Гуща


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Artem Chuprina
Roman S. Gushcha - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
09:36:46 +0700:

 RSG Ты все в кучу свалил. init.d и inittab вообще не решают задачу
 RSG демонизации.  В обсуждаемом контексте (запуск и управление
 RSG сервисами) они могут работать только с процессами, которые
 RSG _сами_по_себе_ запускаются как демоны, т.е. без управляющего
 RSG терминала.

С каких это пор getty может работать без управляющего терминала, если не
секрет?

-- 
Ходячая энциклопедия - это девушка, которая пытается многознанием
компенсировать отсутствие мыслительных навыков (С)энта


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Artem Chuprina
Денис - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 06:49:53 +0800:

   AP Имеем inittab для не-демонов, /etc/init.d/ для демонов всех
   AP сортов и inetd.conf для сетевых не-демонов - целый зоопарк.
   AP Вопрос: зачем нужен режим демонизации в сервисах, если их
   AP прекрасно можно и без этого запустить?
  
  Чтобы можно было, запустив их, отлогиниться.  inittab эту проблему не
  решает.
  
   AP Далее, зачем нужна встроенная работа с syslog, когда можно
   AP передавать в лог stdout  stderr через пайп (связку программы с
   AP логирующей утилитой могут обеспечить runit, daemontools, etc.,
   AP если не хочется вручную перенапрявлять вывод).
  
  Между syslog и printf есть две разницы.  Одну ты можешь увидеть,
  сравнив их сигнатуры.  Она небольшая, но довольно важная.
  
  Вторая интереснее.  syslog умеет работать по UDP.  По пакетному
  протоколу без памяти, сиречь.

 Д Ничего хорошего в этом нет:
 Д http://www.rsyslog.com/doc-rsyslog_reliable_forwarding.html

Не ничего хорошего нет, а есть свои недостатки.

-- 
Win-юзеры - это типа Win-модемов и Win-принтеров: такие же юзеры, но попроще,
без мозгов и памяти на борту.
http://www.livejournal.com/~dottedmag/158509.html


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Artem Chuprina
Feata`lion Nyere`` - debian-russian  @ Thu, 27 Aug 2009 23:21:19 +0300:

 FN форкаются обычно для того, чтобы сменить юзера, от которого запускается
 FN демон.

Это неверно.

-- 
Пользователь юникса перестаёт быть пользователем юникса если после его
пользования пользованный юникс перестаёт быть юниксом. (с)


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Правильные демоны - не демоны?

2009-08-27 Пенетрантность Artem Chuprina
Alexey Pechnikov - debian-russian@lists.debian.org  @ Fri, 28 Aug 2009 
00:02:54 +0400:

   Далее, зачем нужна встроенная работа с syslog, когда можно
   передавать в лог stdout  stderr через пайп (связку программы с
   логирующей утилитой могут обеспечить runit, daemontools, etc.,
   если не хочется вручную перенапрявлять вывод).
  
  Куда именно перенаправить? syslog умеет очень быстро фильтровать и
  сортировать сообщения, отправляя их куда надо и как надо. Не
  обязательно в файл.

 AP Вот только чтобы сообщения передать в сислог, нужно код программы
 AP переделывать, заменяя вывод в stdout/stderr на работу с
 AP сислогом.

Открою секрет.  Если сразу криво не делать, то потом переделывать не
придется.

Если сделать в программе функцию log_message(int verbosity_level, const
char *format, ...), то переделывать, когда ты узнаешь о том, какой
вообще бывает логгинг, тебе придется только эту функцию.

Правда, да, параметр verbosity_level в ней таки лучше предусмотреть.  А
для этого лучше бы сразу знать, какой бывает логгинг.  Но в крайнем
случае можно и пережить.

А если у тебя весь логгинг сделан как printf(format, ...) по телу
программы, то...  Первое, что я скажу, увидев такое в программе - я
полагаю, дешевле будет ее выкинуть и написать заново, ибо это в ней,
скорее всего, не самое ужасное.

 AP Кроме того, для того, чтобы вывод пользовательской программы
 AP направить в отдельный файл, надо отредактировать конфиг сислога и
 AP перезапустить его - и все это с правами рута. А потом еще нужно
 AP настроить ротацию этого лога, отредактировав еще один конфиг...

А это ничего, что эти конфиги могут быть на разных машинах?  И именно
поэтому они разные?

 AP На винду все больше смахивает, а не на юникс с цепочками утилит и
 AP пайпами.

В винде, кстати, пайпы предоставляют функциональность message
passing...  Отсутствие которой (и, соответственно, отсутствие удобной
работы с нею) является недостатком юниксовой архитектуры.

Правда, в винде, помнится, удобных инструментов работы с пайпом вообще
нет :-)  tcl, к примеру, на них работать не умеет :-(

-- 
If it's there and you can see it---it's real
If it's not there and you can see it---it's virtual
If it's there and you can't see it---it's transparent
If it's not there and you can't see it---you erased it!
IBM poster explaining virtual memory, circa 1978


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org