ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] sysvinit + udev
@ 2020-12-11 17:15 Антон Мидюков
  2020-12-11 17:27 ` Alexey Gladkov
  2020-12-12  1:28 ` Alexey V. Vissarionov
  0 siblings, 2 replies; 11+ messages in thread
From: Антон Мидюков @ 2020-12-11 17:15 UTC (permalink / raw)
  To: ALT Devel discussion list

Доброго времени суток

После обновления udev до 246 на системах с sysvinit при загрузке не стали создаваться симлинки:
/dev/stderr -> /proc/self/fd/2
/dev/stdout -> /proc/self/fd/1
/dev/stdin -> /proc/self/fd/0
/dev/fd -> /proc/self/fd/
/dev/core -> /proc/kcore

Смотреть баг: 39423.

Как я понимаю, теперь это норма, и создавать симлинки эти должен кто-то другой.
Вопрос: кто?
Может /etc/rc.d/rc.sysinit из пакетов startup?
Или может в initrd это делать?


-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


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

* Re: [devel] sysvinit + udev
  2020-12-11 17:15 [devel] sysvinit + udev Антон Мидюков
@ 2020-12-11 17:27 ` Alexey Gladkov
  2020-12-11 17:35   ` Vladislav Zavjalov
  2020-12-12  1:28 ` Alexey V. Vissarionov
  1 sibling, 1 reply; 11+ messages in thread
From: Alexey Gladkov @ 2020-12-11 17:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sat, Dec 12, 2020 at 12:15:37AM +0700, Антон Мидюков wrote:
> Доброго времени суток
> 
> После обновления udev до 246 на системах с sysvinit при загрузке не стали создаваться симлинки:
> /dev/stderr -> /proc/self/fd/2
> /dev/stdout -> /proc/self/fd/1
> /dev/stdin -> /proc/self/fd/0
> /dev/fd -> /proc/self/fd/
> /dev/core -> /proc/kcore
> 
> Смотреть баг: 39423.
> 
> Как я понимаю, теперь это норма, и создавать симлинки эти должен кто-то другой.
> Вопрос: кто?
> Может /etc/rc.d/rc.sysinit из пакетов startup?

udev не обязательно оттуда запускается.

> Или может в initrd это делать?

Можно и тут, но тогда до монтирования /proc симлинки будут битыми.
В идеале это должен cделать /etc/rc.d/init.d/udevd.

-- 
Rgrds, legion



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

* Re: [devel] sysvinit + udev
  2020-12-11 17:27 ` Alexey Gladkov
@ 2020-12-11 17:35   ` Vladislav Zavjalov
  2020-12-11 17:55     ` Alexey Gladkov
  0 siblings, 1 reply; 11+ messages in thread
From: Vladislav Zavjalov @ 2020-12-11 17:35 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Fri, Dec 11, 2020 at 06:27:36PM +0100, Alexey Gladkov wrote:
> On Sat, Dec 12, 2020 at 12:15:37AM +0700, Антон Мидюков wrote:
> > Доброго времени суток
> > 
> > После обновления udev до 246 на системах с sysvinit при загрузке не стали создаваться симлинки:
> > /dev/stderr -> /proc/self/fd/2
> > /dev/stdout -> /proc/self/fd/1
> > /dev/stdin -> /proc/self/fd/0
> > /dev/fd -> /proc/self/fd/
> > /dev/core -> /proc/kcore
> > 
> > Смотреть баг: 39423.
> > 
> > Как я понимаю, теперь это норма, и создавать симлинки эти должен кто-то другой.
> > Вопрос: кто?
> > Может /etc/rc.d/rc.sysinit из пакетов startup?
> 
> udev не обязательно оттуда запускается.
> 
> > Или может в initrd это делать?
> 
> Можно и тут, но тогда до монтирования /proc симлинки будут битыми.
> В идеале это должен cделать /etc/rc.d/init.d/udevd.

Может, надо какое-то правило в /etc/udevd/rules.d написать?
(и положить в пакет к sysvinit)



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

* Re: [devel] sysvinit + udev
  2020-12-11 17:35   ` Vladislav Zavjalov
@ 2020-12-11 17:55     ` Alexey Gladkov
  0 siblings, 0 replies; 11+ messages in thread
From: Alexey Gladkov @ 2020-12-11 17:55 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Fri, Dec 11, 2020 at 08:35:16PM +0300, Vladislav Zavjalov wrote:
> > > После обновления udev до 246 на системах с sysvinit при загрузке не стали создаваться симлинки:
> > > /dev/stderr -> /proc/self/fd/2
> > > /dev/stdout -> /proc/self/fd/1
> > > /dev/stdin -> /proc/self/fd/0
> > > /dev/fd -> /proc/self/fd/
> > > /dev/core -> /proc/kcore
> 
> Может, надо какое-то правило в /etc/udevd/rules.d написать?
> (и положить в пакет к sysvinit)

Это статические ссылки. Будет странно, если эти ссылки будут появляться
только после какого-то эвента ядра. Плюс при каждом эвенте будут делаться
лишние статы на эти симлинки.

-- 
Rgrds, legion



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

* Re: [devel] sysvinit + udev
  2020-12-11 17:15 [devel] sysvinit + udev Антон Мидюков
  2020-12-11 17:27 ` Alexey Gladkov
@ 2020-12-12  1:28 ` Alexey V. Vissarionov
  2020-12-14 19:31   ` Антон Мидюков
  1 sibling, 1 reply; 11+ messages in thread
From: Alexey V. Vissarionov @ 2020-12-12  1:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2020-12-12 00:15:37 +0700, Антон Мидюков wrote:

 > После обновления udev до 246 на системах с sysvinit при загрузке
 > не стали

Перестали?

 > создаваться симлинки:
 > /dev/stderr -> /proc/self/fd/2
 > /dev/stdout -> /proc/self/fd/1
 > /dev/stdin -> /proc/self/fd/0
 > /dev/fd -> /proc/self/fd/

Какой в них смысл, если они всегда указывают в /proc/self ?

 > /dev/core -> /proc/kcore

А /proc/kcore вообще быть не должно (CONFIG_PROC_KCORE лучше
отключить).

 > Смотреть баг: 39423.
 > Как я понимаю, теперь это норма, и создавать симлинки эти должен
 > кто-то другой. Вопрос: кто?

В системах для людей наполнением /dev занимается ядро.

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

Костыль (udev) при этом использовать тоже можно, но все прекрасно
работает и без него.

 > Может /etc/rc.d/rc.sysinit из пакетов startup?

Если они кому-то нужны - да, это самое подходящее место. Как-то так:

test -d /proc/self/fd && ln -sf ../proc/self/fd /dev/fd
test -e /proc/self/fd/0 && ln -sf ../proc/self/fd/0 /dev/stdin
test -e /proc/self/fd/1 && ln -sf ../proc/self/fd/1 /dev/stdout
test -e /proc/self/fd/2 && ln -sf ../proc/self/fd/2 /dev/stderr

 > Или может в initrd это делать?

Любой инструмент, используемый не по назначению, неотвратимо
превращается в грабли.


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


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

* Re: [devel] sysvinit + udev
  2020-12-12  1:28 ` Alexey V. Vissarionov
@ 2020-12-14 19:31   ` Антон Мидюков
  2020-12-15  3:23     ` Alexey V. Vissarionov
  0 siblings, 1 reply; 11+ messages in thread
From: Антон Мидюков @ 2020-12-14 19:31 UTC (permalink / raw)
  To: devel

12.12.2020 08:28, Alexey V. Vissarionov пишет:
> On 2020-12-12 00:15:37 +0700, Антон Мидюков wrote:
> 
>  > После обновления udev до 246 на системах с sysvinit при загрузке
>  > не стали
> 
> Перестали?

перестали

> 
>  > создаваться симлинки:
>  > /dev/stderr -> /proc/self/fd/2
>  > /dev/stdout -> /proc/self/fd/1
>  > /dev/stdin -> /proc/self/fd/0
>  > /dev/fd -> /proc/self/fd/
> 
> Какой в них смысл, если они всегда указывают в /proc/self ?

Сломался startup-mediacheck, а именно:

	while read i; do
		...
		esac
	done < <(checkisomd5 --gauge "$dev" 2>&1)	# hence bash

без /dev/fd не работает.


-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


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

* Re: [devel] sysvinit + udev
  2020-12-14 19:31   ` Антон Мидюков
@ 2020-12-15  3:23     ` Alexey V. Vissarionov
  2020-12-15  3:38       ` Антон Мидюков
  0 siblings, 1 reply; 11+ messages in thread
From: Alexey V. Vissarionov @ 2020-12-15  3:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2020-12-15 02:31:28 +0700, Антон Мидюков wrote:

 >>> После обновления udev до 246 на системах с sysvinit при
 >>> загрузке не стали
 >> Перестали?
 > перестали
 >>> создаваться симлинки:
 >>> /dev/stderr -> /proc/self/fd/2
 >>> /dev/stdout -> /proc/self/fd/1
 >>> /dev/stdin -> /proc/self/fd/0
 >>> /dev/fd -> /proc/self/fd/
 >> Какой в них смысл, если они всегда указывают в /proc/self ?
 > Сломался startup-mediacheck, а именно:
 > while read i; do
 > done < <(checkisomd5 --gauge "$dev" 2>&1) # hence bash
 > без /dev/fd не работает.

Значит, и чинить надо именно startup-mediacheck - просто потому,
что все необходимое для работы ему доступно и без костыля.


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


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

* Re: [devel] sysvinit + udev
  2020-12-15  3:23     ` Alexey V. Vissarionov
@ 2020-12-15  3:38       ` Антон Мидюков
  2020-12-15  4:15         ` Alexey V. Vissarionov
  0 siblings, 1 reply; 11+ messages in thread
From: Антон Мидюков @ 2020-12-15  3:38 UTC (permalink / raw)
  To: devel

15.12.2020 10:23, Alexey V. Vissarionov пишет:
> On 2020-12-15 02:31:28 +0700, Антон Мидюков wrote:
> 
>  >>> После обновления udev до 246 на системах с sysvinit при
>  >>> загрузке не стали
>  >> Перестали?
>  > перестали
>  >>> создаваться симлинки:
>  >>> /dev/stderr -> /proc/self/fd/2
>  >>> /dev/stdout -> /proc/self/fd/1
>  >>> /dev/stdin -> /proc/self/fd/0
>  >>> /dev/fd -> /proc/self/fd/
>  >> Какой в них смысл, если они всегда указывают в /proc/self ?
>  > Сломался startup-mediacheck, а именно:
>  > while read i; do
>  > done < <(checkisomd5 --gauge "$dev" 2>&1) # hence bash
>  > без /dev/fd не работает.
> 
> Значит, и чинить надо именно startup-mediacheck - просто потому,
> что все необходимое для работы ему доступно и без костыля.
> 
> 

Но проблема то шире. Некоторые bash-скрипты не будут работать на sysvinit из-за отсутствия /dev/fd. Очевидно же?

-- 
С уважением, Антон Мидюков <antohami@altlinux.org>


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

* Re: [devel] sysvinit + udev
  2020-12-15  3:38       ` Антон Мидюков
@ 2020-12-15  4:15         ` Alexey V. Vissarionov
  2020-12-30 14:22           ` Alexey Sheplyakov
  0 siblings, 1 reply; 11+ messages in thread
From: Alexey V. Vissarionov @ 2020-12-15  4:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2020-12-15 10:38:47 +0700, Антон Мидюков wrote:

 >>>>> /dev/stderr -> /proc/self/fd/2
 >>>>> /dev/stdout -> /proc/self/fd/1
 >>>>> /dev/stdin -> /proc/self/fd/0
 >>>>> /dev/fd -> /proc/self/fd/
 >>>> Какой в них смысл, если они всегда указывают в /proc/self ?
 >>> Сломался startup-mediacheck, а именно:
 >>> while read i; do
 >>> done < <(checkisomd5 --gauge "$dev" 2>&1) # hence bash
 >>> без /dev/fd не работает.
 >> Значит, и чинить надо именно startup-mediacheck - просто потому,
 >> что все необходимое для работы ему доступно и без костыля.
 > Но проблема то шире. Некоторые bash-скрипты не будут работать
 > на sysvinit из-за отсутствия /dev/fd. Очевидно же?

Ну вот эти скрипты и надо чинить. Вместо /dev/fd/ использовать
/proc/self/fd/, вместо /dev/stdin - /proc/self/fd/0 итд.

Потому что закладываться на чужие симлинки - кроилово, которое
традиционно ведет к попадалову.


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


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

* Re: [devel] sysvinit + udev
  2020-12-15  4:15         ` Alexey V. Vissarionov
@ 2020-12-30 14:22           ` Alexey Sheplyakov
  2020-12-30 14:26             ` Alexey Gladkov
  0 siblings, 1 reply; 11+ messages in thread
From: Alexey Sheplyakov @ 2020-12-30 14:22 UTC (permalink / raw)
  To: devel

Добрый вечер!

On 12/15/20 8:15 AM, Alexey V. Vissarionov wrote:
> On 2020-12-15 10:38:47 +0700, Антон Мидюков wrote:
> 
>   >>>>> /dev/stderr -> /proc/self/fd/2
>   >>>>> /dev/stdout -> /proc/self/fd/1
>   >>>>> /dev/stdin -> /proc/self/fd/0
>   >>>>> /dev/fd -> /proc/self/fd/
>   >>>> Какой в них смысл, если они всегда указывают в /proc/self ?
>   >>> Сломался startup-mediacheck, а именно:
>   >>> while read i; do
>   >>> done < <(checkisomd5 --gauge "$dev" 2>&1) # hence bash
>   >>> без /dev/fd не работает.
>   >> Значит, и чинить надо именно startup-mediacheck - просто потому,
>   >> что все необходимое для работы ему доступно и без костыля.
>   > Но проблема то шире. Некоторые bash-скрипты не будут работать
>   > на sysvinit из-за отсутствия /dev/fd. Очевидно же?
> 
> Ну вот эти скрипты и надо чинить. Вместо /dev/fd/ использовать
> /proc/self/fd/, вместо /dev/stdin - /proc/self/fd/0 итд.

P - portability

/dev/stdin есть во многих *NIX, а /proc/self/fd - только в Linux.
Потому есть много программ (не только скриптов) и, что более
существенно - документации, где используется именно /dev/stdin.
Чинить их все - сильно затратно, проще сделать, чтоб был /dev/stdin

(прошу прощения за тормозной путь в 2 недели)


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

* Re: [devel] sysvinit + udev
  2020-12-30 14:22           ` Alexey Sheplyakov
@ 2020-12-30 14:26             ` Alexey Gladkov
  0 siblings, 0 replies; 11+ messages in thread
From: Alexey Gladkov @ 2020-12-30 14:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Dec 30, 2020 at 06:22:46PM +0400, Alexey Sheplyakov wrote:
> Добрый вечер!
> 
> On 12/15/20 8:15 AM, Alexey V. Vissarionov wrote:
> > On 2020-12-15 10:38:47 +0700, Антон Мидюков wrote:
> > 
> >   >>>>> /dev/stderr -> /proc/self/fd/2
> >   >>>>> /dev/stdout -> /proc/self/fd/1
> >   >>>>> /dev/stdin -> /proc/self/fd/0
> >   >>>>> /dev/fd -> /proc/self/fd/
> >   >>>> Какой в них смысл, если они всегда указывают в /proc/self ?
> >   >>> Сломался startup-mediacheck, а именно:
> >   >>> while read i; do
> >   >>> done < <(checkisomd5 --gauge "$dev" 2>&1) # hence bash
> >   >>> без /dev/fd не работает.
> >   >> Значит, и чинить надо именно startup-mediacheck - просто потому,
> >   >> что все необходимое для работы ему доступно и без костыля.
> >   > Но проблема то шире. Некоторые bash-скрипты не будут работать
> >   > на sysvinit из-за отсутствия /dev/fd. Очевидно же?
> > 
> > Ну вот эти скрипты и надо чинить. Вместо /dev/fd/ использовать
> > /proc/self/fd/, вместо /dev/stdin - /proc/self/fd/0 итд.
> 
> P - portability
> 
> /dev/stdin есть во многих *NIX, а /proc/self/fd - только в Linux.
> Потому есть много программ (не только скриптов) и, что более
> существенно - документации, где используется именно /dev/stdin.
> Чинить их все - сильно затратно, проще сделать, чтоб был /dev/stdin
> 
> (прошу прощения за тормозной путь в 2 недели)

Проблема уже устранена в startup-0.9.9.10-alt1.

-- 
Rgrds, legion



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

end of thread, other threads:[~2020-12-30 14:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-11 17:15 [devel] sysvinit + udev Антон Мидюков
2020-12-11 17:27 ` Alexey Gladkov
2020-12-11 17:35   ` Vladislav Zavjalov
2020-12-11 17:55     ` Alexey Gladkov
2020-12-12  1:28 ` Alexey V. Vissarionov
2020-12-14 19:31   ` Антон Мидюков
2020-12-15  3:23     ` Alexey V. Vissarionov
2020-12-15  3:38       ` Антон Мидюков
2020-12-15  4:15         ` Alexey V. Vissarionov
2020-12-30 14:22           ` Alexey Sheplyakov
2020-12-30 14:26             ` 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