SlideShare ist ein Scribd-Unternehmen logo
1 von 60
SystemV vs systemd Slide 1 of 60
SystemV vs systemd
All Things Open
October, 2015
This presentation is taken from my class
“Theory and Practice of Linux System Administration”
SystemV vs systemd Slide 2 of 60
Legal Stuff
● Linux is a registered trademark of Linus Torvalds
● Red Hat is a registered trademark of Red Hat, Inc.
● Unix is a registered trademark of AT&T
● Other marks are the trademarks of their respective
owners
Copyright©
2015 David P. Both
Content licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International
license ("CC-BY-SA")
SystemV vs systemd Slide 3 of 60
David Both
dboth@millennium-technology.com
David.Both@OpenSource.com
RHCE, SCSA
SystemV vs systemd Slide 4 of 60
Introducing systemd
● Developed by
● Lennart Poettering
● Kay Sievers
● Objectives
● Fix outdated SystemV startup
● Start less
● Only daemons that are actually needed
● Start more in parallel
● Improve support for hotplug hardware
● Maintain compatibility with SystemV start scripts
SystemV vs systemd Slide 5 of 60
systemd Functions
● A system and service manager (manages
both the system and its services)
● A software platform (serves as a basis for
developing other software)
● The glue between applications and the
kernel (provides various interfaces that
expose functionalities provided by the
kernel)
SystemV vs systemd Slide 6 of 60
Strategy
● At least 2 ways to ensure that a service is
available when it is needed
● Keep track of all other services which may
need it and be sure to start things in the right
order
● Wait until some task tries to connect to the
service and start it on demand
● systemd takes the second approach
● Similar to MacOS launchd
SystemV vs systemd Slide 7 of 60
Implementation
● Create sockets for services
● Serialization during startup was due to
waiting for dependent services sockets to be
created
● When a connection request arrives on a
specific socket, the associated daemon is
started
● Detailed systemd information
● http://0pointer.de/blog/projects/systemd.html
● http://www.freedesktop.org/wiki/Software/systemd
SystemV vs systemd Slide 8 of 60
systemd by Release
● Started showing up in about Fedora 14
● Available as alternative
● Fedora 15
● First release with systemd as default
for many services
● Conversion essentially complete by
Fedora 17
● CentOS 7
SystemV vs systemd Slide 9 of 60
Benefits
● Speed startup
● Start as much in parallel as possible
● Only start what needs to be started
● Manage dynamic hardware hotplug
● Static hardware managed like dynamic
SystemV vs systemd Slide 10 of 60
systemd Pros and Cons
● Not portable
● Only works in Linux
● Opportunity to do things better for Linux
● More binary executables
● Faster
● Fewer shell scripts
● Less discoverable
● Open Source code
● ASCII Text configuration files
● Still provides openness
SystemV vs systemd Slide 11 of 60
Linux Boot Sequence
SystemV vs systemd Slide 12 of 60
BIOS POST
• Checks basic operability of hardware
• INT 13H Locates Boot Sector
• Boot Loader Stage 1
– GRUB
– LILO
SystemV vs systemd Slide 13 of 60
GRUB
• Stage 1 Loads GRUB Stage 1.5
– File system specific
• Loads Stage 2
• /boot/grub/grub.conf
SystemV vs systemd Slide 14 of 60
GRUB
● GRUB locates the kernel image and loads it
● Located in /boot
● Standard EXT3/4 partition
● Cannot be LVM
● Located at beginning of disk
● Usually loads an initrd image
● Select from multiple kernels
SystemV vs systemd Slide 15 of 60
grub.conf
●
Defines grub menu options
– Allows selection of boot kernel
– Edit kernel boot parameters
●
Specifies kernel boot parameters
●
Boot hard drive
SystemV vs systemd Slide 16 of 60
GRUB2
• Introduced in Fedora 16
• Command based pre-OS environment
• GRUB2 Locates the Kernel image and loads it
– Located in /boot/grub2
• Standard ext3/4 partition
• Cannot be LVM
• Located at beginning of disk
– May also load initrd image
– Multiple kernel
SystemV vs systemd Slide 17 of 60
Kernel
• Uncompresses itself into RAM
• Loads device drivers
• Mounts /
• Launches init or systemd
SystemV vs systemd Slide 18 of 60
Kernel Boot Messages
● Ring buffer
● Console
● dmesg command
● /var/log/messages
● grep kernel:
● /var/log/dmesg
● Discontinued with systemd
● Never used by many distros
● Timestamps in square braces
● Recent releases of Fedora
SystemV vs systemd Slide 19 of 60
Sample DMESG Log
[ 0.000000] NR_IRQS:2304
[ 0.000000] CPU 0 irqstacks, hard=f3c18000 soft=f3c1a000
[ 0.000000] Console: colour VGA+ 80x25
[ 0.000000] console [tty0] enabled
[ 0.000000] Fast TSC calibration failed
[ 0.000000] TSC: Unable to calibrate against PIT
[ 0.000000] TSC: HPET/PMTIMER calibration failed.
[ 0.000000] Marking TSC unstable due to could not calculate TSC khz
[ 0.016998] Calibrating delay loop... 2027.52 BogoMIPS (lpj=1013760)
[ 0.038997] pid_max: default: 32768 minimum: 301
[ 0.043996] Security Framework initialized
[ 0.043996] SELinux: Initializing.
[ 0.044996] SELinux: Starting in permissive mode
[ 0.049996] Mount-cache hash table entries: 512
[ 0.076993] Initializing cgroup subsys ns
[ 0.077993] ns_cgroup deprecated: consider using the 'clone_children'
flag without the ns_cgroup.
[ 0.077993] Initializing cgroup subsys cpuacct
[ 0.079993] Initializing cgroup subsys memory
[ 0.081992] Initializing cgroup subsys devices
[ 0.081992] Initializing cgroup subsys freezer
[ 0.082992] Initializing cgroup subsys net_cls
[ 0.082992] Initializing cgroup subsys blkio
[ 0.086992] mce: CPU supports 0 MCE banks
SystemV vs systemd Slide 20 of 60
Devices
● Device files located in /dev
● Previously all possible device files created at
installation
● Tens of thousands
● Most unused
● NOT device drivers
● Device file major/minor codes
● Assigned by Linux assigned names and numbers authority
(LANANA)
● Current device list can be found on web site
SystemV vs systemd Slide 21 of 60
Devices
● Enter udev
● Creates only as required – mostly
● Treats all devices as plug'n'pray
● Reduces /dev/chaos
● udev rules
SystemV vs systemd Slide 22 of 60
DBUS
● Inter-Process Communications (IPC)
● Daemon for kernel
● User space for applications
● New devices plugged in
● Triggers udev to create a new device file
● Application coordination
● Manage communications
● Multiple instances of one application
● Multiple different applications
● DBUS rules
SystemV vs systemd Slide 23 of 60
Linux Startup
SystemV vs systemd Slide 24 of 60
Boot vs Startup
●
Boot ends with loading the kernel and init or
systemd
●
Startup begins when the init or systemd process
takes control
●
init
●
The entire startup process is handled by scripts
●
systemd
●
Binary executables
●
Configuration files
●
Compatible with SystemV init scripts
SystemV vs systemd Slide 25 of 60
Upstart
●
Was to have replaced traditional start scripts
and /etc/inittab
●
/etc/init
●
Changeover started in some distros
– Fedora
– CentOS
– Ubuntu
●
Quickly superseded by systemd
SystemV vs systemd Slide 26 of 60
Traditional Startup
Using init and SystemV Start Scripts
SystemV vs systemd Slide 27 of 60
/sbin/init
● ELF Binary
● Controls Linux initialization and runlevel startup
● Mother of all processes
● PID #1
SystemV vs systemd Slide 28 of 60
Startup Files
• Configuration files
– /etc/inittab
– /etc/fstab
• Log Files
– /var/log/dmesg
– /var/log/boot.log
SystemV vs systemd Slide 29 of 60
/etc/inittab
• Defines runlevels 0 through 6
• Specifies default runlevel
• gettys for defined runlevels
• Ctrl-Alt-Del action
• UPS power failure actions
– Rarely used
SystemV vs systemd Slide 30 of 60
inittab 1
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have
networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
SystemV vs systemd Slide 31 of 60
inittab 2
#
id:5:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
●
SystemV vs systemd Slide 32 of 60
inittab 3
# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting
Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown
Cancelled"
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon
SystemV vs systemd Slide 33 of 60
/etc/fstab
●
Common to all startup systems
●
Specifies disk partitions to mount
●
Some directories must be part of / (root)
– /etc
– /dev
– /bin
– /sbin
– /lib
– /usr
• For only a couple releases of Fedora
SystemV vs systemd Slide 34 of 60
Typical fstab
#
# /etc/fstab
# Created by anaconda on Thu Jun 9 15:15:28 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_instructor-root / ext4 defaults 1 1
UUID=d1a58f39-5002-4150-933b-131fecb106c5 /boot ext4 defaults 1 2
/dev/mapper/vg_instructor-home /home ext4 defaults 1 2
/dev/mapper/vg_instructor-tmp /tmp btrfs defaults 1 2
/dev/mapper/vg_instructor-usr /usr ext4 defaults 1 2
/dev/mapper/vg_instructor-var /var ext4 defaults 1 2
/dev/mapper/vg_instructor-swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
SystemV vs systemd Slide 35 of 60
Another fstab
/dev/mapper/vg_david1-root       /                   ext4    defaults        1 1
/dev/mapper/vg_david2-Virtual    /Virtual            ext4    defaults        1 2
#UUID=d352f5a0-f399-4d9c-b46f-02dd81dca3f8 /boot     ext4    defaults        1 2
#/dev/sda1                       /boot     ext4    defaults        1 2
LABEL=/boot                      /boot               ext4    defaults        1 2
/dev/mapper/vg_david2-home       /home               ext4    defaults        1 2
/dev/mapper/vg_david2-stuff      /stuff              ext4    defaults        1 2
/dev/mapper/vg_david1-tmp        /tmp                ext4    defaults        1 2
/dev/mapper/vg_david1-usr        /usr                ext4    defaults        1 2
/dev/mapper/vg_david1-usrlocal   /usr/local          ext4    defaults        1 2
/dev/mapper/vg_david2-var        /var                ext4    defaults        1 2
/dev/mapper/vg_david1-swap       swap                swap    defaults        0 0
# Various USB HDDs
# Using labels makes it possible to mount at the same location consistently
LABEL=WD-500GB-USB      /media/WD-500GB-USB     ext4   auto,owner,user,defaults  0 0
LABEL=Iomega-1TB-USB    /media/Iomega-1TB-USB   ext4   auto,owner,user,defaults  0 0
LABEL=Iomega-160GB-USB  /media/Iomega-160GB-USB ext4   auto,owner,user,defaults  0 0
tmpfs                   /dev/shm                tmpfs  defaults        0 0
devpts                  /dev/pts                devpts gid=5,mode=620  0 0
sysfs                   /sys                    sysfs  defaults        0 0
proc                    /proc                   proc   defaults        0 0
SystemV vs systemd Slide 36 of 60
/etc/rc.d/rc.sysinit
• Bash script started by init
• Manages other startup processes
– Set hostname
– Start SELINUX
– Set the clock
– Load modular kernel device driver modules
• /etc/modprobe.conf
– Remount / as rw
– Mount other file systems
– Sets quotas
– etc...
SystemV vs systemd Slide 37 of 60
/etc/rc.d/rc
• Bash script
• Started by init after rc.sysinit ends
• Changes runlevels
• rc scripts
SystemV vs systemd Slide 38 of 60
Start Scripts
• /etc/rc.d/init.d
• /etc/rcX.d
– Links
– K = Kill
– S = Start
• service command
– service <service name> start|stop|
restart|status|reload ...
SystemV vs systemd Slide 39 of 60
SystemV Runlevels
0 Poweroff
1,S,s Single User
2 Multi-user, no NFS
3 Normal, multi-user with NFS
4 Unused but basically same as 3
5 GUI
6 Reboot
SystemV vs systemd Slide 40 of 60
Runlevels
• /etc/rc.d/rc
– Script to change runlevels
– Kill scripts first
– Then Start scripts
• rc scripts in /etc/init.d
• K or S links in /etc/rc.d/rcX.d
– Links to directories in /etc/init.d
SystemV vs systemd Slide 41 of 60
Runlevel Management
SystemV
• init or telinit
● Change runlevel now
• chkconfig
● For persistent configuration
• The service command
● Turn on/off now
● Default runlevel
● /etc/inittab
SystemV vs systemd Slide 42 of 60
Startup
Using systemd
SystemV vs systemd Slide 43 of 60
systemd Units
● Service
● Most obvious kind of unit
● Daemons that can be started, stopped, restarted, reloaded
● For compatibility can also read classic SysV init
scripts
● In particular parse the LSB header, if it exists
● /etc/init.d is just another source of configuration
SystemV vs systemd Slide 44 of 60
systemd Units
● Socket
● Encapsulates a socket in the file-system or on
the Internet
● Currently support AF_INET, AF_INET6, AF_UNIX
sockets of the types stream, datagram, and sequential
packet
● Classic FIFOs as transport
SystemV vs systemd Slide 45 of 60
systemd Units
● Each socket unit has a matching service unit
● Service started when the first connection comes in on the
socket or FIFO
● Example: nscd.socket starts nscd.service on an incoming
connection
● Sockets can be viewed with netstat command
SystemV vs systemd Slide 46 of 60
systemd Units
● Device
● Encapsulates a device in the Linux device tree
● If a device is marked for this via udev rules, it
will be exposed as a device unit in systemd
● Properties set with udev can be used as
configuration source to set dependencies for
device units
SystemV vs systemd Slide 47 of 60
systemd Units
● Mount
● Encapsulates a mount point in the file system
hierarchy
● systemd monitors all mount points, how they come and
go, and can also be used to mount or unmount mount-
points
● /etc/fstab used as an additional configuration
source for mount points
● similar to how SysV init scripts can be used as additional
configuration source for service units.
SystemV vs systemd Slide 48 of 60
systemd Units
● Automount
● Encapsulates an automount point in the file
system hierarchy
● Each automount unit has a matching mount unit,
which is started (i.e. mounted) as soon as the
automount directory is accessed
SystemV vs systemd Slide 49 of 60
systemd Units
● Target
● Logical grouping of units
● Instead of actually doing anything by itself it simply
references other units, which are controlled together
● Examples for this are:
● multi-user.target equivalent to run-level 3 on classic SysV system
● bluetooth.target pulls in bluetooth related services that otherwise would not
need to be started: bluetoothd and obexd, etc.
● graphical.target depends upon multi-user.target
SystemV vs systemd Slide 50 of 60
systemd Units
● Snapshot
● Similar to target units
● Snapshots do not actually do anything themselves
● Purpose is to reference other units
● Save/rollback the state of services and units of the init
system
● Two intended use cases
● Allow the user to temporarily enter a specific state such as
"Emergency Shell"
● Ease support for system suspending
SystemV vs systemd Slide 51 of 60
Control Groups
● cgroups define groups of processes
● Process aggregation
● Control of cgroups
● Resource allocation
● Runaway process spawn
● /cgroup directory
● Let me know if you find anything here
● /sys/fs/cgroup/systemd/
● /proc/<PID>/cgroup
SystemV vs systemd Slide 52 of 60
systemd
● Configuration
● /etc/systemd
● Modify here
● /lib/systemd
● Don't change this
● Management
● systemctl
● init command is softlink to systemd
● The service command still works for many
services
● Redirected through systemd
SystemV vs systemd Slide 53 of 60
systemctl Command
● List running units
● systemctl
● List all units
● systemctl -a list-units
● Start and stop
● systemctl start|stop <target>
● Display device status
● systemctl status udisks2.service
● Disable startup of a service
● systemctl disable telnet.service
SystemV vs systemd Slide 54 of 60
systemctl
systemctl -a
systemctl stop|start cups.service
SystemV vs systemd Slide 55 of 60
cgroups
● Cgroup tree
● systemd-cgls
● System slice
● User slice
● PS with Cgroups
● ps xawf -eo pid,user,cgroup,args
SystemV vs systemd Slide 56 of 60
systemd Targets
● Default
● Symlink to the desired run target
● /etc/systemd/system/default.target
● multiuser
● multi-user.target
● graphical
● graphical.target
● Still has target runlevels 0-6
● /lib/systemd/system
● Runlevels 2,3,4 all point to multi-user.target
SystemV vs systemd Slide 57 of 60
systemd Targets
● Single User
● Recovery mode
● Somewhat more functionality than SystemV runlevel 1 or
Single User mode
SystemV vs systemd Slide 58 of 60
Target related commands
● List all targets
● systemctl list­units –type=target
● Set default target
● systemctl set­default <name of 
target>.target
● Display current default target
● systemctl get­default
SystemV vs systemd Slide 59 of 60
Changing the Default Target
● systemctl set­default <name of 
target>.target
● ln ­sf /lib/systemd/system/runlevel5.target 
/etc/systemd/system/default.target
● ln ­sf /lib/systemd/system/multi­
user.target 
/etc/systemd/system/default.target
● ln ­sf /lib/systemd/system/graphical.target 
/etc/systemd/system/default.target
SystemV vs systemd Slide 60 of 60
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yoctoAlex Gonzalez
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringGeorg Schönberger
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linuxsureskal
 
eBPF Perf Tools 2019
eBPF Perf Tools 2019eBPF Perf Tools 2019
eBPF Perf Tools 2019Brendan Gregg
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven RostedtKernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven RostedtAnne Nicolas
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introductionYi-Hsiu Hsu
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBshimosawa
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveAlison Chaiken
 
Kvm and libvirt
Kvm and libvirtKvm and libvirt
Kvm and libvirtplarsen67
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep diveTrinath Somanchi
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingTushar B Kute
 
Launch the First Process in Linux System
Launch the First Process in Linux SystemLaunch the First Process in Linux System
Launch the First Process in Linux SystemJian-Hong Pan
 

Was ist angesagt? (20)

Linux boot process
Linux boot processLinux boot process
Linux boot process
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and Monitoring
 
Qemu
QemuQemu
Qemu
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
eBPF Perf Tools 2019
eBPF Perf Tools 2019eBPF Perf Tools 2019
eBPF Perf Tools 2019
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven RostedtKernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
Linux
LinuxLinux
Linux
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to love
 
Linux Kernel Live Patching
Linux Kernel Live PatchingLinux Kernel Live Patching
Linux Kernel Live Patching
 
Kvm and libvirt
Kvm and libvirtKvm and libvirt
Kvm and libvirt
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module Programming
 
Launch the First Process in Linux System
Launch the First Process in Linux SystemLaunch the First Process in Linux System
Launch the First Process in Linux System
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 

Andere mochten auch

Javascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and GulpJavascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and GulpAll Things Open
 
Systemd for developers
Systemd for developersSystemd for developers
Systemd for developersAlison Chaiken
 
The New Process No. 1 of Linux -- SystemD
The New Process No. 1 of Linux -- SystemDThe New Process No. 1 of Linux -- SystemD
The New Process No. 1 of Linux -- SystemDfreedman6022e20
 
Systemd evolution revolution_regression
Systemd evolution revolution_regressionSystemd evolution revolution_regression
Systemd evolution revolution_regressionSusant Sahani
 
Systemd mlug-20140614
Systemd mlug-20140614Systemd mlug-20140614
Systemd mlug-20140614Susant Sahani
 
Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemdJulien Pivotto
 
CLUG 2010 09 - systemd - the new init system
CLUG 2010 09 - systemd - the new init systemCLUG 2010 09 - systemd - the new init system
CLUG 2010 09 - systemd - the new init systemPaulWay
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration managementJulien Pivotto
 
Understanding Open Source Licenses
Understanding Open Source LicensesUnderstanding Open Source Licenses
Understanding Open Source LicensesAll Things Open
 
Graphs are Eating the World
Graphs are Eating the WorldGraphs are Eating the World
Graphs are Eating the WorldAll Things Open
 
How To Get Your Next Job as a Developer
How To Get Your Next Job as a DeveloperHow To Get Your Next Job as a Developer
How To Get Your Next Job as a DeveloperAll Things Open
 
How Companies can Effectively Work with Open Source Communities
How Companies can Effectively Work with Open Source CommunitiesHow Companies can Effectively Work with Open Source Communities
How Companies can Effectively Work with Open Source CommunitiesAll Things Open
 
Student Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSStudent Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSAll Things Open
 
Building the Right Platform Architecture for Hadoop
Building the Right Platform Architecture for HadoopBuilding the Right Platform Architecture for Hadoop
Building the Right Platform Architecture for HadoopAll Things Open
 

Andere mochten auch (20)

Javascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and GulpJavascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and Gulp
 
Move Over, Rsync
Move Over, RsyncMove Over, Rsync
Move Over, Rsync
 
Systemd for developers
Systemd for developersSystemd for developers
Systemd for developers
 
DevOps for Managers
DevOps for ManagersDevOps for Managers
DevOps for Managers
 
The New Process No. 1 of Linux -- SystemD
The New Process No. 1 of Linux -- SystemDThe New Process No. 1 of Linux -- SystemD
The New Process No. 1 of Linux -- SystemD
 
Hablemos de Systemd
Hablemos de SystemdHablemos de Systemd
Hablemos de Systemd
 
Systemd evolution revolution_regression
Systemd evolution revolution_regressionSystemd evolution revolution_regression
Systemd evolution revolution_regression
 
Systemd mlug-20140614
Systemd mlug-20140614Systemd mlug-20140614
Systemd mlug-20140614
 
Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemd
 
CLUG 2010 09 - systemd - the new init system
CLUG 2010 09 - systemd - the new init systemCLUG 2010 09 - systemd - the new init system
CLUG 2010 09 - systemd - the new init system
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentation
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration management
 
Pdf c1t tlawaxb
Pdf c1t tlawaxbPdf c1t tlawaxb
Pdf c1t tlawaxb
 
Understanding Open Source Licenses
Understanding Open Source LicensesUnderstanding Open Source Licenses
Understanding Open Source Licenses
 
Graphs are Eating the World
Graphs are Eating the WorldGraphs are Eating the World
Graphs are Eating the World
 
How To Get Your Next Job as a Developer
How To Get Your Next Job as a DeveloperHow To Get Your Next Job as a Developer
How To Get Your Next Job as a Developer
 
How Companies can Effectively Work with Open Source Communities
How Companies can Effectively Work with Open Source CommunitiesHow Companies can Effectively Work with Open Source Communities
How Companies can Effectively Work with Open Source Communities
 
The Power of Openness
The Power of OpennessThe Power of Openness
The Power of Openness
 
Student Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSStudent Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSS
 
Building the Right Platform Architecture for Hadoop
Building the Right Platform Architecture for HadoopBuilding the Right Platform Architecture for Hadoop
Building the Right Platform Architecture for Hadoop
 

Ähnlich wie SystemV vs systemd

LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager Alison Chaiken
 
Grub and dracut ii
Grub and dracut iiGrub and dracut ii
Grub and dracut iiplarsen67
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embeddedAlison Chaiken
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013dotCloud
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Docker, Inc.
 
Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!All Things Open
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Peter Martin
 
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Jian-Hong Pan
 
A3Sec Advanced Deployment System
A3Sec Advanced Deployment SystemA3Sec Advanced Deployment System
A3Sec Advanced Deployment Systema3sec
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawnGábor Nyers
 
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo..."Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...Yandex
 
Linux Crash Dump Capture and Analysis
Linux Crash Dump Capture and AnalysisLinux Crash Dump Capture and Analysis
Linux Crash Dump Capture and AnalysisPaul V. Novarese
 
What you most likely did not know about sudo…
What you most likely did not know about sudo…What you most likely did not know about sudo…
What you most likely did not know about sudo…All Things Open
 
Android crash debugging
Android crash debuggingAndroid crash debugging
Android crash debuggingAshish Agrawal
 
Advanced Diagnostics 2
Advanced Diagnostics 2Advanced Diagnostics 2
Advanced Diagnostics 2Aero Plane
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightSyed Moneeb
 
Linux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactLinux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactAlessandro Selli
 
NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)Ryo ONODERA
 

Ähnlich wie SystemV vs systemd (20)

LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager
 
Grub and dracut ii
Grub and dracut iiGrub and dracut ii
Grub and dracut ii
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embedded
 
Linux Booting Process
Linux Booting ProcessLinux Booting Process
Linux Booting Process
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
 
Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)
 
Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021Let's trace Linux Lernel with KGDB @ COSCUP 2021
Let's trace Linux Lernel with KGDB @ COSCUP 2021
 
A3Sec Advanced Deployment System
A3Sec Advanced Deployment SystemA3Sec Advanced Deployment System
A3Sec Advanced Deployment System
 
An Introduction To Linux
An Introduction To LinuxAn Introduction To Linux
An Introduction To Linux
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawn
 
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo..."Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
 
Linux Crash Dump Capture and Analysis
Linux Crash Dump Capture and AnalysisLinux Crash Dump Capture and Analysis
Linux Crash Dump Capture and Analysis
 
What you most likely did not know about sudo…
What you most likely did not know about sudo…What you most likely did not know about sudo…
What you most likely did not know about sudo…
 
Android crash debugging
Android crash debuggingAndroid crash debugging
Android crash debugging
 
Advanced Diagnostics 2
Advanced Diagnostics 2Advanced Diagnostics 2
Advanced Diagnostics 2
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylight
 
Linux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactLinux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compact
 
NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)
 

Mehr von All Things Open

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityAll Things Open
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best PracticesAll Things Open
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public PolicyAll Things Open
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...All Things Open
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashAll Things Open
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptAll Things Open
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?All Things Open
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractAll Things Open
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlowAll Things Open
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and SuccessAll Things Open
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with BackgroundAll Things Open
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblyAll Things Open
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksAll Things Open
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptAll Things Open
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramAll Things Open
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceAll Things Open
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamAll Things Open
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in controlAll Things Open
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsAll Things Open
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...All Things Open
 

Mehr von All Things Open (20)

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
 

Kürzlich hochgeladen

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

SystemV vs systemd

  • 1. SystemV vs systemd Slide 1 of 60 SystemV vs systemd All Things Open October, 2015 This presentation is taken from my class “Theory and Practice of Linux System Administration”
  • 2. SystemV vs systemd Slide 2 of 60 Legal Stuff ● Linux is a registered trademark of Linus Torvalds ● Red Hat is a registered trademark of Red Hat, Inc. ● Unix is a registered trademark of AT&T ● Other marks are the trademarks of their respective owners Copyright© 2015 David P. Both Content licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International license ("CC-BY-SA")
  • 3. SystemV vs systemd Slide 3 of 60 David Both dboth@millennium-technology.com David.Both@OpenSource.com RHCE, SCSA
  • 4. SystemV vs systemd Slide 4 of 60 Introducing systemd ● Developed by ● Lennart Poettering ● Kay Sievers ● Objectives ● Fix outdated SystemV startup ● Start less ● Only daemons that are actually needed ● Start more in parallel ● Improve support for hotplug hardware ● Maintain compatibility with SystemV start scripts
  • 5. SystemV vs systemd Slide 5 of 60 systemd Functions ● A system and service manager (manages both the system and its services) ● A software platform (serves as a basis for developing other software) ● The glue between applications and the kernel (provides various interfaces that expose functionalities provided by the kernel)
  • 6. SystemV vs systemd Slide 6 of 60 Strategy ● At least 2 ways to ensure that a service is available when it is needed ● Keep track of all other services which may need it and be sure to start things in the right order ● Wait until some task tries to connect to the service and start it on demand ● systemd takes the second approach ● Similar to MacOS launchd
  • 7. SystemV vs systemd Slide 7 of 60 Implementation ● Create sockets for services ● Serialization during startup was due to waiting for dependent services sockets to be created ● When a connection request arrives on a specific socket, the associated daemon is started ● Detailed systemd information ● http://0pointer.de/blog/projects/systemd.html ● http://www.freedesktop.org/wiki/Software/systemd
  • 8. SystemV vs systemd Slide 8 of 60 systemd by Release ● Started showing up in about Fedora 14 ● Available as alternative ● Fedora 15 ● First release with systemd as default for many services ● Conversion essentially complete by Fedora 17 ● CentOS 7
  • 9. SystemV vs systemd Slide 9 of 60 Benefits ● Speed startup ● Start as much in parallel as possible ● Only start what needs to be started ● Manage dynamic hardware hotplug ● Static hardware managed like dynamic
  • 10. SystemV vs systemd Slide 10 of 60 systemd Pros and Cons ● Not portable ● Only works in Linux ● Opportunity to do things better for Linux ● More binary executables ● Faster ● Fewer shell scripts ● Less discoverable ● Open Source code ● ASCII Text configuration files ● Still provides openness
  • 11. SystemV vs systemd Slide 11 of 60 Linux Boot Sequence
  • 12. SystemV vs systemd Slide 12 of 60 BIOS POST • Checks basic operability of hardware • INT 13H Locates Boot Sector • Boot Loader Stage 1 – GRUB – LILO
  • 13. SystemV vs systemd Slide 13 of 60 GRUB • Stage 1 Loads GRUB Stage 1.5 – File system specific • Loads Stage 2 • /boot/grub/grub.conf
  • 14. SystemV vs systemd Slide 14 of 60 GRUB ● GRUB locates the kernel image and loads it ● Located in /boot ● Standard EXT3/4 partition ● Cannot be LVM ● Located at beginning of disk ● Usually loads an initrd image ● Select from multiple kernels
  • 15. SystemV vs systemd Slide 15 of 60 grub.conf ● Defines grub menu options – Allows selection of boot kernel – Edit kernel boot parameters ● Specifies kernel boot parameters ● Boot hard drive
  • 16. SystemV vs systemd Slide 16 of 60 GRUB2 • Introduced in Fedora 16 • Command based pre-OS environment • GRUB2 Locates the Kernel image and loads it – Located in /boot/grub2 • Standard ext3/4 partition • Cannot be LVM • Located at beginning of disk – May also load initrd image – Multiple kernel
  • 17. SystemV vs systemd Slide 17 of 60 Kernel • Uncompresses itself into RAM • Loads device drivers • Mounts / • Launches init or systemd
  • 18. SystemV vs systemd Slide 18 of 60 Kernel Boot Messages ● Ring buffer ● Console ● dmesg command ● /var/log/messages ● grep kernel: ● /var/log/dmesg ● Discontinued with systemd ● Never used by many distros ● Timestamps in square braces ● Recent releases of Fedora
  • 19. SystemV vs systemd Slide 19 of 60 Sample DMESG Log [ 0.000000] NR_IRQS:2304 [ 0.000000] CPU 0 irqstacks, hard=f3c18000 soft=f3c1a000 [ 0.000000] Console: colour VGA+ 80x25 [ 0.000000] console [tty0] enabled [ 0.000000] Fast TSC calibration failed [ 0.000000] TSC: Unable to calibrate against PIT [ 0.000000] TSC: HPET/PMTIMER calibration failed. [ 0.000000] Marking TSC unstable due to could not calculate TSC khz [ 0.016998] Calibrating delay loop... 2027.52 BogoMIPS (lpj=1013760) [ 0.038997] pid_max: default: 32768 minimum: 301 [ 0.043996] Security Framework initialized [ 0.043996] SELinux: Initializing. [ 0.044996] SELinux: Starting in permissive mode [ 0.049996] Mount-cache hash table entries: 512 [ 0.076993] Initializing cgroup subsys ns [ 0.077993] ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup. [ 0.077993] Initializing cgroup subsys cpuacct [ 0.079993] Initializing cgroup subsys memory [ 0.081992] Initializing cgroup subsys devices [ 0.081992] Initializing cgroup subsys freezer [ 0.082992] Initializing cgroup subsys net_cls [ 0.082992] Initializing cgroup subsys blkio [ 0.086992] mce: CPU supports 0 MCE banks
  • 20. SystemV vs systemd Slide 20 of 60 Devices ● Device files located in /dev ● Previously all possible device files created at installation ● Tens of thousands ● Most unused ● NOT device drivers ● Device file major/minor codes ● Assigned by Linux assigned names and numbers authority (LANANA) ● Current device list can be found on web site
  • 21. SystemV vs systemd Slide 21 of 60 Devices ● Enter udev ● Creates only as required – mostly ● Treats all devices as plug'n'pray ● Reduces /dev/chaos ● udev rules
  • 22. SystemV vs systemd Slide 22 of 60 DBUS ● Inter-Process Communications (IPC) ● Daemon for kernel ● User space for applications ● New devices plugged in ● Triggers udev to create a new device file ● Application coordination ● Manage communications ● Multiple instances of one application ● Multiple different applications ● DBUS rules
  • 23. SystemV vs systemd Slide 23 of 60 Linux Startup
  • 24. SystemV vs systemd Slide 24 of 60 Boot vs Startup ● Boot ends with loading the kernel and init or systemd ● Startup begins when the init or systemd process takes control ● init ● The entire startup process is handled by scripts ● systemd ● Binary executables ● Configuration files ● Compatible with SystemV init scripts
  • 25. SystemV vs systemd Slide 25 of 60 Upstart ● Was to have replaced traditional start scripts and /etc/inittab ● /etc/init ● Changeover started in some distros – Fedora – CentOS – Ubuntu ● Quickly superseded by systemd
  • 26. SystemV vs systemd Slide 26 of 60 Traditional Startup Using init and SystemV Start Scripts
  • 27. SystemV vs systemd Slide 27 of 60 /sbin/init ● ELF Binary ● Controls Linux initialization and runlevel startup ● Mother of all processes ● PID #1
  • 28. SystemV vs systemd Slide 28 of 60 Startup Files • Configuration files – /etc/inittab – /etc/fstab • Log Files – /var/log/dmesg – /var/log/boot.log
  • 29. SystemV vs systemd Slide 29 of 60 /etc/inittab • Defines runlevels 0 through 6 • Specifies default runlevel • gettys for defined runlevels • Ctrl-Alt-Del action • UPS power failure actions – Rarely used
  • 30. SystemV vs systemd Slide 30 of 60 inittab 1 # # inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> # Modified for RHS Linux by Marc Ewing and Donnie Barnes # # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this)
  • 31. SystemV vs systemd Slide 31 of 60 inittab 2 # id:5:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now ●
  • 32. SystemV vs systemd Slide 32 of 60 inittab 3 # When our UPS tells us power has failed, assume we have a few minutes # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 # Run xdm in runlevel 5 x:5:respawn:/etc/X11/prefdm -nodaemon
  • 33. SystemV vs systemd Slide 33 of 60 /etc/fstab ● Common to all startup systems ● Specifies disk partitions to mount ● Some directories must be part of / (root) – /etc – /dev – /bin – /sbin – /lib – /usr • For only a couple releases of Fedora
  • 34. SystemV vs systemd Slide 34 of 60 Typical fstab # # /etc/fstab # Created by anaconda on Thu Jun 9 15:15:28 2011 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_instructor-root / ext4 defaults 1 1 UUID=d1a58f39-5002-4150-933b-131fecb106c5 /boot ext4 defaults 1 2 /dev/mapper/vg_instructor-home /home ext4 defaults 1 2 /dev/mapper/vg_instructor-tmp /tmp btrfs defaults 1 2 /dev/mapper/vg_instructor-usr /usr ext4 defaults 1 2 /dev/mapper/vg_instructor-var /var ext4 defaults 1 2 /dev/mapper/vg_instructor-swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
  • 35. SystemV vs systemd Slide 35 of 60 Another fstab /dev/mapper/vg_david1-root       /                   ext4    defaults        1 1 /dev/mapper/vg_david2-Virtual    /Virtual            ext4    defaults        1 2 #UUID=d352f5a0-f399-4d9c-b46f-02dd81dca3f8 /boot     ext4    defaults        1 2 #/dev/sda1                       /boot     ext4    defaults        1 2 LABEL=/boot                      /boot               ext4    defaults        1 2 /dev/mapper/vg_david2-home       /home               ext4    defaults        1 2 /dev/mapper/vg_david2-stuff      /stuff              ext4    defaults        1 2 /dev/mapper/vg_david1-tmp        /tmp                ext4    defaults        1 2 /dev/mapper/vg_david1-usr        /usr                ext4    defaults        1 2 /dev/mapper/vg_david1-usrlocal   /usr/local          ext4    defaults        1 2 /dev/mapper/vg_david2-var        /var                ext4    defaults        1 2 /dev/mapper/vg_david1-swap       swap                swap    defaults        0 0 # Various USB HDDs # Using labels makes it possible to mount at the same location consistently LABEL=WD-500GB-USB      /media/WD-500GB-USB     ext4   auto,owner,user,defaults  0 0 LABEL=Iomega-1TB-USB    /media/Iomega-1TB-USB   ext4   auto,owner,user,defaults  0 0 LABEL=Iomega-160GB-USB  /media/Iomega-160GB-USB ext4   auto,owner,user,defaults  0 0 tmpfs                   /dev/shm                tmpfs  defaults        0 0 devpts                  /dev/pts                devpts gid=5,mode=620  0 0 sysfs                   /sys                    sysfs  defaults        0 0 proc                    /proc                   proc   defaults        0 0
  • 36. SystemV vs systemd Slide 36 of 60 /etc/rc.d/rc.sysinit • Bash script started by init • Manages other startup processes – Set hostname – Start SELINUX – Set the clock – Load modular kernel device driver modules • /etc/modprobe.conf – Remount / as rw – Mount other file systems – Sets quotas – etc...
  • 37. SystemV vs systemd Slide 37 of 60 /etc/rc.d/rc • Bash script • Started by init after rc.sysinit ends • Changes runlevels • rc scripts
  • 38. SystemV vs systemd Slide 38 of 60 Start Scripts • /etc/rc.d/init.d • /etc/rcX.d – Links – K = Kill – S = Start • service command – service <service name> start|stop| restart|status|reload ...
  • 39. SystemV vs systemd Slide 39 of 60 SystemV Runlevels 0 Poweroff 1,S,s Single User 2 Multi-user, no NFS 3 Normal, multi-user with NFS 4 Unused but basically same as 3 5 GUI 6 Reboot
  • 40. SystemV vs systemd Slide 40 of 60 Runlevels • /etc/rc.d/rc – Script to change runlevels – Kill scripts first – Then Start scripts • rc scripts in /etc/init.d • K or S links in /etc/rc.d/rcX.d – Links to directories in /etc/init.d
  • 41. SystemV vs systemd Slide 41 of 60 Runlevel Management SystemV • init or telinit ● Change runlevel now • chkconfig ● For persistent configuration • The service command ● Turn on/off now ● Default runlevel ● /etc/inittab
  • 42. SystemV vs systemd Slide 42 of 60 Startup Using systemd
  • 43. SystemV vs systemd Slide 43 of 60 systemd Units ● Service ● Most obvious kind of unit ● Daemons that can be started, stopped, restarted, reloaded ● For compatibility can also read classic SysV init scripts ● In particular parse the LSB header, if it exists ● /etc/init.d is just another source of configuration
  • 44. SystemV vs systemd Slide 44 of 60 systemd Units ● Socket ● Encapsulates a socket in the file-system or on the Internet ● Currently support AF_INET, AF_INET6, AF_UNIX sockets of the types stream, datagram, and sequential packet ● Classic FIFOs as transport
  • 45. SystemV vs systemd Slide 45 of 60 systemd Units ● Each socket unit has a matching service unit ● Service started when the first connection comes in on the socket or FIFO ● Example: nscd.socket starts nscd.service on an incoming connection ● Sockets can be viewed with netstat command
  • 46. SystemV vs systemd Slide 46 of 60 systemd Units ● Device ● Encapsulates a device in the Linux device tree ● If a device is marked for this via udev rules, it will be exposed as a device unit in systemd ● Properties set with udev can be used as configuration source to set dependencies for device units
  • 47. SystemV vs systemd Slide 47 of 60 systemd Units ● Mount ● Encapsulates a mount point in the file system hierarchy ● systemd monitors all mount points, how they come and go, and can also be used to mount or unmount mount- points ● /etc/fstab used as an additional configuration source for mount points ● similar to how SysV init scripts can be used as additional configuration source for service units.
  • 48. SystemV vs systemd Slide 48 of 60 systemd Units ● Automount ● Encapsulates an automount point in the file system hierarchy ● Each automount unit has a matching mount unit, which is started (i.e. mounted) as soon as the automount directory is accessed
  • 49. SystemV vs systemd Slide 49 of 60 systemd Units ● Target ● Logical grouping of units ● Instead of actually doing anything by itself it simply references other units, which are controlled together ● Examples for this are: ● multi-user.target equivalent to run-level 3 on classic SysV system ● bluetooth.target pulls in bluetooth related services that otherwise would not need to be started: bluetoothd and obexd, etc. ● graphical.target depends upon multi-user.target
  • 50. SystemV vs systemd Slide 50 of 60 systemd Units ● Snapshot ● Similar to target units ● Snapshots do not actually do anything themselves ● Purpose is to reference other units ● Save/rollback the state of services and units of the init system ● Two intended use cases ● Allow the user to temporarily enter a specific state such as "Emergency Shell" ● Ease support for system suspending
  • 51. SystemV vs systemd Slide 51 of 60 Control Groups ● cgroups define groups of processes ● Process aggregation ● Control of cgroups ● Resource allocation ● Runaway process spawn ● /cgroup directory ● Let me know if you find anything here ● /sys/fs/cgroup/systemd/ ● /proc/<PID>/cgroup
  • 52. SystemV vs systemd Slide 52 of 60 systemd ● Configuration ● /etc/systemd ● Modify here ● /lib/systemd ● Don't change this ● Management ● systemctl ● init command is softlink to systemd ● The service command still works for many services ● Redirected through systemd
  • 53. SystemV vs systemd Slide 53 of 60 systemctl Command ● List running units ● systemctl ● List all units ● systemctl -a list-units ● Start and stop ● systemctl start|stop <target> ● Display device status ● systemctl status udisks2.service ● Disable startup of a service ● systemctl disable telnet.service
  • 54. SystemV vs systemd Slide 54 of 60 systemctl systemctl -a systemctl stop|start cups.service
  • 55. SystemV vs systemd Slide 55 of 60 cgroups ● Cgroup tree ● systemd-cgls ● System slice ● User slice ● PS with Cgroups ● ps xawf -eo pid,user,cgroup,args
  • 56. SystemV vs systemd Slide 56 of 60 systemd Targets ● Default ● Symlink to the desired run target ● /etc/systemd/system/default.target ● multiuser ● multi-user.target ● graphical ● graphical.target ● Still has target runlevels 0-6 ● /lib/systemd/system ● Runlevels 2,3,4 all point to multi-user.target
  • 57. SystemV vs systemd Slide 57 of 60 systemd Targets ● Single User ● Recovery mode ● Somewhat more functionality than SystemV runlevel 1 or Single User mode
  • 58. SystemV vs systemd Slide 58 of 60 Target related commands ● List all targets ● systemctl list­units –type=target ● Set default target ● systemctl set­default <name of  target>.target ● Display current default target ● systemctl get­default
  • 59. SystemV vs systemd Slide 59 of 60 Changing the Default Target ● systemctl set­default <name of  target>.target ● ln ­sf /lib/systemd/system/runlevel5.target  /etc/systemd/system/default.target ● ln ­sf /lib/systemd/system/multi­ user.target  /etc/systemd/system/default.target ● ln ­sf /lib/systemd/system/graphical.target  /etc/systemd/system/default.target
  • 60. SystemV vs systemd Slide 60 of 60 Thank you