* [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