Beyond Init: Systemd Linux Plumbers Conference 2010
Total Page:16
File Type:pdf, Size:1020Kb
Beyond Init: systemd Linux Plumbers Conference 2010 Kay Sievers Lennart Poettering November 2010 Kay Sievers, Lennart Poettering Beyond Init: systemd Triggers: Boot, Socket, Bus, Device, Path, Timers, More Kay Sievers, Lennart Poettering Beyond Init: systemd Kay Sievers, Lennart Poettering Beyond Init: systemd Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Kay Sievers, Lennart Poettering Beyond Init: systemd including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, Kay Sievers, Lennart Poettering Beyond Init: systemd mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, Kay Sievers, Lennart Poettering Beyond Init: systemd quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, Kay Sievers, Lennart Poettering Beyond Init: systemd hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, Kay Sievers, Lennart Poettering Beyond Init: systemd readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, Kay Sievers, Lennart Poettering Beyond Init: systemd tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, Kay Sievers, Lennart Poettering Beyond Init: systemd random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, Kay Sievers, Lennart Poettering Beyond Init: systemd console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, Kay Sievers, Lennart Poettering Beyond Init: systemd static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, Kay Sievers, Lennart Poettering Beyond Init: systemd early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, Kay Sievers, Lennart Poettering Beyond Init: systemd plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, Kay Sievers, Lennart Poettering Beyond Init: systemd shutdown, kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, Kay Sievers, Lennart Poettering Beyond Init: systemd kexec, SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, Kay Sievers, Lennart Poettering Beyond Init: systemd SELinux, initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, Kay Sievers, Lennart Poettering Beyond Init: systemd initrd+initrd-less boots. Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, Kay Sievers, Lennart Poettering Beyond Init: systemd Status: almost made Fedora 14. Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota, hwclock, readahead, tmpfiles, random-seed, console, static module loading, early syslog, plymouth, shutdown, kexec, SELinux, initrd+initrd-less boots. Kay Sievers, Lennart Poettering Beyond Init: systemd Lots of room for improvement. Status: 7s on openSUSE. Less than 18s on full-featured Fedora. (SSD) Kay Sievers, Lennart Poettering Beyond Init: systemd Status: 7s on openSUSE. Less than 18s on full-featured Fedora. (SSD) Lots of room for improvement. Kay Sievers, Lennart Poettering Beyond Init: systemd Adoption: Fedora, openSUSE, Debian, Gentoo, ArchLinux, . Kay Sievers, Lennart Poettering Beyond Init: systemd read-only root, session manager, automatic initrd fallback. Storage Assembly Daemon? Next: Fedora 15. cryptsetup, Kay Sievers, Lennart Poettering Beyond Init: systemd session manager, automatic initrd fallback. Storage Assembly Daemon? Next: Fedora 15. cryptsetup, read-only root, Kay Sievers, Lennart Poettering Beyond Init: systemd automatic initrd fallback. Storage Assembly Daemon? Next: Fedora 15. cryptsetup, read-only root, session manager, Kay Sievers, Lennart Poettering Beyond Init: systemd Storage Assembly Daemon? Next: Fedora 15. cryptsetup, read-only root, session manager, automatic initrd fallback. Kay Sievers, Lennart Poettering Beyond Init: systemd Next: Fedora 15. cryptsetup, read-only root, session manager, automatic initrd fallback. Storage Assembly Daemon? Kay Sievers, Lennart Poettering Beyond Init: systemd Analogous XDG RUNTIME DIR. As session manager: Redefine D-Bus session bus: Be honest, give up on multiple graphical logins per user, per machine. Don't claim D-Bus was attached to Display. To reallow multiple session per home dir, per machine, attach multiple displays to bus, differentiate by bus name suffix. Redefine session as time from first login to last logout. Kay Sievers, Lennart Poettering Beyond Init: systemd As session manager: Redefine D-Bus session bus: Be honest, give up on multiple graphical logins per user, per machine. Don't claim D-Bus was attached to Display. To reallow multiple session per home dir, per machine, attach multiple displays to bus, differentiate by bus name suffix. Redefine session as time from first login to last logout. Analogous XDG RUNTIME DIR. Kay Sievers, Lennart Poettering Beyond Init: systemd Relation to gnome-session? Handling of KDE style dlopen()-exec()? Handling of gdm/kiosk problem? Handling of user services when nobody is logged in? Or, introduce additional user bus? Kay Sievers, Lennart Poettering Beyond Init: systemd Handling of KDE style dlopen()-exec()? Handling of gdm/kiosk problem? Handling of user services when nobody is logged in? Or, introduce additional user bus? Relation to gnome-session? Kay Sievers, Lennart Poettering Beyond Init: systemd Handling of gdm/kiosk problem? Handling of user services when nobody is logged in? Or, introduce additional user bus? Relation to gnome-session? Handling of KDE style dlopen()-exec()? Kay Sievers, Lennart Poettering Beyond Init: systemd Handling of user services when nobody is logged in? Or, introduce additional user bus? Relation to gnome-session? Handling of KDE style dlopen()-exec()? Handling of gdm/kiosk problem? Kay Sievers, Lennart Poettering Beyond Init: systemd Or, introduce additional user bus? Relation to gnome-session? Handling of KDE style dlopen()-exec()? Handling of gdm/kiosk problem? Handling of user services when nobody is logged in? Kay Sievers, Lennart Poettering Beyond Init: systemd compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit." \systemd is a system and session manager for Linux, Kay Sievers, Lennart Poettering Beyond Init: systemd systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons,