Service Management
Linux systems rely on services and daemons which are background processes that keep the system alive and responsive. Some guard the gates (network services), others feed the people (web servers), and some heal the wounded (system utilities).
To master Linux, you must learn to command these warriors with authority, ensuring availability, security, and performance.
Services & Daemons
- Service: A service is a program that runs in the background, often without direct user interaction, to provide functionality to the system or other applications
- Daemon: A special type of service that waits for events or performs tasks continuously. By convention, daemon names often end with โdโ (e.g.,
sshd,httpd,crond).
| # | Service / Category | Description |
|---|---|---|
| 1 | Networking | Services like SSH, FTP, HTTP. |
| 2 | Scheduling | Cron jobs and automated tasks. |
| 3 | Logging & Monitoring | System logs, monitoring tools. |
| 4 | Database Management | Services for databases like MySQL, PostgreSQL. |
Service Management
You must learn to command the warriors using systemctl (systemdโs spellbook):
| # | Command | Purpose |
|---|---|---|
| 1 | systemctl start servicename | Start a service immediately. |
| 2 | systemctl stop servicename | Stop a running service. |
| 3 | systemctl restart servicename | Restart a service. |
| 4 | systemctl enable servicename | Enable service to start at boot. |
| 5 | systemctl disable servicename | Prevent service from starting at boot. |
| 6 | systemctl status servicename | Check service status. |
systemctl and journalctl, administrators can start, stop, monitor, and troubleshoot services, ensuring the system runs reliably and securely.Anatomy of systemd
The anatomy of systemd refers to its internal structure: it is the init system and service manager in modern Linux, starting as process PID 1 after the kernel boots.
It organizes system resources using units, manages dependencies, provides logging, and integrates tightly with the Linux kernel to control services, sockets, devices, and timer.
- Unit Files: Scrolls that define how warriors (services) behave
- Targets: Groups of services (like runlevels in SysVinit)
- Logs: Managed by
journalctl, recording every action of the warriors
| # | Component | Role |
|---|---|---|
| 1 | PID 1 process | First user-space process, manages system lifecycle. |
| 2 | Unit files | Define services, sockets, devices, timers, targets. |
| 3 | Dependency management | Ensures correct startup order. |
| 4 | Parallelization | Starts services simultaneously for faster boot. |
| 5 | Journald | Centralized logging system. |
| 6 | Cgroups | Resource control and monitoring. |
/etc/systemd/system/ or /lib/systemd/system/. Each unit file specifies how the service starts, stops, and restarts.Legacy Init Systems
Before systemd, Linux used:
- SysVinit: Managed services with scripts in
/etc/init.d/ - Upstart: Event-driven init system used in older Ubuntu versions
Why Services Rocks?
| # | Aspect | Description |
|---|---|---|
| 1 | Automation | Handle repetitive tasks without user input. |
| 2 | Availability | Keep critical functions (networking, web hosting) running continuously. |
| 3 | Security | Control access (e.g. SSH service). |
| 4 | Monitoring | Provide logs and metrics for system health. |
Practical Exercises
# List all active services
systemctl list-units --type=service
# Enable Apache service at boot
sudo systemctl enable apache2
# Start and stop Apache service
sudo systemctl start apache2
sudo systemctl stop apache2
# Check SSH service status
systemctl status sshHackers Quest - Mini Project
Create a Service Command Journal:
- Install a service (e.g. Apache or Nginx).
- Start, stop, and restart it.
- Enable it to run at boot.
- Document each command in your journal.
Hackers Notebook
The Arena of Services is filled with warriors who fight tirelessly for the kingdom. Some guard the gates, others feed the people, and some heal the wounded. To master Linux, you must not only summon these warriors but also command them wisely.
