On Mon, Sep 01, 2014 at 08:45:51PM +0400, Alexey Shabalin wrote: > 1 сентября 2014 г., 20:21 пользователь Dmitry V. Levin > написал: > > 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