<< ---------------------------------------------------------------- >>
--- Last Modified: $= dv.current().file.mtime
Startup command basically
<< ---------------------------------------------------------------- >>
SystemD (INIT) basics
pid 1 and stays running, loads, starts, stops system services. Also has the abilit to run timers, logging and on demand activation to save system resources. Its the default init for most modern linux distributions.
Systemd vs System V
system v is the original linux init system adapted from unix systems. execution is linear. executes one command after another, with the introduction of multi core processing, it needed a replacement.
Systemd is goal oriented, it works toward a goal when booting and therefore can adapt to things like some services taking too long.
Systemd jobs are units, and units are activated by when a target is reached(event)
Unit Types:
- Service units (.service)
- manage lifecycel of system services, daemons, startup, shutdown and restart behavior
- Socket units - .socket
- define network sockets or IPC - inter process communication - that can activate services upon receiving connections or data
- Target units - .target
- synchronization points during the boot process or for grouping other units. similar to run levels
- Device units - .device
- represent kernel-managed devices and can be used to manage device specific actions or dependencies
- Mount units - .mount
- units manage file system mount points, defining how and where file systems are mounted.
- Automount units - .automount
- define mount points that are auto mounted on demand when accessed rather than at boot time
- Swap units - .swap
- manage swap files or partitions, controlling activation and deactivation
- Path units - .path
- monitor specific file system paths and can trigger the activation of other units when changes occur in those paths - eg a file is created or modified
- Timer units - .timer
- define timers similar to Cron Jobs but managed by systemd
- Snapshot units - .snapshot
- represent snapshots of current systemd state, allowing for potential rollback
- Slice units - .slice
- used for resource management through linux
- Control Groups - cgroups
- allows for allocation and restriction of resources to processes
- scope units (.scope): these units are used to manage groups of externally created processes, providing a way to monitor and control them within systemds framework
systemctl
creates sysmlinks between startup services?, basically runs the scripts one after another?? is my understanding so far