ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] hasher /dev/log
@ 2008-03-01  8:17 Alexey Tourbin
  2008-03-05 23:25 ` Dmitry V. Levin
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Tourbin @ 2008-03-01  8:17 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1505 bytes --]

Встал вопрос такого характера. :)
Как бы сделать чтобы в hasher'е /dev/log был больше похож на настоящий.

Характер вопроса таков.  У меня есть несколько преловых пакетов,
в которых 'make test' может выполняться только при наличии работающего /dev/log.
В противном случае тесты отключаются.  Там используется конструкция вида

%if "%(logger -d -u /dev/log -p user.debug test &>/dev/null || echo no)" == "no"
: syslog not available
%def_without test
%endif

$ hsh-shell
[builder@solemn .in]$ logger -d -u /dev/log -p user.debug test &>/dev/null || echo no
no
[builder@solemn .in]$ 

Наличие такой конструкции в результате даёт то, что пакеты в hasher'е
собираются, а на самом деле 'make test' у этих пакетов не работает (уже
неизвестно сколько времени).  То есть, в принципе, в более полноценной
хост-системе 'make test' с руганью отваливает, но я об этом узнаю только
теперь (через год или два или три), когда мне в очередной раз
посчастливилось обратить внимание на эти пакеты.

Пакеты это такие:
perl-Net-Daemon
perl-PlRPC

Это наводит меня на мысль, что в hasher'е не хватает ещё одной штуки --
типа "системного демона" (третьего псевдопользователя).  Системный демон
может частично эмулировать работу системных сервисов:
1) что-то делать с /dev/log;
2) перехватывать через netlink обращения к внешней сети.

"Что-то делать" или "перехватывать" здесь скорее всего означает просто
"выводить на stderr" пользователя builder (или rooter), на практике --
в лог сборки.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-01  8:17 [devel] hasher /dev/log Alexey Tourbin
@ 2008-03-05 23:25 ` Dmitry V. Levin
  2008-03-06 13:51   ` Alexey Tourbin
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2008-03-05 23:25 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1182 bytes --]

On Sat, Mar 01, 2008 at 11:17:32AM +0300, Alexey Tourbin wrote:
> Встал вопрос такого характера. :)
> Как бы сделать чтобы в hasher'е /dev/log был больше похож на настоящий.
[...]
> [builder@solemn .in]$ logger -d -u /dev/log -p user.debug test &>/dev/null || echo no
> no
[...]
> Это наводит меня на мысль, что в hasher'е не хватает ещё одной штуки --
> типа "системного демона" (третьего псевдопользователя).  Системный демон
> может частично эмулировать работу системных сервисов:
> 1) что-то делать с /dev/log;

Для этого, пожалуй, третий псевдопользователь будет overkill'ом.
Сейчас за прокачку данных через дескрипторы отвечает процесс, который
работает с правами вызывающего hasher-priv пользователя.
Хотя идея интересная, я ещё над этим подумаю.

> 2) перехватывать через netlink обращения к внешней сети.

Как ты себе это представляешь?

> "Что-то делать" или "перехватывать" здесь скорее всего означает просто
> "выводить на stderr" пользователя builder (или rooter), на практике --
> в лог сборки.

Выводить в stderr builder'у не стоит, лучше в stderr caller'у.
Разводить здесь полноценный syslog нет никакого желания, это точно.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-05 23:25 ` Dmitry V. Levin
@ 2008-03-06 13:51   ` Alexey Tourbin
  2008-03-06 13:54     ` Alexey Tourbin
  2008-03-06 14:36     ` Dmitry V. Levin
  0 siblings, 2 replies; 12+ messages in thread
From: Alexey Tourbin @ 2008-03-06 13:51 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 2337 bytes --]

On Thu, Mar 06, 2008 at 02:25:11AM +0300, Dmitry V. Levin wrote:
> On Sat, Mar 01, 2008 at 11:17:32AM +0300, Alexey Tourbin wrote:
> > Встал вопрос такого характера. :)
> > Как бы сделать чтобы в hasher'е /dev/log был больше похож на настоящий.
> [...]
> > [builder@solemn .in]$ logger -d -u /dev/log -p user.debug test &>/dev/null || echo no
> > no
> [...]
> > Это наводит меня на мысль, что в hasher'е не хватает ещё одной штуки --
> > типа "системного демона" (третьего псевдопользователя).  Системный демон
> > может частично эмулировать работу системных сервисов:
> > 1) что-то делать с /dev/log;
> 
> Для этого, пожалуй, третий псевдопользователь будет overkill'ом.
> Сейчас за прокачку данных через дескрипторы отвечает процесс, который
> работает с правами вызывающего hasher-priv пользователя.

> > 2) перехватывать через netlink обращения к внешней сети.
> Как ты себе это представляешь?

Я не очень хорошо знаю как работает netlink, поэтому представление
мое во многом интуитивное.  Варианта два: 1) слинковать hasher-priv с
iptables, чтобы он загружал ядерный модуль и выставлял цепочку правил,
которая отправляет исходящий трафик пользователя-сателита на netlink;
и потом форкался и запускал отдельный процесс, который прокачивает
данные из netlink'а в stderr.

2) Ввести системный сервис "поддержка хешера" (с init-скриптом и т.п.);
тогда вся боль по настройке ядерного модуля, цепочки правил и т.п.
ляжет на эот сервис, и в принципе это будет более конфигурабельно.
Тогда hasher-priv'у остаётся всего лишь послать stderr-десктиптор
в этот сервис, чтобы сервис в него писал.  Вроде через sendmsg(3)
можно как-то отправлять дескрипторы unrelated процессам.

> > "Что-то делать" или "перехватывать" здесь скорее всего означает просто
> > "выводить на stderr" пользователя builder (или rooter), на практике --
> > в лог сборки.
> 
> Выводить в stderr builder'у не стоит, лучше в stderr caller'у.

Я тут не совсем понял.  Оно в лог сборки попадёт или нет?
Что-то я немножко забыл, как все эти дескрипторы устроены.

> Разводить здесь полноценный syslog нет никакого желания, это точно.

Полноценный сислог (с поддержкой /etc/syslog.d) разводить всё равно
смысла нет, т.к. в чруте нельзя полноценно запускать чрутизированные
в свою очередь сервисы -- не хватит прав на chroot(2).

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-06 13:51   ` Alexey Tourbin
@ 2008-03-06 13:54     ` Alexey Tourbin
  2008-03-06 14:36     ` Dmitry V. Levin
  1 sibling, 0 replies; 12+ messages in thread
From: Alexey Tourbin @ 2008-03-06 13:54 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 217 bytes --]

On Thu, Mar 06, 2008 at 04:51:18PM +0300, Alexey Tourbin wrote:
> Тогда hasher-priv'у остаётся всего лишь послать stderr-десктиптор
> в этот сервис, чтобы сервис в него писал.  Вроде через sendmsg(3)

sendmsg(2)

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-06 13:51   ` Alexey Tourbin
  2008-03-06 13:54     ` Alexey Tourbin
@ 2008-03-06 14:36     ` Dmitry V. Levin
  2008-03-23  2:30       ` Dmitry V. Levin
  1 sibling, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2008-03-06 14:36 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 687 bytes --]

On Thu, Mar 06, 2008 at 04:51:18PM +0300, Alexey Tourbin wrote:
> On Thu, Mar 06, 2008 at 02:25:11AM +0300, Dmitry V. Levin wrote:
> > On Sat, Mar 01, 2008 at 11:17:32AM +0300, Alexey Tourbin wrote:
[...]
> > > "Что-то делать" или "перехватывать" здесь скорее всего означает просто
> > > "выводить на stderr" пользователя builder (или rooter), на практике --
> > > в лог сборки.
> > 
> > Выводить в stderr builder'у не стоит, лучше в stderr caller'у.
> 
> Я тут не совсем понял.  Оно в лог сборки попадёт или нет?

Конечно.

> Что-то я немножко забыл, как все эти дескрипторы устроены.

builder/rooter может сам перенаправить свои дескрипторы куда угодно.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-06 14:36     ` Dmitry V. Levin
@ 2008-03-23  2:30       ` Dmitry V. Levin
  2008-03-24  1:00         ` Dmitry V. Levin
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2008-03-23  2:30 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 927 bytes --]

On Thu, Mar 06, 2008 at 05:36:13PM +0300, Dmitry V. Levin wrote:
> On Thu, Mar 06, 2008 at 04:51:18PM +0300, Alexey Tourbin wrote:
> > On Thu, Mar 06, 2008 at 02:25:11AM +0300, Dmitry V. Levin wrote:
> > > On Sat, Mar 01, 2008 at 11:17:32AM +0300, Alexey Tourbin wrote:
> [...]
> > > > "Что-то делать" или "перехватывать" здесь скорее всего означает просто
> > > > "выводить на stderr" пользователя builder (или rooter), на практике --
> > > > в лог сборки.
> > > 
> > > Выводить в stderr builder'у не стоит, лучше в stderr caller'у.
> > 
> > Я тут не совсем понял.  Оно в лог сборки попадёт или нет?
> 
> Конечно.
> 
> > Что-то я немножко забыл, как все эти дескрипторы устроены.
> 
> builder/rooter может сам перенаправить свои дескрипторы куда угодно.

Запушил hasher-priv 1.2.11-alt1-5-g4d30, можешь попробовать и рассказать,
хватит ли этого или нужен более полноценный парсер сообщений.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-23  2:30       ` Dmitry V. Levin
@ 2008-03-24  1:00         ` Dmitry V. Levin
  2008-03-24 20:43           ` Michael Shigorin
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2008-03-24  1:00 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1856 bytes --]

On Sun, Mar 23, 2008 at 05:30:37AM +0300, Dmitry V. Levin wrote:
> On Thu, Mar 06, 2008 at 05:36:13PM +0300, Dmitry V. Levin wrote:
> > On Thu, Mar 06, 2008 at 04:51:18PM +0300, Alexey Tourbin wrote:
> > > On Thu, Mar 06, 2008 at 02:25:11AM +0300, Dmitry V. Levin wrote:
> > > > On Sat, Mar 01, 2008 at 11:17:32AM +0300, Alexey Tourbin wrote:
> > [...]
> > > > > "Что-то делать" или "перехватывать" здесь скорее всего означает просто
> > > > > "выводить на stderr" пользователя builder (или rooter), на практике --
> > > > > в лог сборки.
> > > > 
> > > > Выводить в stderr builder'у не стоит, лучше в stderr caller'у.
> > > 
> > > Я тут не совсем понял.  Оно в лог сборки попадёт или нет?
> > 
> > Конечно.
> > 
> > > Что-то я немножко забыл, как все эти дескрипторы устроены.
> > 
> > builder/rooter может сам перенаправить свои дескрипторы куда угодно.
> 
> Запушил hasher-priv 1.2.11-alt1-5-g4d30, можешь попробовать и рассказать,
> хватит ли этого или нужен более полноценный парсер сообщений.

Пожалуй, ненужной информации в stderr стало теперь попадать больше чем нужно:

$ hsh --ini
<86>Mar 24 01:23:45 userdel[7773]: delete user `rooter'
<86>Mar 24 01:23:45 userdel[7773]: remove group `rooter'
<86>Mar 24 01:23:45 groupadd[7774]: new group: name=rooter, gid=501
<86>Mar 24 01:23:45 useradd[7775]: new user: name=rooter, uid=501, gid=501, home=/root, shell=/bin/bash
<86>Mar 24 01:23:45 userdel[7777]: delete user `builder'
<86>Mar 24 01:23:45 userdel[7777]: remove group `builder'
<86>Mar 24 01:23:45 groupadd[7778]: new group: name=builder, gid=502
<86>Mar 24 01:23:45 useradd[7779]: new user: name=builder, uid=502, gid=502, home=/usr/src, shell=/bin/bash
$ hsh-install strace
Preparing packages for installation...
strace-4.5.16-alt4
<13>Mar 24 01:23:45 rpmi: strace-0:4.5.16-alt4 installed


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-24  1:00         ` Dmitry V. Levin
@ 2008-03-24 20:43           ` Michael Shigorin
  2008-03-24 20:55             ` Dmitry V. Levin
  0 siblings, 1 reply; 12+ messages in thread
From: Michael Shigorin @ 2008-03-24 20:43 UTC (permalink / raw)
  To: ALT Devel discussion list

On Mon, Mar 24, 2008 at 04:00:36AM +0300, Dmitry V. Levin wrote:
> Пожалуй, ненужной информации в stderr стало теперь попадать больше чем нужно:

Ручку?

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-24 20:43           ` Michael Shigorin
@ 2008-03-24 20:55             ` Dmitry V. Levin
  2008-03-24 21:13               ` Alexey Gladkov
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2008-03-24 20:55 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 302 bytes --]

On Mon, Mar 24, 2008 at 10:43:04PM +0200, Michael Shigorin wrote:
> On Mon, Mar 24, 2008 at 04:00:36AM +0300, Dmitry V. Levin wrote:
> > Пожалуй, ненужной информации в stderr стало теперь попадать больше чем нужно:
> 
> Ручку?

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


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-24 20:55             ` Dmitry V. Levin
@ 2008-03-24 21:13               ` Alexey Gladkov
  2008-03-24 21:16                 ` Dmitry V. Levin
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Gladkov @ 2008-03-24 21:13 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Dmitry V. Levin wrote:
> Пусть сперва все увидят и осознают, тогда посмотрим.

Очень неприятно дублируется вывод при установке пакетов. Один от 
hasher, другой от syslog.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-24 21:13               ` Alexey Gladkov
@ 2008-03-24 21:16                 ` Dmitry V. Levin
  2008-03-24 21:18                   ` Alexey Gladkov
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2008-03-24 21:16 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 371 bytes --]

On Tue, Mar 25, 2008 at 12:13:23AM +0300, Alexey Gladkov wrote:
> Dmitry V. Levin wrote:
> >Пусть сперва все увидят и осознают, тогда посмотрим.
> 
> Очень неприятно дублируется вывод при установке пакетов. Один от 
> hasher, другой от syslog.

Оба вывода идут от rpmi, только они всё же немного отличаются.
Наверное, вывод в syslog информативнее.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] hasher /dev/log
  2008-03-24 21:16                 ` Dmitry V. Levin
@ 2008-03-24 21:18                   ` Alexey Gladkov
  0 siblings, 0 replies; 12+ messages in thread
From: Alexey Gladkov @ 2008-03-24 21:18 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Dmitry V. Levin wrote:
> Оба вывода идут от rpmi, только они всё же немного отличаются.
> Наверное, вывод в syslog информативнее.

Вот и стоит оставить только один.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2008-03-24 21:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-01  8:17 [devel] hasher /dev/log Alexey Tourbin
2008-03-05 23:25 ` Dmitry V. Levin
2008-03-06 13:51   ` Alexey Tourbin
2008-03-06 13:54     ` Alexey Tourbin
2008-03-06 14:36     ` Dmitry V. Levin
2008-03-23  2:30       ` Dmitry V. Levin
2008-03-24  1:00         ` Dmitry V. Levin
2008-03-24 20:43           ` Michael Shigorin
2008-03-24 20:55             ` Dmitry V. Levin
2008-03-24 21:13               ` Alexey Gladkov
2008-03-24 21:16                 ` Dmitry V. Levin
2008-03-24 21:18                   ` Alexey Gladkov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

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

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

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


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