<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>35350</bug_id>
          
          <creation_ts>2018-09-05 18:20:26 +0300</creation_ts>
          <short_desc>Нет директории /var/lock/subsys/ на sysV</short_desc>
          <delta_ts>2023-07-02 17:41:58 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>systemd-utils</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=35881</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>regression</keywords>
          <priority>P3</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Антон Мидюков">antohami</reporter>
          <assigned_to name="Alexey Shabalin">shaba</assigned_to>
          <cc>aen</cc>
    
    <cc>evg</cc>
    
    <cc>glebfm</cc>
    
    <cc>klark.devel</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
    
    <cc>zxwarior</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>173923</commentid>
    <comment_count>0</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-09-05 18:20:26 +0300</bug_when>
    <thetext>После последнего обновления filesystem в регулярках на sysV нет директории /var/lock/subsys/ В результате многие службы жалуются, что не могут создать lock файл в этой директории. Проблема вызвана вот этим коммитом ориентировочно:
http://git.altlinux.org/people/ldv/packages/?p=filesystem.git;a=commitdiff;h=ab242a12ddb4d29fbc6523d0bb5bdf584c31ef12

Я так понимаю, что директории должны создаваться в tmpfs, на на sysV создаётся только /var/lock/ а директорий:

%attr(0700,root,root) %dir /var/lock/subsys %ghost
%attr(0770,root,uucp) %dir /var/lock/uucp %ghost
%attr(0770,root,uucp) %dir /var/lock/serial %ghost

нет.

Проблема, как на live, так и установленной системе.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173924</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2018-09-05 18:23:34 +0300</bug_when>
    <thetext>...и это ещё одна проблема, которую можно было поймать на тестовых регулярках,
а не разломав мне сизиф в самый неудобный для того по нагрузке момент.
Просьба в будущем не стесняться запросить сборку/проверку.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173926</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-09-05 21:13:43 +0300</bug_when>
    <thetext>Хотелось бы понять, почему у вас не отрабатывает tmpfiles?
В конфиге /lib/tmpfiles.d/legacy.conf присутствует:

d /run/lock/subsys 0700 root root -

Точнее, хотелось бы понять, почему у вас /run не тоже самое что и /var/run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173927</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-09-05 21:14:35 +0300</bug_when>
    <thetext>извиняюсь, почему /var/lock не тоже самое что /run/lock</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173928</commentid>
    <comment_count>4</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-09-06 07:41:24 +0300</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; извиняюсь, почему /var/lock не тоже самое что /run/lock

/run/lock отсутствует совсем в rescue (какого-то пакета в сборке не хватает? или директории в /run создаются по требованию?)
А в остальных (icewm, wmaker, gnustep, jeos) /run/lock отличается от /var/lock содержимым, т.е. да, не тоже самое.
Также не тоже самое /var/run и /run

Какой пакет отвечает за отработку правил /lib/tmpfiles.d/ ?

Конфиг /lib/tmpfiles.d/legacy.conf присутствует, принадлежит пакету systemd-utils.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173973</commentid>
    <comment_count>5</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-09-08 10:42:47 +0300</bug_when>
    <thetext>(В ответ на комментарий №4)
&gt; Какой пакет отвечает за отработку правил /lib/tmpfiles.d/ ?

systemd-tmpfiles из пакета systemd-utils. Для sysV нужен инит-скрипт для него.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173974</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-09-08 10:58:24 +0300</bug_when>
    <thetext>(In reply to comment #5)
&gt; (В ответ на комментарий №4)
&gt; &gt; Какой пакет отвечает за отработку правил /lib/tmpfiles.d/ ?
&gt; 
&gt; systemd-tmpfiles из пакета systemd-utils. Для sysV нужен инит-скрипт для него.

Этот скрипт традиционно называется /etc/rc.d/scripts/cleanup, вызывается из /etc/rc.d/rc.sysinit; так что перевешиваю на systemd-utils.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173979</commentid>
    <comment_count>7</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-09-08 15:44:36 +0300</bug_when>
    <thetext>(В ответ на комментарий №6)
&gt; (In reply to comment #5)
&gt; &gt; (В ответ на комментарий №4)
&gt; &gt; &gt; Какой пакет отвечает за отработку правил /lib/tmpfiles.d/ ?
&gt; &gt; 
&gt; &gt; systemd-tmpfiles из пакета systemd-utils. Для sysV нужен инит-скрипт для него.
&gt; 
&gt; Этот скрипт традиционно называется /etc/rc.d/scripts/cleanup, вызывается из
&gt; /etc/rc.d/rc.sysinit; так что перевешиваю на systemd-utils.

Спасибо за информацию. Но так как на systemd всё работает, а на sysV нет, то логично предположить, что дело всё-таки в /etc/rc.d/scripts/cleanup из пакета startup. Проблема то похоже давнишняя. На sysV отличаются директории /var/run/ и /run/ уже очень давно. На июньском стартеркитe (p8) директории также не одно и тоже.

Может из /etc/rc.d/scripts/cleanup как-то неправильно вызывает systemd-tmpfiles? Или не тогда, когда надо?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174026</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-09-11 03:44:16 +0300</bug_when>
    <thetext>(In reply to comment #7)
&gt; (В ответ на комментарий №6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; (В ответ на комментарий №4)
&gt; &gt; &gt; &gt; Какой пакет отвечает за отработку правил /lib/tmpfiles.d/ ?
&gt; &gt; &gt; 
&gt; &gt; &gt; systemd-tmpfiles из пакета systemd-utils. Для sysV нужен инит-скрипт для него.
&gt; &gt; 
&gt; &gt; Этот скрипт традиционно называется /etc/rc.d/scripts/cleanup, вызывается из
&gt; &gt; /etc/rc.d/rc.sysinit; так что перевешиваю на systemd-utils.
&gt; 
&gt; Спасибо за информацию. Но так как на systemd всё работает, а на sysV нет, то
&gt; логично предположить, что дело всё-таки в /etc/rc.d/scripts/cleanup из пакета
&gt; startup. Проблема то похоже давнишняя. На sysV отличаются директории /var/run/
&gt; и /run/ уже очень давно. На июньском стартеркитe (p8) директории также не одно
&gt; и тоже.

Дело, конечно, не в /etc/rc.d/scripts/cleanup; /var/run в /lib/tmpfiles.d/legacy.conf вообще нет, а почему правило для /var/lock не выполняется, это тоже к systemd-utils.  Мне кажется, что systemd c некоторых пор обрабатывает /var/run и /var/lock особым образом, что ломает наши правила в /lib/tmpfiles.d/legacy.conf
&gt; 
&gt; Может из /etc/rc.d/scripts/cleanup как-то неправильно вызывает
&gt; systemd-tmpfiles? Или не тогда, когда надо?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174608</commentid>
    <comment_count>9</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-09-30 18:59:12 +0300</bug_when>
    <thetext>Причина нашлась:
https://forum.altlinux.org/index.php?topic=36177.msg330926#msg330926

Коротко. В /lib/tmpfiles.d/legacy.conf строка

L /var/lock - - - - ../run/lock

не отрабатывает, но зато отрабатывает, если добавить плюсик:
L+ /var/lock - - - - ../run/lock

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

Другой вопрос почему не отрабатывает именно на sysV, а на systemd всё отрабатывает?

В initrd, кстати, есть /var/lock/subsys. Наверное он нужен для udev в самом initrd. Изменит ли как-то ситуацию удаление директории /var/lock/subsys из initrd?

Ещё одна версия, что какой-то демон чего-то успел записать в /var/lock, также не нашла подтверждения у меня. В этом случае должны были остаться какие-то следы от него, чего нет в /var/lock.

Может добавим плюсик? Проблема с /var/run также решается добавлением плюсика в /lib/tmpfiles.d/var.conf в строку:
L /var/run - - - - ../run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174613</commentid>
    <comment_count>10</comment_count>
    <who name="Speccyfighter">zxwarior</who>
    <bug_when>2018-10-01 11:56:57 +0300</bug_when>
    <thetext>(В ответ на комментарий №9)
&gt; Причина нашлась:
&gt; https://forum.altlinux.org/index.php?topic=36177.msg330926#msg330926
&gt; 
&gt; Коротко. В /lib/tmpfiles.d/legacy.conf строка
&gt; 
&gt; L /var/lock - - - - ../run/lock
&gt; 
&gt; не отрабатывает, но зато отрабатывает, если добавить плюсик:
&gt; L+ /var/lock - - - - ../run/lock
&gt; 
&gt; ...
&gt; 
&gt; Может добавим плюсик? Проблема с /var/run также решается добавлением плюсика в
&gt; /lib/tmpfiles.d/var.conf в строку:
&gt; L /var/run - - - - ../run

Оттестировал перевод лайва (лайв-режим)
http://nightly.altlinux.org/sisyphus/snapshots/20180926/regular-xfce-20180926-i586.iso
с systemd на sysvinit.

Последовательность действий:

Сменить L на L+

$ grep ^L /lib/tmpfiles.d/legacy.conf 
L+ /var/lock - - - - ../run/lock


Установить пакеты для перевода регулярного лайва xfce с systemd на sysvinit

# apt-get install \
sysvinit \
pm-utils \
nm-sysvinit \
polkit-sysvinit \
systemd- \
systemd-services- \
systemd-sysvinit- \
apt-conf-ignore-systemd \
syslog-ng 


Перезагрузиться по SysRq

Alt+Fn+SysRq+SUB


После перезагрузки получаем в лайве

# ls -l /proc/1/exe 
lrwxrwxrwx 1 root root 0 окт  1 14:27 /proc/1/exe -&gt; /sbin/init


# ls -l /{var,run} | grep lock
drwxr-xr-x 6 root   root        120 окт  1 14:27 lock
lrwxrwxrwx 1 root root     11 окт  1 14:27 lock -&gt; ../run/lock


# find /{var,run}/lock -type f -print
/run/lock/subsys/plymouth
/run/lock/subsys/alteratord
/run/lock/subsys/ntpd
/run/lock/subsys/spice-vdagentd
/run/lock/subsys/avahi
/run/lock/subsys/autofs
/run/lock/subsys/dm
/run/lock/subsys/keytable
/run/lock/subsys/fbsetfont
/run/lock/subsys/udevd-final
/run/lock/subsys/sensors
/run/lock/subsys/random
/run/lock/subsys/bluetooth
/run/lock/subsys/NetworkManager
/run/lock/subsys/network
/run/lock/subsys/messagebus
/run/lock/subsys/acpid
/run/lock/subsys/udevd


# ls -l /{var,run}/lock 
lrwxrwxrwx 1 root root  11 окт  1 14:27 /var/lock -&gt; ../run/lock

/run/lock:
итого 0
drwx------ 2 root root  40 окт  1 14:27 lvm
drwxr-xr-x 2 root root  40 окт  1 14:27 sepermit
drwxrwx--- 2 root uucp  40 окт  1 14:27 serial
drwx------ 2 root root 400 окт  1 14:27 subsys


Плюс получаем отсутствие ошибки 
No such file or directory 
на загрузке на предмет subsys, при создании lock-файла.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174722</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-10-03 17:59:34 +0300</bug_when>
    <thetext>(В ответ на комментарий №9)
&gt; L /var/lock - - - - ../run/lock
&gt; 
&gt; не отрабатывает, но зато отрабатывает, если добавить плюсик:
&gt; L+ /var/lock - - - - ../run/lock
&gt; 
&gt; Плюсик означает, что каталог заменяется на симлинк даже, если внутри него есть
&gt; файлы.
&gt; 
&gt; Другой вопрос почему не отрабатывает именно на sysV, а на systemd всё
&gt; отрабатывает?
&gt; 
&gt; В initrd, кстати, есть /var/lock/subsys. Наверное он нужен для udev в самом
&gt; initrd. Изменит ли как-то ситуацию удаление директории /var/lock/subsys из
&gt; initrd?
&gt; 
&gt; Ещё одна версия, что какой-то демон чего-то успел записать в /var/lock, также
&gt; не нашла подтверждения у меня. В этом случае должны были остаться какие-то
&gt; следы от него, чего нет в /var/lock.
&gt; 
&gt; Может добавим плюсик? Проблема с /var/run также решается добавлением плюсика в
&gt; /lib/tmpfiles.d/var.conf в строку:
&gt; L /var/run - - - - ../run


Нет, плюсик использовать нельзя.
Так же смотрите
https://bugzilla.altlinux.org/show_bug.cgi?id=32358

Удивляет то, как вам удаётся получить разные /var/run и /run, /var/lock и /run/lock.
Раньше они должны были бить одинаковы, потому что были соответствующие mount -o bind, сейчас это нужно добиться симлинком.
Возможно кто-то успевает записать что-то в /var/run или в /var/lock до начала работы tmpfiles. Надо найти это место и научить писать в /run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174732</commentid>
    <comment_count>12</comment_count>
    <who name="Speccyfighter">zxwarior</who>
    <bug_when>2018-10-04 21:55:45 +0300</bug_when>
    <thetext>(В ответ на комментарий №0)
&gt; После последнего обновления filesystem в регулярках на sysV нет директории
&gt; /var/lock/subsys/ В результате многие службы жалуются, что не могут создать
&gt; lock файл в этой директории. Проблема вызвана вот этим коммитом ориентировочно:
&gt; http://git.altlinux.org/people/ldv/packages/?p=filesystem.git;a=commitdiff;h=ab242a12ddb4d29fbc6523d0bb5bdf584c31ef12
&gt; 
&gt; Я так понимаю, что директории должны создаваться в tmpfs, на на sysV создаётся
&gt; только /var/lock/ а директорий:
&gt; 
&gt; %attr(0700,root,root) %dir /var/lock/subsys %ghost
&gt; %attr(0770,root,uucp) %dir /var/lock/uucp %ghost
&gt; %attr(0770,root,uucp) %dir /var/lock/serial %ghost
&gt; 
&gt; нет.
&gt; 
&gt; Проблема, как на _live_, так и установленной системе.

Антон, всё гораздо хитрее и запутаннее :-)

В squashfs:

# ls -l /.ro/var/ | grep &apos;lock\|run&apos;
drwxr-xr-x  3 root root    46 окт  3 08:36 lock
drwxr-xr-x 17 root root   250 окт  3 08:36 run

# mount | grep &apos;/\.ro&apos;
/dev/loop0 on /.ro type squashfs (ro,relatime)

Помнишь ман про L,L+?
А теперь ложка соли на этот торт:

subsys создаётся только для /run/lock, но не для /var/lock:

# grep . /lib/tmpfiles.d/* | grep &apos;subsys\|uucp\|serial&apos; | grep -v \#
/lib/tmpfiles.d/legacy.conf:d /run/lock/subsys 0700 root root -
/lib/tmpfiles.d/legacy.conf:d /run/lock/serial 0770 root uucp -

В результате сервисы sysv требующие /var/lock/subsys обламываются на загрузке sysv с огромной руганью.
И если принудительно не линковать через L+, эта ругань в tty1 будет продолжаться бесконечно.

Как вариант, можно в 

/lib/tmpfiles.d/legacy.conf

прописать

d /var/lock/subsys 0700 root root -

Но содержимое каталогов будет разным:
- Часть sysv сервисов создаёт lock-и в /var/lock/subsys,
  а другие в /run/lock/subsys
  И без линковки через L+, они будут разными.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174733</commentid>
    <comment_count>13</comment_count>
    <who name="Speccyfighter">zxwarior</who>
    <bug_when>2018-10-04 22:11:08 +0300</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt; 
&gt; ...
&gt; 
&gt; Как вариант, можно в 
&gt; 
&gt; /lib/tmpfiles.d/legacy.conf
&gt; 
&gt; прописать
&gt; 
&gt; d /var/lock/subsys 0700 root root -
&gt; 
&gt; Но содержимое каталогов будет разным:
&gt; - Часть sysv сервисов создаёт lock-и в /var/lock/subsys,
&gt;   а другие в /run/lock/subsys
&gt;   И без линковки через L+, они будут разными.

Но при этом нужно помнить, что systemd-tmpfiles работает подобно &apos;mkdir -p&apos; и обрабатывает *.conf в лексикографическом порядке вне зависимости от того в каком каталоге */*tmpfiles.d они находятся. Это упоминает man tmpfiles.d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174805</commentid>
    <comment_count>14</comment_count>
      <attachid>7801</attachid>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-10-08 14:37:41 +0300</bug_when>
    <thetext>Created attachment 7801
Исправление скрипта cleanup пакета startup

Предлагаю решить проблему вот таким образом.
Т.е. при каждом запуске дропать /var/run и /var/lock, если это не симлинки, после чего будет происходить успешное создание симлинков. Пришлось переместить создание tmpfiles вверх, так как иначе utmp писать некуда. Это принципиальной момент, что 

systemd-tmpfiles --remove --create --boot --exclude-prefix=/dev

выполняется после? Я проверил, так работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174976</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2018-10-15 20:51:10 +0300</bug_when>
    <thetext>2 ldv@ и shaba@: коллеги, исправьте всё-таки сломанное в августе.

У нас всё это время http://altlinux.org/rescue грузится так, что я бы сам испугался и поискал какой-нибудь менее сломанный на вид инструмент.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175037</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-10-16 19:33:29 +0300</bug_when>
    <thetext>(В ответ на комментарий №15)
&gt; 2 ldv@ и shaba@: коллеги, исправьте всё-таки сломанное в августе.
&gt; 
&gt; У нас всё это время http://altlinux.org/rescue грузится так, что я бы сам
&gt; испугался и поискал какой-нибудь менее сломанный на вид инструмент.

В rescue свой rc.sysinit.rescue, который совсем не использует cleanup, и соответственно не запускает systemd-tmpfiles.
Для rescue тебе надо где-то самостоятельно создать симлинки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175465</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-10-31 19:50:52 +0300</bug_when>
    <thetext>(В ответ на комментарий №14)
&gt; Created an attachment (id=7801) [details]
&gt; Исправление скрипта cleanup пакета startup
&gt; 
&gt; Предлагаю решить проблему вот таким образом.
&gt; Т.е. при каждом запуске дропать /var/run и /var/lock, если это не симлинки,
&gt; после чего будет происходить успешное создание симлинков. Пришлось переместить
&gt; создание tmpfiles вверх, так как иначе utmp писать некуда. Это принципиальной
&gt; момент, что 
&gt; 
&gt; systemd-tmpfiles --remove --create --boot --exclude-prefix=/dev
&gt; 
&gt; выполняется после? Я проверил, так работает.

Это изменение в задании #215964</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175467</commentid>
    <comment_count>18</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-10-31 20:01:04 +0300</bug_when>
    <thetext>(В ответ на комментарий №17)
&gt; (В ответ на комментарий №14)
&gt; &gt; Created an attachment (id=7801) [details] [details]
&gt; &gt; Исправление скрипта cleanup пакета startup
&gt; &gt; 
&gt; &gt; Предлагаю решить проблему вот таким образом.
&gt; &gt; Т.е. при каждом запуске дропать /var/run и /var/lock, если это не симлинки,
&gt; &gt; после чего будет происходить успешное создание симлинков. Пришлось переместить
&gt; &gt; создание tmpfiles вверх, так как иначе utmp писать некуда. Это принципиальной
&gt; &gt; момент, что 
&gt; &gt; 
&gt; &gt; systemd-tmpfiles --remove --create --boot --exclude-prefix=/dev
&gt; &gt; 
&gt; &gt; выполняется после? Я проверил, так работает.
&gt; 
&gt; Это изменение в задании #215964

Если сами директории /var/run и /var/lock не удалять, толку не будет же. Симлинки вместо них не создадутся, а потому нужные директории не появятся в них.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175468</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-10-31 20:25:50 +0300</bug_when>
    <thetext>На существующих инсталяциях миграцию делать никто не планирует.
А на вновь устанавливаемых системах инстолятор должен позаботиться об их отсутствии на установленной системе.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175469</commentid>
    <comment_count>20</comment_count>
    <who name="Speccyfighter">zxwarior</who>
    <bug_when>2018-11-01 04:25:57 +0300</bug_when>
    <thetext>(В ответ на комментарий №18)
&gt; Если сами директории /var/run и /var/lock не удалять, толку не будет же.
&gt; Симлинки вместо них не создадутся, а потому нужные директории не появятся в
&gt; них.

Антон, на миграции лайва xfce с systemd на sysv, всё ещё хуже:
После миграции с перезагрузкой через SysRq (systemd же грохнули), /var/{lock,run}, /run/lock/{serial,subsys}, как были каталогами, так и остались каталогами, а вот /var/lock/{serial,subsys}, исчезли после перезагрузки. А кто их исчез,кто его знает. Они просто исчезли в /.rw/*
https://forum.altlinux.org/index.php?topic=36177.msg331931#msg331931
Как себе представляю:
Если каталог /var/lock не грохнуть, то и симлинк не создастся, и serial с subsys исчезнут. Логгирования не будет, а отследить это можно только через tty1 на загрузке. Смотрел это на сборке xfce от 24.10.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175470</commentid>
    <comment_count>21</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-01 07:35:26 +0300</bug_when>
    <thetext>(В ответ на комментарий №19)
&gt; На существующих инсталяциях миграцию делать никто не планирует.
&gt; А на вновь устанавливаемых системах инстолятор должен позаботиться об их
&gt; отсутствии на установленной системе.

Ок. Буду репу чесать в этом направлении.

(В ответ на комментарий №20)
&gt; (В ответ на комментарий №18)
&gt; &gt; Если сами директории /var/run и /var/lock не удалять, толку не будет же.
&gt; &gt; Симлинки вместо них не создадутся, а потому нужные директории не появятся в
&gt; &gt; них.
&gt; 
&gt; Антон, на миграции лайва xfce с systemd на sysv, всё ещё хуже:
&gt; После миграции с перезагрузкой через SysRq (systemd же грохнули),
&gt; /var/{lock,run}, /run/lock/{serial,subsys}, как были каталогами, так и остались
&gt; каталогами, а вот /var/lock/{serial,subsys}, исчезли после перезагрузки. А кто
&gt; их исчез,кто его знает. Они просто исчезли в /.rw/*
&gt; https://forum.altlinux.org/index.php?topic=36177.msg331931#msg331931
&gt; Как себе представляю:
&gt; Если каталог /var/lock не грохнуть, то и симлинк не создастся, и serial с
&gt; subsys исчезнут. Логгирования не будет, а отследить это можно только через tty1
&gt; на загрузке. Смотрел это на сборке xfce от 24.10.

Никаких чудес. /run/lock/{serial,subsys} создаются динамически в tmpfiles. systemd просто выдаёт предупреждение, что /var/lock это директория, а сам монтирует туда /run/lock. Директория /var/lock при этом жива и здорова, но без поддиректорий /var/lock/{serial,subsys}, так как они ни кем не созданы (их нет более в пакете filesystem). Их нужно либо создать, либо превратить в симлинк /var/lock</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175501</commentid>
    <comment_count>22</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-01 18:16:24 +0300</bug_when>
    <thetext>(В ответ на комментарий №17)
&gt; (В ответ на комментарий №14)
&gt; &gt; Created an attachment (id=7801) [details] [details]
&gt; &gt; Исправление скрипта cleanup пакета startup
&gt; &gt; 
&gt; &gt; Предлагаю решить проблему вот таким образом.
&gt; &gt; Т.е. при каждом запуске дропать /var/run и /var/lock, если это не симлинки,
&gt; &gt; после чего будет происходить успешное создание симлинков. Пришлось переместить
&gt; &gt; создание tmpfiles вверх, так как иначе utmp писать некуда. Это принципиальной
&gt; &gt; момент, что 
&gt; &gt; 
&gt; &gt; systemd-tmpfiles --remove --create --boot --exclude-prefix=/dev
&gt; &gt; 
&gt; &gt; выполняется после? Я проверил, так работает.
&gt; 
&gt; Это изменение в задании #215964

Сборка regular-jeos с этим заданием не устанавливается. Жалуется на отсутствие пакета installer-feature-powerbutton-stage2. Где тут связь так сразу и не пойму...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175503</commentid>
    <comment_count>23</comment_count>
    <who name="Speccyfighter">zxwarior</who>
    <bug_when>2018-11-01 18:40:13 +0300</bug_when>
    <thetext>(В ответ на комментарий №21)
&gt; Никаких чудес. /run/lock/{serial,subsys} создаются динамически в tmpfiles.
&gt; systemd просто выдаёт предупреждение, что /var/lock это директория, а сам
&gt; монтирует туда /run/lock. Директория /var/lock при этом жива и здорова, но без
&gt; поддиректорий /var/lock/{serial,subsys}, так как они ни кем не созданы (их нет
&gt; более в пакете filesystem). Их нужно либо создать, либо превратить в симлинк
&gt; /var/lock

Спасибо Антон, вижу:

var-lock.mount следует алгоритму
Если /var/lock каталог, то bind-ить /run/lock в /var/run.
Если /var/lock симлинк, то не биндить.

А поскольку systemd при миграции на sysv выносится
$ rpm -qf /lib/systemd/system/var-lock.mount
systemd-239-alt3.i586

то ломается bind и /var/lock пустой.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175504</commentid>
    <comment_count>24</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-01 18:50:56 +0300</bug_when>
    <thetext>(В ответ на комментарий №23)
&gt; (В ответ на комментарий №21)
&gt; &gt; Никаких чудес. /run/lock/{serial,subsys} создаются динамически в tmpfiles.
&gt; &gt; systemd просто выдаёт предупреждение, что /var/lock это директория, а сам
&gt; &gt; монтирует туда /run/lock. Директория /var/lock при этом жива и здорова, но без
&gt; &gt; поддиректорий /var/lock/{serial,subsys}, так как они ни кем не созданы (их нет
&gt; &gt; более в пакете filesystem). Их нужно либо создать, либо превратить в симлинк
&gt; &gt; /var/lock
&gt; 
&gt; Спасибо Антон, вижу:
&gt; 
&gt; var-lock.mount следует алгоритму
&gt; Если /var/lock каталог, то bind-ить /run/lock в /var/run.
&gt; Если /var/lock симлинк, то не биндить.
&gt; 
&gt; А поскольку systemd при миграции на sysv выносится
&gt; $ rpm -qf /lib/systemd/system/var-lock.mount
&gt; systemd-239-alt3.i586
&gt; 
&gt; то ломается bind и /var/lock пустой.

Alexey Shabalin, может перенести /lib/systemd/system/var-lock.mount в systemd-utils?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175505</commentid>
    <comment_count>25</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-01 18:51:52 +0300</bug_when>
    <thetext>(В ответ на комментарий №22)
&gt; (В ответ на комментарий №17)
&gt; &gt; (В ответ на комментарий №14)
&gt; &gt; &gt; Created an attachment (id=7801) [details] [details] [details]
&gt; &gt; &gt; Исправление скрипта cleanup пакета startup
&gt; &gt; &gt; 
&gt; &gt; &gt; Предлагаю решить проблему вот таким образом.
&gt; &gt; &gt; Т.е. при каждом запуске дропать /var/run и /var/lock, если это не симлинки,
&gt; &gt; &gt; после чего будет происходить успешное создание симлинков. Пришлось переместить
&gt; &gt; &gt; создание tmpfiles вверх, так как иначе utmp писать некуда. Это принципиальной
&gt; &gt; &gt; момент, что 
&gt; &gt; &gt; 
&gt; &gt; &gt; systemd-tmpfiles --remove --create --boot --exclude-prefix=/dev
&gt; &gt; &gt; 
&gt; &gt; &gt; выполняется после? Я проверил, так работает.
&gt; &gt; 
&gt; &gt; Это изменение в задании #215964
&gt; 
&gt; Сборка regular-jeos с этим заданием не устанавливается. Жалуется на отсутствие
&gt; пакета installer-feature-powerbutton-stage2. Где тут связь так сразу и не
&gt; пойму...

извиняюсь, installer-feature-powerbutton-stage3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175506</commentid>
    <comment_count>26</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-01 18:56:59 +0300</bug_when>
    <thetext>(В ответ на комментарий №24)
&gt; (В ответ на комментарий №23)
&gt; &gt; (В ответ на комментарий №21)
&gt; &gt; &gt; Никаких чудес. /run/lock/{serial,subsys} создаются динамически в tmpfiles.
&gt; &gt; &gt; systemd просто выдаёт предупреждение, что /var/lock это директория, а сам
&gt; &gt; &gt; монтирует туда /run/lock. Директория /var/lock при этом жива и здорова, но без
&gt; &gt; &gt; поддиректорий /var/lock/{serial,subsys}, так как они ни кем не созданы (их нет
&gt; &gt; &gt; более в пакете filesystem). Их нужно либо создать, либо превратить в симлинк
&gt; &gt; &gt; /var/lock
&gt; &gt; 
&gt; &gt; Спасибо Антон, вижу:
&gt; &gt; 
&gt; &gt; var-lock.mount следует алгоритму
&gt; &gt; Если /var/lock каталог, то bind-ить /run/lock в /var/run.
&gt; &gt; Если /var/lock симлинк, то не биндить.
&gt; &gt; 
&gt; &gt; А поскольку systemd при миграции на sysv выносится
&gt; &gt; $ rpm -qf /lib/systemd/system/var-lock.mount
&gt; &gt; systemd-239-alt3.i586
&gt; &gt; 
&gt; &gt; то ломается bind и /var/lock пустой.
&gt; 
&gt; Alexey Shabalin, может перенести /lib/systemd/system/var-lock.mount в
&gt; systemd-utils?

Хотя оно же systemd вызывается. Я проверял, наличие пакета systemd в системе на sysV проблему не решает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175508</commentid>
    <comment_count>27</comment_count>
    <who name="Speccyfighter">zxwarior</who>
    <bug_when>2018-11-01 20:59:40 +0300</bug_when>
    <thetext>(В ответ на комментарий №26)
&gt; (В ответ на комментарий №24)
&gt; &gt; (В ответ на комментарий №23)
&gt; &gt; &gt; (В ответ на комментарий №21)
&gt; &gt; &gt; &gt; Никаких чудес. /run/lock/{serial,subsys} создаются динамически в tmpfiles.
&gt; &gt; &gt; &gt; systemd просто выдаёт предупреждение, что /var/lock это директория, а сам
&gt; &gt; &gt; &gt; монтирует туда /run/lock. Директория /var/lock при этом жива и здорова, но без
&gt; &gt; &gt; &gt; поддиректорий /var/lock/{serial,subsys}, так как они ни кем не созданы (их нет
&gt; &gt; &gt; &gt; более в пакете filesystem). Их нужно либо создать, либо превратить в симлинк
&gt; &gt; &gt; &gt; /var/lock
&gt; &gt; &gt; 
&gt; &gt; &gt; Спасибо Антон, вижу:
&gt; &gt; &gt; 
&gt; &gt; &gt; var-lock.mount следует алгоритму
&gt; &gt; &gt; Если /var/lock каталог, то bind-ить /run/lock в /var/run.
&gt; &gt; &gt; Если /var/lock симлинк, то не биндить.
&gt; &gt; &gt; 
&gt; &gt; &gt; А поскольку systemd при миграции на sysv выносится
&gt; &gt; &gt; $ rpm -qf /lib/systemd/system/var-lock.mount
&gt; &gt; &gt; systemd-239-alt3.i586
&gt; &gt; &gt; 
&gt; &gt; &gt; то ломается bind и /var/lock пустой.
&gt; &gt; 
&gt; &gt; Alexey Shabalin, может перенести /lib/systemd/system/var-lock.mount в
&gt; &gt; systemd-utils?
&gt; 
&gt; Хотя оно же systemd вызывается. Я проверял, наличие пакета systemd в системе на
&gt; sysV проблему не решает.

В systemd там хитро заморочено:

L /var/lock - - - - ../run/lock

в /lib/tmpfiles.d/legacy.conf
отработает, если это новая инсталляция, где /var/lock, это призрак в filesystem.
Но в regulsr-xfce не отработает, поскольку /var/lock, это каталог и он существует.

/lib/systemd/system/var-lock.mount
проверяет:
Если /var/lock не симлинк, то биндить /run/lock в /var/lock.

Как себе представляю в sysv:
Где-то в rc.sysinit, до старта всех сервисов делать проверку скриптом:

Если /var/lock не существует, то сделать симлинк /var/lock на /run/lock
иначе если
/var/lock это каталог и не bind, то удалить /var/lock и сделать симлинк /var/lock на /run/lock

В devuan например, идёт проверка через файл функций mount-functions.sh на 676 строк.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175510</commentid>
    <comment_count>28</comment_count>
    <who name="Speccyfighter">zxwarior</who>
    <bug_when>2018-11-02 03:59:12 +0300</bug_when>
    <thetext>(В ответ на комментарий №26)
&gt; (В ответ на комментарий №24)
...
&gt; &gt; Alexey Shabalin, может перенести /lib/systemd/system/var-lock.mount в
&gt; &gt; systemd-utils?
&gt; 
&gt; Хотя оно же systemd вызывается. Я проверял, наличие пакета systemd в системе на
&gt; sysV проблему не решает.

Более того, одна функция миграции /var/* на tmpfs, в systemd размазана по всей системе:

/lib/systemd/system/var-lock.mount
отвечающий за bind, привязан к systemd и без него работать не будет.

а systemd-линковка через /lib/tmpfiles.d/*, привязана к системе в целом:

# grep systemd-tmpfiles /etc/rc.d/scripts/cleanup
systemd-tmpfiles --clean
systemd-tmpfiles --remove --create --boot --exclude-prefix=/dev

# grep -i cleanup /etc/rc.d/rc.sysinit
# Cleanup everything :)
action &quot;Cleaning up temporary files from previous boot:&quot; /etc/rc.d/scripts/cleanup

и без этого пакета в sysv, линковка работать не будет:

# rpm -qf /sbin/systemd-tmpfiles
systemd-utils-239-alt3.i586

Но в целом, systemd следует алгоритму:
- или bind или линк
в зависимости от наличия или отсутствия /var/lock

В лайве regular-xfce будет bind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175537</commentid>
    <comment_count>29</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-02 19:17:19 +0300</bug_when>
    <thetext>(В ответ на комментарий №22)
&gt; (В ответ на комментарий №17)
&gt; &gt; (В ответ на комментарий №14)
&gt; &gt; &gt; Created an attachment (id=7801) [details] [details] [details]
&gt; &gt; &gt; Исправление скрипта cleanup пакета startup
&gt; &gt; &gt; 
&gt; &gt; &gt; Предлагаю решить проблему вот таким образом.
&gt; &gt; &gt; Т.е. при каждом запуске дропать /var/run и /var/lock, если это не симлинки,
&gt; &gt; &gt; после чего будет происходить успешное создание симлинков. Пришлось переместить
&gt; &gt; &gt; создание tmpfiles вверх, так как иначе utmp писать некуда. Это принципиальной
&gt; &gt; &gt; момент, что 
&gt; &gt; &gt; 
&gt; &gt; &gt; systemd-tmpfiles --remove --create --boot --exclude-prefix=/dev
&gt; &gt; &gt; 
&gt; &gt; &gt; выполняется после? Я проверил, так работает.
&gt; &gt; 
&gt; &gt; Это изменение в задании #215964
&gt; 
&gt; Сборка regular-jeos с этим заданием не устанавливается. Жалуется на отсутствие
&gt; пакета installer-feature-powerbutton-stage2. Где тут связь так сразу и не
&gt; пойму...

Проблема у моей локальной сборочницы. rpm пакеты вообще в образ перестали попадать. Собрал на сервере basalt, тяну себе, чтобы проверить сборку с заданием и сегодняшними правками m-p.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175550</commentid>
    <comment_count>30</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-05 19:12:16 +0300</bug_when>
    <thetext>В задании 216049 подготовлены новые версии пакетов startup-rescue и installer. Изменения:
1. В startup-rescue и installer добавлено выполнение systemd-tmpfiles во время инициализации. Без этого миграция на симлинки невозможна.
2. В installer добавлен постинсталл скрипт, который:
2.1 создаёт симлинки /var/run -&gt; ../run; /var/lock -&gt; ../run/lock
2.2 Исправляет /var/run на /run в конфигах /{etc,lib}/tmpfiles.d/*.conf (Иначе получаем предупреждения, что конфиги устарели). Надо бы все эти конфиги исправить, а этот хак убрать.

Также я думаю, что можно было бы убрать хак 2.1, если бы при первой установке пакета filesystem создавались симлинки: /var/run -&gt; ../run; /var/lock -&gt; ../run/lock При обновлениях скрипт отрабатывать не должен. Такое сделать же можно?

Также подготовил коммит для m-p, который делает тоже, что и 2.1 с 2.2, но для live. Если сможем решить проблему через filesystem, то он будет также не нужен.

Изменения  m-p, а также задания 216049 и 215964 проверял на сборке образов: regular-{jeos, rescue, lxde, icewm}

Ещё заметил, что при миграции на симлинки udev, который запускается до systemd-tmpfiles жалуется на отсутствие /var/lock/subsys/, а потому желательно, чтобы udev свой lock файл хранил в /run (речь об init-скрипте).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175551</commentid>
    <comment_count>31</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-11-05 19:27:40 +0300</bug_when>
    <thetext>(In reply to comment #30)
&gt; Также я думаю, что можно было бы убрать хак 2.1, если бы при первой установке
&gt; пакета filesystem создавались симлинки: /var/run -&gt; ../run; /var/lock -&gt;
&gt; ../run/lock При обновлениях скрипт отрабатывать не должен. Такое сделать же
&gt; можно?

Нет, нельзя, во время установки пакета filesystem ничего ещё нет.

Вообще, поскольку объекты /var/run, /var/lock, и /var/lock/* в пакете filesystem указаны именно как каталоги, а не как симлинки, попытка превратить их в симлинки приведёт к неприятностям.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175649</commentid>
    <comment_count>32</comment_count>
      <attachid>7848</attachid>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-08 18:10:45 +0300</bug_when>
    <thetext>Created attachment 7848
патч для m-p</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175650</commentid>
    <comment_count>33</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2018-11-08 18:13:12 +0300</bug_when>
    <thetext>(В ответ на комментарий №31)
&gt; (In reply to comment #30)
&gt; &gt; Также я думаю, что можно было бы убрать хак 2.1, если бы при первой установке
&gt; &gt; пакета filesystem создавались симлинки: /var/run -&gt; ../run; /var/lock -&gt;
&gt; &gt; ../run/lock При обновлениях скрипт отрабатывать не должен. Такое сделать же
&gt; &gt; можно?
&gt; 
&gt; Нет, нельзя, во время установки пакета filesystem ничего ещё нет.

В таком случае прошу высказать свои замечания по таску 216049 и черновому патчу к m-p.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177206</commentid>
    <comment_count>34</comment_count>
    <who name="Leonid Krivoshein">klark.devel</who>
    <bug_when>2019-01-09 18:36:57 +0300</bug_when>
    <thetext>(В ответ на комментарий №31)
&gt; (In reply to comment #30)
&gt; &gt; Также я думаю, что можно было бы убрать хак 2.1, если бы при первой установке
&gt; &gt; пакета filesystem создавались симлинки: /var/run -&gt; ../run; /var/lock -&gt;
&gt; &gt; ../run/lock При обновлениях скрипт отрабатывать не должен. Такое сделать же
&gt; &gt; можно?
&gt; 
&gt; Нет, нельзя, во время установки пакета filesystem ничего ещё нет.

Почему нельзя? С учётом того, что говорит rpm -qf и FHS 3.0 (#3.15) можно в том же filesystem сделать каталог /run/lock, принадлежащим этому же пакету, да и оба симлинка тоже.

&gt; Вообще, поскольку объекты /var/run, /var/lock, и /var/lock/* в пакете
&gt; filesystem указаны именно как каталоги, а не как симлинки, попытка превратить
&gt; их в симлинки приведёт к неприятностям.

Тогда вопрос превращения в симлинки, наверное, решается при обновлении через %pre. Или наш rpm вообще на такое не рассчитан?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177212</commentid>
    <comment_count>35</comment_count>
    <who name="Leonid Krivoshein">klark.devel</who>
    <bug_when>2019-01-09 20:10:14 +0300</bug_when>
    <thetext>(В ответ на комментарий №34)
&gt; Тогда вопрос превращения в симлинки, наверное, решается при обновлении через
&gt; %pre. Или наш rpm вообще на такое не рассчитан?

В общем случае силами RPM, скорее всего, не решается (в RedHat RPM 4.14.2 ситуация аналогична), но в конкретном случае через %pre решить можно по аналогии, как мне кажется:

https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
https://bugzilla.redhat.com/show_bug.cgi?id=447156</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177213</commentid>
    <comment_count>36</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2019-01-09 20:12:12 +0300</bug_when>
    <thetext>%pre исполняется шеллом, его при установке filesystem может ещё и не быть.
Попробуй проверить предложения практически, проверяя hsh --ini со своим репо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179446</commentid>
    <comment_count>37</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2019-03-14 21:20:08 +0300</bug_when>
    <thetext>Эта проблема присутствует еще и в инсталляторе, там тоже нет каталогов в /var/lock. Сделаю объезд с удалением /var/lock и запуском systemd-tmpfiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179448</commentid>
    <comment_count>38</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2019-03-15 06:02:47 +0300</bug_when>
    <thetext>(В ответ на комментарий №37)
&gt; Эта проблема присутствует еще и в инсталляторе, там тоже нет каталогов в
&gt; /var/lock. Сделаю объезд с удалением /var/lock и запуском systemd-tmpfiles.

На прошлой неделе сделал объезд наоборот с созданием ghost директорий: git.altlinux.org/people/antohami/packages/mkimage-profiles.git commit 147964b05f50281fc2c2f4c278275638e4548531
Добавляется пакет installer-feature-create-ghost-directories

Проблему в инсталлируемых регулярках решило.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179490</commentid>
    <comment_count>39</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2019-03-15 19:33:13 +0300</bug_when>
    <thetext>Я думаю это лучше делать в самом инсталляторе, т.к. нужно для всех дистрибутивов без исключения.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179491</commentid>
    <comment_count>40</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2019-03-15 19:39:24 +0300</bug_when>
    <thetext>(В ответ на комментарий №39)
&gt; Я думаю это лучше делать в самом инсталляторе, т.к. нужно для всех
&gt; дистрибутивов без исключения.

Я для всех и добавил в m-p этот пакет. Во все сборки, которые используют use/install2, попадёт пакет installer-feature-create-ghost-directories</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179510</commentid>
    <comment_count>41</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2019-03-16 21:27:29 +0300</bug_when>
    <thetext>(В ответ на комментарий №40)
&gt; &gt; Я думаю это лучше делать в самом инсталляторе, т.к. нужно для всех
&gt; &gt; дистрибутивов без исключения.
&gt; Я для всех и добавил в m-p этот пакет. Во все сборки, которые используют
&gt; use/install2, попадёт пакет installer-feature-create-ghost-directories
Миша явно про пакет installer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179772</commentid>
    <comment_count>42</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2019-03-22 20:12:14 +0300</bug_when>
    <thetext>(В ответ на комментарий №41)
&gt; &gt; Я для всех и добавил в m-p этот пакет. Во все сборки, которые используют
&gt; &gt; use/install2, попадёт пакет installer-feature-create-ghost-directories

В инталлер-фичах создавать поздно, udevd стартует раньше.

&gt; Миша явно про пакет installer.

У меня в гите фиксы, но я пока не собираю, может еще что найдется исправить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180770</commentid>
    <comment_count>43</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2019-04-12 12:58:01 +0300</bug_when>
    <thetext>На заметку. При переходе на симлинки /var/run -&gt; ../run и /var/lock -&gt; ../run/lock NetworkManager не может подхватить управление интерфейсом eth0 (пишет, что устройство не управляется). Помогает перезапуск NetworkManager.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180772</commentid>
    <comment_count>44</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2019-04-12 13:05:38 +0300</bug_when>
    <thetext>(В ответ на комментарий №43)
&gt; На заметку. При переходе на симлинки /var/run -&gt; ../run и /var/lock -&gt;
&gt; ../run/lock NetworkManager не может подхватить управление интерфейсом eth0
&gt; (пишет, что устройство не управляется). Помогает перезапуск NetworkManager.

На sysvinit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181745</commentid>
    <comment_count>45</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2019-05-21 22:11:06 +0300</bug_when>
    <thetext>(В ответ на комментарий №28)
&gt; В лайве regular-xfce будет bind.

Но зачем? Специально делаем что бы можно было перейти на симлинки и не мучаться больше с mount. А у вас опять двадцатьпять.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184070</commentid>
    <comment_count>46</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2019-09-02 19:42:07 +0300</bug_when>
    <thetext>Мне пришла в голову идея создавать симлинки при установке пакета systemd-utils.
Сделал это в задании
#236987 EPERM #1 [test-only] sisyphus systemd.git=242-alt12

Сборка образов и rootfs проходит успешно. Но есть проблемы на sysVinit:

(В ответ на комментарий №43)
&gt; На заметку. При переходе на симлинки /var/run -&gt; ../run и /var/lock -&gt;
&gt; ../run/lock NetworkManager не может подхватить управление интерфейсом eth0
&gt; (пишет, что устройство не управляется). Помогает перезапуск NetworkManager.

В ЦУС значится, что интерфейс не управляется.

Если бы не эта проблема, я был бы за этот вариант, так как делать симлинки при сборке live не так просто. Если я просто удаляю директории /var/run и /var/lock, создаю симлинки, то при установке получаю ошибку от инсталлятора на этапе установки загрузчика: не найдены канонические пути overlayfs. Помогает копирование содержимого /var/run и /var/lock в /run и /run/lock соответсвенно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184071</commentid>
    <comment_count>47</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2019-09-02 19:43:27 +0300</bug_when>
    <thetext>&gt;Мне пришла в голову идея создавать симлинки при установке пакета systemd-utils.

При установке пакета в первый раз.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186331</commentid>
    <comment_count>48</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2019-12-16 04:57:34 +0300</bug_when>
    <thetext>Проблема решается при сборке (rootfs, live) или установке (классический инсталятор) дистрибутивов.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7801</attachid>
            <date>2018-10-08 14:37:41 +0300</date>
            <delta_ts>2018-10-08 14:37:41 +0300</delta_ts>
            <desc>Исправление скрипта cleanup пакета startup</desc>
            <filename>fix_cleanup.patch</filename>
            <type>text/plain</type>
            <size>1025</size>
            <attacher name="Антон Мидюков">antohami</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL3N0YXJ0dXAvcmMuZC9zY3JpcHRzL2NsZWFudXAgYi9zdGFydHVwL3JjLmQv
c2NyaXB0cy9jbGVhbnVwCmluZGV4IDcyMTQyZDEuLmE4MDY5ZGYgMTAwNzU1Ci0tLSBhL3N0YXJ0
dXAvcmMuZC9zY3JpcHRzL2NsZWFudXAKKysrIGIvc3RhcnR1cC9yYy5kL3NjcmlwdHMvY2xlYW51
cApAQCAtMTQsNyArMTQsOSBAQCBTb3VyY2VJZk5vdEVtcHR5IC9ldGMvc3lzY29uZmlnL3N5c3Rl
bQogcm0gLWYgL2Zhc3Rib290IC9mc2Nrb3B0aW9ucyAvZm9yY2Vmc2NrIC9oYWx0IC9wb3dlcm9m
ZgogCiAjIENsZWFuIHVwIC92YXIKLWZpbmQgL3Zhci9ydW4vIC92YXIvbG9jay8gLXR5cGUgZiAt
ZGVsZXRlCitmaW5kIC9ydW4vIC9ydW4vbG9jay8gLXR5cGUgZiAtZGVsZXRlCit0ZXN0ICEgLUwg
L3Zhci9ydW4vICYmIHJtIC1mciAvdmFyL3J1bgordGVzdCAhIC1MIC92YXIvbG9jay8gJiYgcm0g
LWZyIC92YXIvbG9jawogCiBybSAtcmYgL3RtcC8uWCotbG9jayAvdG1wLy5JQ0UtdW5peCAvdG1w
Ly5YMTEtdW5peCAvdG1wLy5lc2QgL3RtcC8uZm9udC11bml4CiBybSAtZiAvdG1wL2VzcnYqCkBA
IC00Myw2ICs0NSw3IEBAIGlmIFsgLW4gIiRDTEVBTl9UTVAiIF0gJiYgWyAiJENMRUFOX1RNUCIg
LWdlIDEgXTsgdGhlbgogZmkKIAogc3lzdGVtZC10bXBmaWxlcyAtLWNsZWFuCitzeXN0ZW1kLXRt
cGZpbGVzIC0tcmVtb3ZlIC0tY3JlYXRlIC0tYm9vdCAtLWV4Y2x1ZGUtcHJlZml4PS9kZXYKIAog
IyBQb3NzaWJseSBjcmVhdGUgbGFzdGxvZywgZmFpbGxvZywgdXRtcCBhbmQgd3RtcCwgcmVzZXQg
dXRtcCBhbmQgcG9zc2libHkgdXRtcHguCiBmb3IgZiBpbiAvdmFyL2xvZy97bGFzdGxvZyxmYWls
bG9nfTsgZG8KQEAgLTU5LDYgKzYyLDQgQEAgZG9uZQogPiAvdmFyL3J1bi91dG1wCiB0ZXN0IC1m
IC92YXIvcnVuL3V0bXB4ICYmID4gL3Zhci9ydW4vdXRtcHgKIAotc3lzdGVtZC10bXBmaWxlcyAt
LXJlbW92ZSAtLWNyZWF0ZSAtLWJvb3QgLS1leGNsdWRlLXByZWZpeD0vZGV2Ci0KIGV4aXQgMAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7848</attachid>
            <date>2018-11-08 18:10:45 +0300</date>
            <delta_ts>2018-11-08 18:10:45 +0300</delta_ts>
            <desc>патч для m-p</desc>
            <filename>0001-migration-to-symlink-var-run-.-run-var-lock-.-run-lo.patch</filename>
            <type>text/plain</type>
            <size>2737</size>
            <attacher name="Антон Мидюков">antohami</attacher>
            
              <data encoding="base64">RnJvbSA5MjJkMmY1NDdhMWRmNGU4NmQ3MjNlNzJjYjBlYzFkNWNmYzhlZWNkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbiBNaWR5dWtvdiA8YW50b2hhbWlAYWx0bGludXgub3Jn
PgpEYXRlOiBNb24sIDUgTm92IDIwMTggMTk6NTc6MzUgKzA3MDAKU3ViamVjdDogW1BBVENIIDEv
Ml0gbWlncmF0aW9uIHRvIHN5bWxpbms6IC92YXIvcnVuIC0+IC4uL3J1bjsgL3Zhci9sb2NrIC0+
CiAuLi9ydW4vbG9jawoKc2VlIGFsdCBidWcgMzUzNTAKLS0tCiAuLi4vaW5pdC9yZXNjdWUvaW1h
Z2Utc2NyaXB0cy5kLzUwLXN5c3Zpbml0ICAgICAgfCAxNiAtLS0tLS0tLS0tLS0tLS0tCiAuLi4v
aW5pdC9yb290ZnMvaW1hZ2Utc2NyaXB0cy5kLzUwLXN5c3Zpbml0ICAgICAgfCAxMiAtLS0tLS0t
LS0tLS0KIC4uLi9zdGFnZTIvaW1hZ2Utc2NyaXB0cy5kLzk5LW1pZ3JhdGUtdG8tc3ltbGluayB8
IDEwICsrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMjggZGVs
ZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA3NTUgZmVhdHVyZXMuaW4vaW5pdC9yZXNjdWUvaW1h
Z2Utc2NyaXB0cy5kLzUwLXN5c3Zpbml0CiBjcmVhdGUgbW9kZSAxMDA3NTUgc3ViLmluL3N0YWdl
Mi9pbWFnZS1zY3JpcHRzLmQvOTktbWlncmF0ZS10by1zeW1saW5rCgpkaWZmIC0tZ2l0IGEvZmVh
dHVyZXMuaW4vaW5pdC9yZXNjdWUvaW1hZ2Utc2NyaXB0cy5kLzUwLXN5c3Zpbml0IGIvZmVhdHVy
ZXMuaW4vaW5pdC9yZXNjdWUvaW1hZ2Utc2NyaXB0cy5kLzUwLXN5c3Zpbml0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCA2YmU0YzNiZC4uMDAwMDAwMDAKLS0tIGEvZmVhdHVyZXMuaW4v
aW5pdC9yZXNjdWUvaW1hZ2Utc2NyaXB0cy5kLzUwLXN5c3Zpbml0CisrKyAvZGV2L251bGwKQEAg
LTEsMTYgKzAsMCBAQAotIyEvYmluL3NoCi0KLSMgdGhlIHBhcnQgYmVsb3cgcmVsYXRlcyB0byBz
eXN2aW5pdCBzcGVjaWZpY2FsbHkKLXJwbSAtcSBzeXN2aW5pdCB8fCBleGl0IDAKLQotIyB0aGlz
IHdhcyBhIGJ1bmNoIG9mIGRpcnR5IGNvbXBsYWludHMKLXNlZCAtaSAncywvdmFyL3J1biwvcnVu
LCcgL3tldGMsbGlifS90bXBmaWxlcy5kLyouY29uZiB8fDoKLQotIyBodHRwczovL2J1Z3ppbGxh
LmFsdGxpbnV4Lm9yZy8zNTM1MAotIyB0aGlzIEZBSUxTOiBubyBzeW1saW5rcy4uLgotI3JtIC1y
ZiAvdmFyL3J1biAvdmFyL2xvY2sKLSMgLi4uc28ganVzdCByZXZlcnQgd2hhdCdzIGJlZW4gYnJv
a2VuIGluIGZhaWxzeXN0ZW0gcGFja2FnZQotbWtkaXIgLXAgL3Zhci9ydW4gL3Zhci9sb2NrL3tz
ZXJpYWwsc3Vic3lzLHV1Y3B9Ci1jaG1vZCAwNzcwIC92YXIvbG9jay9zdWJzeXMKLWNobW9kIDA3
NzAgL3Zhci9sb2NrL3tzZXJpYWwsdXVjcH0KLWNoZ3JwIHV1Y3AgL3Zhci9sb2NrL3tzZXJpYWws
dXVjcH0KZGlmZiAtLWdpdCBhL2ZlYXR1cmVzLmluL2luaXQvcm9vdGZzL2ltYWdlLXNjcmlwdHMu
ZC81MC1zeXN2aW5pdCBiL2ZlYXR1cmVzLmluL2luaXQvcm9vdGZzL2ltYWdlLXNjcmlwdHMuZC81
MC1zeXN2aW5pdAppbmRleCAzOTBkNDkwZi4uNDBhZWI2OGIgMTAwNzU1Ci0tLSBhL2ZlYXR1cmVz
LmluL2luaXQvcm9vdGZzL2ltYWdlLXNjcmlwdHMuZC81MC1zeXN2aW5pdAorKysgYi9mZWF0dXJl
cy5pbi9pbml0L3Jvb3Rmcy9pbWFnZS1zY3JpcHRzLmQvNTAtc3lzdmluaXQKQEAgLTgsMTUgKzgs
MyBAQCBycG0gLXEgc3lzdmluaXQgfHwgZXhpdCAwCiBjYXNlICIkR0xPQkFMX0dST1VQUyIgaW4K
IAkqX25tY29ubmVjdCopIGdyb3VwYWRkIC1yIF9ubWNvbm5lY3QgfHw6OzsKIGVzYWMKLQotIyB0
aGlzIHdhcyBhIGJ1bmNoIG9mIGRpcnR5IGNvbXBsYWludHMKLXNlZCAtaSAncywvdmFyL3J1biwv
cnVuLCcgL3tldGMsbGlifS90bXBmaWxlcy5kLyouY29uZiB8fDoKLQotIyBodHRwczovL2J1Z3pp
bGxhLmFsdGxpbnV4Lm9yZy8zNTM1MAotIyB0aGlzIEZBSUxTOiBubyBzeW1saW5rcy4uLgotI3Jt
IC1yZiAvdmFyL3J1biAvdmFyL2xvY2sKLSMgLi4uc28ganVzdCByZXZlcnQgd2hhdCdzIGJlZW4g
YnJva2VuIGluIGZhaWxzeXN0ZW0gcGFja2FnZQotbWtkaXIgLXAgL3Zhci9ydW4gL3Zhci9sb2Nr
L3tzZXJpYWwsc3Vic3lzLHV1Y3B9Ci1jaG1vZCAwNzcwIC92YXIvbG9jay9zdWJzeXMKLWNobW9k
IDA3NzAgL3Zhci9sb2NrL3tzZXJpYWwsdXVjcH0KLWNoZ3JwIHV1Y3AgL3Zhci9sb2NrL3tzZXJp
YWwsdXVjcH0KZGlmZiAtLWdpdCBhL3N1Yi5pbi9zdGFnZTIvaW1hZ2Utc2NyaXB0cy5kLzk5LW1p
Z3JhdGUtdG8tc3ltbGluayBiL3N1Yi5pbi9zdGFnZTIvaW1hZ2Utc2NyaXB0cy5kLzk5LW1pZ3Jh
dGUtdG8tc3ltbGluawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uNmQ0NjM4
ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9zdWIuaW4vc3RhZ2UyL2ltYWdlLXNjcmlwdHMuZC85OS1t
aWdyYXRlLXRvLXN5bWxpbmsKQEAgLTAsMCArMSwxMCBAQAorIyEvYmluL3NoCisKK2NwIC1hIC92
YXIvcnVuLyogL3J1bi8KK2NwIC1hIC92YXIvbG9jay8gL3J1bi8KK3JtIC1mciAvdmFyL3tydW4s
bG9ja30KK2xuIC1zIC4uL3J1biAvdmFyL3J1bgorbG4gLXMgLi4vcnVuL2xvY2sgL3Zhci9sb2Nr
CisKKyMgdGhpcyB3YXMgYSBidW5jaCBvZiBkaXJ0eSBjb21wbGFpbnRzCitzZWQgLWkgJ3MsL3Zh
ci9ydW4sL3J1biwnIC97ZXRjLGxpYn0vdG1wZmlsZXMuZC8qLmNvbmYgfHw6Ci0tIAoyLjE3LjIK
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>