Beyond Init: Systemd Linux.Conf.Au 2011
Total Page:16
File Type:pdf, Size:1020Kb
Beyond Init: systemd linux.conf.au 2011 Lennart Poettering January 2011 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, 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, 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, compatible with SysV and LSB init scripts. Lennart Poettering Beyond Init: systemd 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, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, Lennart Poettering Beyond Init: systemd 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, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, Lennart Poettering Beyond Init: systemd 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, 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, Lennart Poettering Beyond Init: systemd 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, 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, Lennart Poettering Beyond Init: systemd 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, 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, Lennart Poettering Beyond Init: systemd 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, 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 Lennart Poettering Beyond Init: systemd It can work as a drop-in replacement for sysvinit." \systemd is a system and session manager for Linux, 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. Lennart Poettering Beyond Init: systemd \systemd is a system and session manager for Linux, 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." Lennart Poettering Beyond Init: systemd init(8) Lennart Poettering Beyond Init: systemd Parallelization Lennart Poettering Beyond Init: systemd Lennart Poettering Beyond Init: systemd The kernel orders and buffers requests for us! Implicit dependencies! Patching daemons Socket-Based Activation Lennart Poettering Beyond Init: systemd Implicit dependencies! Patching daemons Socket-Based Activation The kernel orders and buffers requests for us! Lennart Poettering Beyond Init: systemd Patching daemons Socket-Based Activation The kernel orders and buffers requests for us! Implicit dependencies! Lennart Poettering Beyond Init: systemd Socket-Based Activation The kernel orders and buffers requests for us! Implicit dependencies! Patching daemons Lennart Poettering Beyond Init: systemd Bus-Based Activation Lennart Poettering Beyond Init: systemd Starting Less: On-Demand Loading Lennart Poettering Beyond Init: systemd autofs! Parallelizing File System Jobs Lennart Poettering Beyond Init: systemd Parallelizing File System Jobs autofs! Lennart Poettering Beyond Init: systemd Move to systemd, daemons, kernel, udev, . Provide proper debugging facilities Shell is evil Lennart Poettering Beyond Init: systemd Provide proper debugging facilities Shell is evil Move to systemd, daemons, kernel, udev, . Lennart Poettering Beyond Init: systemd Shell is evil Move to systemd, daemons, kernel, udev, . Provide proper debugging facilities Lennart Poettering Beyond Init: systemd Control Groups! The best babysitter. Lennart Poettering Beyond Init: systemd The best babysitter. Control Groups! Lennart Poettering Beyond Init: systemd Environment, resource limits, working directory, chroot(), umask, OOM adjustment, nice level, IO priority and class, CPU scheduler priority and policy/reset-on-fork, CPU affinity, timer slack, stdio to syslog/tty/null/kmsg, uid, gid, supplementary groups, file system namespacing (r/o file systems, inaccessible systems, mount propagation, private /tmp), capabilities (inherited set, bounding set, secure bits), . The best babysitter II Lennart Poettering Beyond Init: systemd The best babysitter II Environment, resource limits, working directory, chroot(), umask, OOM adjustment, nice level, IO priority and class, CPU scheduler priority and policy/reset-on-fork, CPU affinity, timer slack, stdio to syslog/tty/null/kmsg, uid, gid, supplementary groups, file system namespacing (r/o file systems, inaccessible systems, mount propagation, private /tmp), capabilities (inherited set, bounding set, secure bits), . Lennart Poettering Beyond Init: systemd Unit types: service, socket, device, mount, automount, target, snapshot, timer, swap, path Lennart Poettering Beyond Init: systemd Read SysV/LSB init script headers, read /etc/fstab, support traditional inetd modes, support /dev/initctl, utmp, wtmp, support double-fork()ing daemons. .desktop files. Don't reinvent the wheel: Lennart Poettering Beyond Init: systemd .desktop files. Don't reinvent the wheel: Read SysV/LSB init script headers, read /etc/fstab, support traditional inetd modes, support /dev/initctl, utmp, wtmp, support double-fork()ing daemons. Lennart Poettering Beyond Init: systemd Don't reinvent the wheel: Read SysV/LSB init script headers, read /etc/fstab, support traditional inetd modes, support /dev/initctl, utmp, wtmp, support double-fork()ing daemons. .desktop files. Lennart Poettering Beyond Init: systemd Snapshots Lennart Poettering Beyond Init: systemd Transaction System Lennart Poettering Beyond Init: systemd D-Bus! Lennart Poettering Beyond Init: systemd systemadm Lennart Poettering Beyond Init: systemd systemd for cross-distribution standardization systemd as basic OS building block Lennart Poettering Beyond Init: systemd systemd as basic OS building block systemd for cross-distribution standardization Lennart Poettering Beyond Init: systemd Substantial coverage of basic OS boot-up tasks, including fsck, mount, quota,