При тестировании регулярок на mipsel и rpi было замечено, что при выключении иногда появляется в логах следующее: [ OK ] Stopped target Local File Systems. Unmounting /tmp... Unmounting Lock Directory... Unmounting Runtime Directory... [ OK ] Unmounted /tmp. [ OK ] Unmounted Lock Directory. [FAILED] Failed unmounting Runtime Directory. [ OK ] Stopped target Local File Systems (Pre). [ OK ] Stopped target Swap. На BFK 3.1 (mipsel) воспроизводится стабильно, при каждом выключении/перезагрузке.
При помощи пары грязных хаков удалось получить вывод lsof /run сразу после неудачного отмонтирования: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 26u FIFO 0,15 0t0 5961 /run/initctl systemd 1 root 66r REG 0,15 1536 2195 /var/run/utmp systemd-j 2745 root mem REG 0,15 8 7545 /run/systemd/journal/kernel-seqnum Похоже, виновата часть systemd, которая держит /var/run/utmp в этот момент. На x86_64 я этого вроде не вижу (но там всё очень быстро пролетает...). Дмитрий, Антон, уточните пожалуйста, где эта проблема замечена.
(В ответ на комментарий №0) >На BFK 3.1 (mipsel) воспроизводится стабильно, при каждом выключении/перезагрузке. Стабильность это очень хорошо. Попробуй превратить /var/run в симлинк: rm -fr /var/run && ln -s ../run /var/run Будет ли проблема воспроизводиться после этого?
(In reply to comment #2) > rm -fr /var/run Очень плохая идея делать так на живой системе. Система после этого перестанет быть живой, по крайней мере до перезагрузки. Но мысль я понял и попробовал, примонтировав раздел на другую машину. > Будет ли проблема воспроизводиться после этого? Не должна. Проблема именно в отмонтировании bind-mount /var/run, который в случае если /var/run симлинк не делается. Я проверил -- и правда, не воспроизводится.
(В ответ на комментарий №3) > (In reply to comment #2) > > rm -fr /var/run > > Очень плохая идея делать так на живой системе. Система после этого перестанет > быть живой, по крайней мере до перезагрузки. Разумеется. После перезагрузки, как правило, всё ок :-) > > Но мысль я понял и попробовал, примонтировав раздел на другую машину. > > > Будет ли проблема воспроизводиться после этого? > > Не должна. Проблема именно в отмонтировании bind-mount /var/run, который в > случае если /var/run симлинк не делается. > > Я проверил -- и правда, не воспроизводится. Тогда переходим на симлинк.
(In reply to comment #1) > Похоже, виновата часть systemd, которая держит /var/run/utmp в этот момент. Из чисто образовательного интереса всё-таки запишу, что путь /var/run/utmp приходит в systemd из /usr/include/paths.h (макрос _PATH_UTMP), из пакета glibc-devel. В федоре, в glibc-headers-2.30.9000-21.fc32.x86_64.rpm, этот макрос имеет такое же значение.
Используйте симлинк /var/run -> /run и будет все хорошо.