* [devel] polkit without systemd @ 2014-09-01 13:02 Alexey Shabalin 2014-09-01 14:28 ` Денис Смирнов 2014-09-01 16:21 ` Dmitry V. Levin 0 siblings, 2 replies; 13+ messages in thread From: Alexey Shabalin @ 2014-09-01 13:02 UTC (permalink / raw) To: Dmitry V. Levin, ALT Linux Team development discussions День добрый. После миграции polkit с ConsoleKit на logind(часть systemd), некоторые популярные DE требуют перехода на systemd. При работе под SysV могут наблюдаться различные проблемы. Объезд некоторых проблем описан тут: http://www.altlinux.org/Sysvinit Для полноценной работы возможные 2 варианта: 1) вернуть поддержку CK в polkit, и обеспечить выбор между CK и logind в runtime патч существует: https://bugs.freedesktop.org/show_bug.cgi?id=63504 2) обеспечить работу logind под SysV - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: -------------------- if ! mountpoint -q /sys/fs/cgroup; then mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup fi if ! mountpoint -q /sys/fs/cgroup/systemd; then mkdir -p /sys/fs/cgroup/systemd mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd /sys/fs/cgroup/systemd fi mkdir -p /run/systemd exec /lib/systemd/systemd-logind ------------------------ - в этом скрипте,при монтировании /sys/fs/cgroup, /sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает под systemd. Но из этого обмана надо исключить тех, кого мы обманывать не хотим - service, chkconfig service использует утилиту sd_booted. её лучше переписать, и научить использовать функцию sd_booted из libsystemd (например так http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c) Или я могу в systemd-utils положить эту утилиту systemd_booted и переключиться на её использование. Аналогично надо поправить chkconfig. У кого есть какие предложения, пожелания, возражения? -- Alexey Shabalin ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-01 13:02 [devel] polkit without systemd Alexey Shabalin @ 2014-09-01 14:28 ` Денис Смирнов 2014-09-02 12:45 ` Mikhail Efremov 2014-09-01 16:21 ` Dmitry V. Levin 1 sibling, 1 reply; 13+ messages in thread From: Денис Смирнов @ 2014-09-01 14:28 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 1404 bytes --] On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote: > 2) обеспечить работу logind под SysV > - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: > -------------------- > if ! mountpoint -q /sys/fs/cgroup; then > mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup > fi > if ! mountpoint -q /sys/fs/cgroup/systemd; then > mkdir -p /sys/fs/cgroup/systemd > mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd > /sys/fs/cgroup/systemd > fi > mkdir -p /run/systemd > exec /lib/systemd/systemd-logind > ------------------------ Этот вариант лучше, чем что-либо патчить. > - в этом скрипте,при монтировании /sys/fs/cgroup, > /sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает > под systemd. Но из этого обмана надо исключить тех, кого мы обманывать > не хотим - service, chkconfig > service использует утилиту sd_booted. её лучше переписать, и научить > использовать функцию sd_booted из libsystemd (например так > http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c) > Или я могу в systemd-utils положить эту утилиту systemd_booted и > переключиться на её использование. Этот вариант мне кажется правильнее. > Аналогично надо поправить chkconfig. > У кого есть какие предложения, пожелания, возражения? -- С уважением, Денис http://mithraen.ru/ [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-01 14:28 ` Денис Смирнов @ 2014-09-02 12:45 ` Mikhail Efremov 2014-09-19 14:51 ` Mikhail Efremov 0 siblings, 1 reply; 13+ messages in thread From: Mikhail Efremov @ 2014-09-02 12:45 UTC (permalink / raw) To: devel On Mon, 1 Sep 2014 18:28:16 +0400 Денис Смирнов wrote: > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote: > > > 2) обеспечить работу logind под SysV > > - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: > > -------------------- > > if ! mountpoint -q /sys/fs/cgroup; then > > mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup > > fi > > if ! mountpoint -q /sys/fs/cgroup/systemd; then > > mkdir -p /sys/fs/cgroup/systemd > > mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd > > /sys/fs/cgroup/systemd > > fi > > mkdir -p /run/systemd > > exec /lib/systemd/systemd-logind > > ------------------------ > > Этот вариант лучше, чем что-либо патчить. Да, CK в любом случае мертв, насколько я понимаю. Я так и не собрался посмотреть подробнее, но при беглом взгляде похоже, что может сработать. Правда нет гарантии, что апстрим systemd все не сломает. Хотя commit message из 79d860fe78ff9e53fe3150fb55a8a8b03c4f6470, например, внушает надежду: It is possible to build systemd without logind or run logind without systemd init. Тут хоть признается, что запуск logind без systemd возможен. -- WBR, Mikhail Efremov ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-02 12:45 ` Mikhail Efremov @ 2014-09-19 14:51 ` Mikhail Efremov 2014-09-19 19:15 ` Alexey Shabalin 0 siblings, 1 reply; 13+ messages in thread From: Mikhail Efremov @ 2014-09-19 14:51 UTC (permalink / raw) To: devel On Tue, 2 Sep 2014 16:45:07 +0400 Mikhail Efremov wrote: > On Mon, 1 Sep 2014 18:28:16 +0400 Денис Смирнов wrote: > > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote: > > > > > 2) обеспечить работу logind под SysV > > > - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: > > > -------------------- > > > if ! mountpoint -q /sys/fs/cgroup; then > > > mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup > > > fi > > > if ! mountpoint -q /sys/fs/cgroup/systemd; then > > > mkdir -p /sys/fs/cgroup/systemd > > > mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd > > > /sys/fs/cgroup/systemd > > > fi > > > mkdir -p /run/systemd > > > exec /lib/systemd/systemd-logind > > > ------------------------ > > > > Этот вариант лучше, чем что-либо патчить. > > Да, CK в любом случае мертв, насколько я понимаю. > Я так и не собрался посмотреть подробнее, но при беглом взгляде похоже, > что может сработать. Нет, при более внимательном рассмотрении там все плохо. В systemd-logind слишком много завязано на сам systemd. Не найдя dbus-интерфейс systemd он даже не запустится, да и потом он обращается к systemd при логине пользователя для манипуляций с cgroups, а также для выполнения shutdown/sleep. Надо подумать, можно ли с этим что-то сделать. К тому же, не знаю как с остальными демонами из systemd-services, но для logind dbus-активация - плохая идея. Как минимум в Xfce есть патчи, проверяющие наличие dbus-интерфейса logind. Если при этом logind вдруг запустится, но выполнять все, что от него ожидается, не сможет (тот же shutdown/sleep), то это просто перестанет работать. Предлагаю убрать dbus-активацию для logind и вернуть проверку на запущенный logind в pam_systemd, а если удастся-таки как-то заставить его работать без systemd - написать для него честный инит-скрипт. -- WBR, Mikhail Efremov ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-19 14:51 ` Mikhail Efremov @ 2014-09-19 19:15 ` Alexey Shabalin 2014-09-22 9:40 ` Mikhail Efremov 0 siblings, 1 reply; 13+ messages in thread From: Alexey Shabalin @ 2014-09-19 19:15 UTC (permalink / raw) To: ALT Linux Team development discussions 19 сентября 2014 г., 18:51 пользователь Mikhail Efremov <sem@altlinux.ru> написал: > On Tue, 2 Sep 2014 16:45:07 +0400 Mikhail Efremov wrote: >> On Mon, 1 Sep 2014 18:28:16 +0400 Денис Смирнов wrote: >> > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote: >> > >> > > 2) обеспечить работу logind под SysV >> > > - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: >> > > -------------------- >> > > if ! mountpoint -q /sys/fs/cgroup; then >> > > mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup >> > > fi >> > > if ! mountpoint -q /sys/fs/cgroup/systemd; then >> > > mkdir -p /sys/fs/cgroup/systemd >> > > mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd >> > > /sys/fs/cgroup/systemd >> > > fi >> > > mkdir -p /run/systemd >> > > exec /lib/systemd/systemd-logind >> > > ------------------------ >> > >> > Этот вариант лучше, чем что-либо патчить. >> >> Да, CK в любом случае мертв, насколько я понимаю. >> Я так и не собрался посмотреть подробнее, но при беглом взгляде похоже, >> что может сработать. > > Нет, при более внимательном рассмотрении там все плохо. > В systemd-logind слишком много завязано на сам systemd. > Не найдя dbus-интерфейс systemd он даже не запустится, да и потом он > обращается к systemd при логине пользователя для манипуляций с cgroups, > а также для выполнения shutdown/sleep. Надо подумать, можно ли с этим > что-то сделать. > К тому же, не знаю как с остальными демонами из systemd-services, но > для logind dbus-активация - плохая идея. Как минимум в Xfce есть патчи, > проверяющие наличие dbus-интерфейса logind. Если при этом logind вдруг > запустится, но выполнять все, что от него ожидается, не сможет (тот же > shutdown/sleep), то это просто перестанет работать. > Предлагаю убрать dbus-активацию для logind и вернуть проверку на > запущенный logind в pam_systemd, а если удастся-таки как-то заставить > его работать без systemd - написать для него честный инит-скрипт. Да, у меня эксперименты тоже не удались. Просторы интернета подсказали про systemd-shim. Будем пробовать или откатывать все изменения? -- Alexey Shabalin ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-19 19:15 ` Alexey Shabalin @ 2014-09-22 9:40 ` Mikhail Efremov 2014-09-23 10:08 ` Mikhail Efremov 0 siblings, 1 reply; 13+ messages in thread From: Mikhail Efremov @ 2014-09-22 9:40 UTC (permalink / raw) To: ALT Linux Team development discussions On Fri, 19 Sep 2014 23:15:22 +0400 Alexey Shabalin wrote: > 19 сентября 2014 г., 18:51 пользователь Mikhail Efremov > > Нет, при более внимательном рассмотрении там все плохо. > > В systemd-logind слишком много завязано на сам systemd. > > Не найдя dbus-интерфейс systemd он даже не запустится, да и потом он > > обращается к systemd при логине пользователя для манипуляций с > > cgroups, а также для выполнения shutdown/sleep. Надо подумать, > > можно ли с этим что-то сделать. > > К тому же, не знаю как с остальными демонами из systemd-services, но > > для logind dbus-активация - плохая идея. Как минимум в Xfce есть > > патчи, проверяющие наличие dbus-интерфейса logind. Если при этом > > logind вдруг запустится, но выполнять все, что от него ожидается, > > не сможет (тот же shutdown/sleep), то это просто перестанет > > работать. Предлагаю убрать dbus-активацию для logind и вернуть > > проверку на запущенный logind в pam_systemd, а если удастся-таки > > как-то заставить его работать без systemd - написать для него > > честный инит-скрипт. > > Да, у меня эксперименты тоже не удались. Просторы интернета подсказали > про systemd-shim. Будем пробовать или откатывать все изменения? Можно попробовать. Только я бы, прежде чем этот systemd-shim собирать, почитал бы его хорошенько. Надо понять, насколько хорошо он прикидывается systemd. Потенциально возможны проблемы, если кто-то обнаружит dbus-интерфейс systemd и захочет от systemd-shim чего-то такого, чего тот не умеет. -- WBR, Mikhail Efremov ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-22 9:40 ` Mikhail Efremov @ 2014-09-23 10:08 ` Mikhail Efremov 2014-09-26 8:08 ` Mikhail Efremov 0 siblings, 1 reply; 13+ messages in thread From: Mikhail Efremov @ 2014-09-23 10:08 UTC (permalink / raw) To: ALT Linux Team development discussions On Mon, 22 Sep 2014 13:40:28 +0400 Mikhail Efremov wrote: > On Fri, 19 Sep 2014 23:15:22 +0400 Alexey Shabalin wrote: > > 19 сентября 2014 г., 18:51 пользователь Mikhail Efremov > > > Нет, при более внимательном рассмотрении там все плохо. > > > В systemd-logind слишком много завязано на сам systemd. > > > Не найдя dbus-интерфейс systemd он даже не запустится, да и потом > > > он обращается к systemd при логине пользователя для манипуляций с > > > cgroups, а также для выполнения shutdown/sleep. Надо подумать, > > > можно ли с этим что-то сделать. > > > К тому же, не знаю как с остальными демонами из systemd-services, > > > но для logind dbus-активация - плохая идея. Как минимум в Xfce > > > есть патчи, проверяющие наличие dbus-интерфейса logind. Если при > > > этом logind вдруг запустится, но выполнять все, что от него > > > ожидается, не сможет (тот же shutdown/sleep), то это просто > > > перестанет работать. Предлагаю убрать dbus-активацию для logind и > > > вернуть проверку на запущенный logind в pam_systemd, а если > > > удастся-таки как-то заставить его работать без systemd - написать > > > для него честный инит-скрипт. > > > > Да, у меня эксперименты тоже не удались. Просторы интернета > > подсказали про systemd-shim. Будем пробовать или откатывать все > > изменения? > > Можно попробовать. Только я бы, прежде чем этот systemd-shim собирать, > почитал бы его хорошенько. Надо понять, насколько хорошо он > прикидывается systemd. Потенциально возможны проблемы, если кто-то > обнаружит dbus-интерфейс systemd и захочет от systemd-shim чего-то > такого, чего тот не умеет. Я, собственно, начал его неспешно собирать. Как соберу - расскажу что получилось. -- WBR, Mikhail Efremov ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-23 10:08 ` Mikhail Efremov @ 2014-09-26 8:08 ` Mikhail Efremov 2014-10-02 17:27 ` Mikhail Efremov 0 siblings, 1 reply; 13+ messages in thread From: Mikhail Efremov @ 2014-09-26 8:08 UTC (permalink / raw) To: ALT Linux Team development discussions On Tue, 23 Sep 2014 14:08:24 +0400 Mikhail Efremov wrote: > On Mon, 22 Sep 2014 13:40:28 +0400 Mikhail Efremov wrote: > > On Fri, 19 Sep 2014 23:15:22 +0400 Alexey Shabalin wrote: > > > 19 сентября 2014 г., 18:51 пользователь Mikhail Efremov > > > > Нет, при более внимательном рассмотрении там все плохо. > > > > В systemd-logind слишком много завязано на сам systemd. > > > > Не найдя dbus-интерфейс systemd он даже не запустится, да и > > > > потом он обращается к systemd при логине пользователя для > > > > манипуляций с cgroups, а также для выполнения shutdown/sleep. > > > > Надо подумать, можно ли с этим что-то сделать. > > > > К тому же, не знаю как с остальными демонами из > > > > systemd-services, но для logind dbus-активация - плохая идея. > > > > Как минимум в Xfce есть патчи, проверяющие наличие > > > > dbus-интерфейса logind. Если при этом logind вдруг запустится, > > > > но выполнять все, что от него ожидается, не сможет (тот же > > > > shutdown/sleep), то это просто перестанет работать. Предлагаю > > > > убрать dbus-активацию для logind и вернуть проверку на > > > > запущенный logind в pam_systemd, а если удастся-таки как-то > > > > заставить его работать без systemd - написать для него честный > > > > инит-скрипт. > > > > > > Да, у меня эксперименты тоже не удались. Просторы интернета > > > подсказали про systemd-shim. Будем пробовать или откатывать все > > > изменения? > > > > Можно попробовать. Только я бы, прежде чем этот systemd-shim > > собирать, почитал бы его хорошенько. Надо понять, насколько хорошо > > он прикидывается systemd. Потенциально возможны проблемы, если > > кто-то обнаружит dbus-интерфейс systemd и захочет от systemd-shim > > чего-то такого, чего тот не умеет. > > Я, собственно, начал его неспешно собирать. Как соберу - расскажу что > получилось. У меня это даже как-то заработало. В Сизиф пока не отправляю, там надо еще немного попилить. Но в целом выглядит вполне рабочим вариантом. -- WBR, Mikhail Efremov ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-26 8:08 ` Mikhail Efremov @ 2014-10-02 17:27 ` Mikhail Efremov 0 siblings, 0 replies; 13+ messages in thread From: Mikhail Efremov @ 2014-10-02 17:27 UTC (permalink / raw) To: devel On Fri, 26 Sep 2014 12:08:30 +0400 Mikhail Efremov wrote: > On Tue, 23 Sep 2014 14:08:24 +0400 Mikhail Efremov wrote: > > On Mon, 22 Sep 2014 13:40:28 +0400 Mikhail Efremov wrote: > > > On Fri, 19 Sep 2014 23:15:22 +0400 Alexey Shabalin wrote: > > > > 19 сентября 2014 г., 18:51 пользователь Mikhail Efremov > > > > > Нет, при более внимательном рассмотрении там все плохо. > > > > > В systemd-logind слишком много завязано на сам systemd. > > > > > Не найдя dbus-интерфейс systemd он даже не запустится, да и > > > > > потом он обращается к systemd при логине пользователя для > > > > > манипуляций с cgroups, а также для выполнения shutdown/sleep. > > > > > Надо подумать, можно ли с этим что-то сделать. > > > > > К тому же, не знаю как с остальными демонами из > > > > > systemd-services, но для logind dbus-активация - плохая идея. > > > > > Как минимум в Xfce есть патчи, проверяющие наличие > > > > > dbus-интерфейса logind. Если при этом logind вдруг запустится, > > > > > но выполнять все, что от него ожидается, не сможет (тот же > > > > > shutdown/sleep), то это просто перестанет работать. Предлагаю > > > > > убрать dbus-активацию для logind и вернуть проверку на > > > > > запущенный logind в pam_systemd, а если удастся-таки как-то > > > > > заставить его работать без systemd - написать для него честный > > > > > инит-скрипт. > > > > > > > > Да, у меня эксперименты тоже не удались. Просторы интернета > > > > подсказали про systemd-shim. Будем пробовать или откатывать все > > > > изменения? > > > > > > Можно попробовать. Только я бы, прежде чем этот systemd-shim > > > собирать, почитал бы его хорошенько. Надо понять, насколько хорошо > > > он прикидывается systemd. Потенциально возможны проблемы, если > > > кто-то обнаружит dbus-интерфейс systemd и захочет от systemd-shim > > > чего-то такого, чего тот не умеет. > > > > Я, собственно, начал его неспешно собирать. Как соберу - расскажу что > > получилось. > > У меня это даже как-то заработало. В Сизиф пока не отправляю, там надо > еще немного попилить. > Но в целом выглядит вполне рабочим вариантом. Отправил в Сизиф как есть, желающие могут поиграться. Нормально оно не работает, но кое-что позволяет. В частности не рекомендую использовать на Xfce, как минимум shutdown/sleep отвалятся (как я и говорил dbus-активация для systemd-logind - зло). - systemd-machined должен быть запущен (собственно важно существование каталога /run/systemd/machines/). - systemd-inhibit хорошо бы паковать вместе с systemd-logind. - основная проблема: loginctl show-user показывает, что State=opening. Из-за этого polkit много чего не разрешает. Видимо logind ждет, что systemd-shim сделает что-то, чего тот не умеет. Закрытие сеанса тоже не работает. -- WBR, Mikhail Efremov ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-01 13:02 [devel] polkit without systemd Alexey Shabalin 2014-09-01 14:28 ` Денис Смирнов @ 2014-09-01 16:21 ` Dmitry V. Levin 2014-09-01 16:45 ` Alexey Shabalin 1 sibling, 1 reply; 13+ messages in thread From: Dmitry V. Levin @ 2014-09-01 16:21 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1365 bytes --] On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote: > - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: > -------------------- > if ! mountpoint -q /sys/fs/cgroup; then > mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup > fi > if ! mountpoint -q /sys/fs/cgroup/systemd; then > mkdir -p /sys/fs/cgroup/systemd > mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd > /sys/fs/cgroup/systemd > fi > mkdir -p /run/systemd Проверьте, все ли здесь правильно с правами. Скорее всего, 0755 на /run/systemd - это неправильно. > exec /lib/systemd/systemd-logind > ------------------------ > > - в этом скрипте,при монтировании /sys/fs/cgroup, > /sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает > под systemd. Но из этого обмана надо исключить тех, кого мы обманывать > не хотим - service, chkconfig > service использует утилиту sd_booted. её лучше переписать, и научить > использовать функцию sd_booted из libsystemd (например так > http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c) После коммита http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118 в функции sd_booted из libsystemd осталась только одна проверка: test -d /run/systemd/system/ Наверное, мы тоже можем так сделать. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-01 16:21 ` Dmitry V. Levin @ 2014-09-01 16:45 ` Alexey Shabalin 2014-09-01 17:08 ` Dmitry V. Levin 0 siblings, 1 reply; 13+ messages in thread From: Alexey Shabalin @ 2014-09-01 16:45 UTC (permalink / raw) To: ALT Linux Team development discussions 1 сентября 2014 г., 20:21 пользователь Dmitry V. Levin <ldv@altlinux.org> написал: > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote: >> - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: >> -------------------- >> if ! mountpoint -q /sys/fs/cgroup; then >> mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup >> fi >> if ! mountpoint -q /sys/fs/cgroup/systemd; then >> mkdir -p /sys/fs/cgroup/systemd >> mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd >> /sys/fs/cgroup/systemd >> fi >> mkdir -p /run/systemd > > Проверьте, все ли здесь правильно с правами. > Скорее всего, 0755 на /run/systemd - это неправильно. # mount| grep /sys/fs/cgroup tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) в mount-setup.c это определено так: { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, NULL, MNT_FATAL|MNT_IN_CONTAINER }, >> exec /lib/systemd/systemd-logind >> ------------------------ >> >> - в этом скрипте,при монтировании /sys/fs/cgroup, >> /sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает >> под systemd. Но из этого обмана надо исключить тех, кого мы обманывать >> не хотим - service, chkconfig >> service использует утилиту sd_booted. её лучше переписать, и научить >> использовать функцию sd_booted из libsystemd (например так >> http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c) > > После коммита > http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118 > в функции sd_booted из libsystemd осталась только одна проверка: > test -d /run/systemd/system/ > Наверное, мы тоже можем так сделать. В общем я это и имел ввиду, проверять только /run/systemd/system. Только вдруг это изменится в будущем, поэтому и предложил линковаться с libsystemd. -- Alexey Shabalin ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-01 16:45 ` Alexey Shabalin @ 2014-09-01 17:08 ` Dmitry V. Levin 2014-09-01 17:20 ` Alexey Shabalin 0 siblings, 1 reply; 13+ messages in thread From: Dmitry V. Levin @ 2014-09-01 17:08 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 2443 bytes --] On Mon, Sep 01, 2014 at 08:45:51PM +0400, Alexey Shabalin wrote: > 1 сентября 2014 г., 20:21 пользователь Dmitry V. Levin > <ldv@altlinux.org> написал: > > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote: > >> - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: > >> -------------------- > >> if ! mountpoint -q /sys/fs/cgroup; then > >> mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup > >> fi > >> if ! mountpoint -q /sys/fs/cgroup/systemd; then > >> mkdir -p /sys/fs/cgroup/systemd > >> mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd > >> /sys/fs/cgroup/systemd > >> fi > >> mkdir -p /run/systemd > > > > Проверьте, все ли здесь правильно с правами. > > Скорее всего, 0755 на /run/systemd - это неправильно. > > # mount| grep /sys/fs/cgroup > tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) > cgroup on /sys/fs/cgroup/systemd type cgroup > (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) > cgroup on /sys/fs/cgroup/cpuset type cgroup > (rw,nosuid,nodev,noexec,relatime,cpuset) > > в mount-setup.c это определено так: > > { "tmpfs", "/sys/fs/cgroup", "tmpfs", > "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, > NULL, MNT_FATAL|MNT_IN_CONTAINER }, А какие права должны быть у /run/systemd? > >> exec /lib/systemd/systemd-logind > >> ------------------------ > >> > >> - в этом скрипте,при монтировании /sys/fs/cgroup, > >> /sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает > >> под systemd. Но из этого обмана надо исключить тех, кого мы обманывать > >> не хотим - service, chkconfig > >> service использует утилиту sd_booted. её лучше переписать, и научить > >> использовать функцию sd_booted из libsystemd (например так > >> http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c) > > > > После коммита > > http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118 > > в функции sd_booted из libsystemd осталась только одна проверка: > > test -d /run/systemd/system/ > > Наверное, мы тоже можем так сделать. > В общем я это и имел ввиду, проверять только /run/systemd/system. > Только вдруг это изменится в будущем, поэтому и предложил линковаться > с libsystemd. Не хочу линковаться с libsystemd. :) -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [devel] polkit without systemd 2014-09-01 17:08 ` Dmitry V. Levin @ 2014-09-01 17:20 ` Alexey Shabalin 0 siblings, 0 replies; 13+ messages in thread From: Alexey Shabalin @ 2014-09-01 17:20 UTC (permalink / raw) To: ALT Linux Team development discussions 1 сентября 2014 г., 21:08 пользователь Dmitry V. Levin <ldv@altlinux.org> написал: > On Mon, Sep 01, 2014 at 08:45:51PM +0400, Alexey Shabalin wrote: >> 1 сентября 2014 г., 20:21 пользователь Dmitry V. Levin >> <ldv@altlinux.org> написал: >> > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote: >> >> - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch: >> >> -------------------- >> >> if ! mountpoint -q /sys/fs/cgroup; then >> >> mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup >> >> fi >> >> if ! mountpoint -q /sys/fs/cgroup/systemd; then >> >> mkdir -p /sys/fs/cgroup/systemd >> >> mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd >> >> /sys/fs/cgroup/systemd >> >> fi >> >> mkdir -p /run/systemd >> > >> > Проверьте, все ли здесь правильно с правами. >> > Скорее всего, 0755 на /run/systemd - это неправильно. >> >> # mount| grep /sys/fs/cgroup >> tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) >> cgroup on /sys/fs/cgroup/systemd type cgroup >> (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) >> cgroup on /sys/fs/cgroup/cpuset type cgroup >> (rw,nosuid,nodev,noexec,relatime,cpuset) >> >> в mount-setup.c это определено так: >> >> { "tmpfs", "/sys/fs/cgroup", "tmpfs", >> "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, >> NULL, MNT_FATAL|MNT_IN_CONTAINER }, > > А какие права должны быть у /run/systemd? Извиняюсь, не то прислал. вот в mount-setup.c: /* Create a few directories we always want around, Note that * sd_booted() checks for /run/systemd/system, so this mkdir * really needs to stay for good, otherwise software that * copied sd-daemon.c into their sources will misdetect * systemd. */ mkdir_label("/run/systemd", 0755); mkdir_label("/run/systemd/system", 0755); mkdir_label("/run/systemd/inaccessible", 0000); а что смущает? какие должны быть? >> >> exec /lib/systemd/systemd-logind >> >> ------------------------ >> >> >> >> - в этом скрипте,при монтировании /sys/fs/cgroup, >> >> /sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает >> >> под systemd. Но из этого обмана надо исключить тех, кого мы обманывать >> >> не хотим - service, chkconfig >> >> service использует утилиту sd_booted. её лучше переписать, и научить >> >> использовать функцию sd_booted из libsystemd (например так >> >> http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c) >> > >> > После коммита >> > http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118 >> > в функции sd_booted из libsystemd осталась только одна проверка: >> > test -d /run/systemd/system/ >> > Наверное, мы тоже можем так сделать. >> В общем я это и имел ввиду, проверять только /run/systemd/system. >> Только вдруг это изменится в будущем, поэтому и предложил линковаться >> с libsystemd. > > Не хочу линковаться с libsystemd. :) > > > -- > ldv > > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel -- Alexey Shabalin ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-10-02 17:27 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-09-01 13:02 [devel] polkit without systemd Alexey Shabalin 2014-09-01 14:28 ` Денис Смирнов 2014-09-02 12:45 ` Mikhail Efremov 2014-09-19 14:51 ` Mikhail Efremov 2014-09-19 19:15 ` Alexey Shabalin 2014-09-22 9:40 ` Mikhail Efremov 2014-09-23 10:08 ` Mikhail Efremov 2014-09-26 8:08 ` Mikhail Efremov 2014-10-02 17:27 ` Mikhail Efremov 2014-09-01 16:21 ` Dmitry V. Levin 2014-09-01 16:45 ` Alexey Shabalin 2014-09-01 17:08 ` Dmitry V. Levin 2014-09-01 17:20 ` Alexey Shabalin
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