Day 7 Task:

Understanding package manager and systemctl

Package Manager: A package manager is a tool used in Linux distributions to simplify the process of installing, updating, configuring, and removing software packages. It automates the management of software dependencies and ensures that the installed software is consistent and up to date.

There are several package managers available in Linux, each associated with specific distributions:

  • APT (Advanced Package Tool): Used in Debian-based distributions like Ubuntu.

  • YUM (Yellowdog Updater Modified): Found in Red Hat-based distributions like Fedora and CentOS.

  • DNF (Dandified YUM): Successor to YUM, used in newer versions of Fedora and CentOS.

  • Pacman: Utilized in Arch Linux and its derivatives like Manjaro.

  • ZYpp: Used in SUSE Linux Enterprise, openSUSE, and related distributions.

Package managers maintain repositories containing software packages, which can be either official repositories provided by the distribution's maintainers or third-party repositories managed by the community or specific organizations. Users can easily install software from these repositories using commands provided by the package manager, such as apt install, yum install, pacman -S, etc.

systemctl: systemctl is a command-line utility used to manage systemd, the init system and service manager for modern Linux distributions. systemd is responsible for initializing the system, managing services, and handling system processes. systemctl allows users to control various aspects of systemd, including services, sockets, targets, timers, and more.

Common systemctl commands include:

  • systemctl start <service>: Start a service.

  • systemctl stop <service>: Stop a service.

  • systemctl restart <service>: Restart a service.

  • systemctl enable <service>: Enable a service to start automatically at boot.

  • systemctl disable <service>: Disable a service from starting automatically at boot.

  • systemctl status <service>: Check the status of a service.

  • systemctl list-unit-files: List all available unit files (services, sockets, timers, etc.).

Using systemctl, administrators can manage system services efficiently, troubleshoot startup issues, and ensure the smooth operation of their Linux systems.

In summary, package managers simplify software management by handling installation and updates, while systemctl provides control over system services and processes, contributing to the overall stability and functionality of Linux distributions.

systemctl and systemd

systemctl is used to examine and control the state of “systemd” system and service manager. systemd is system and service manager for Unix like operating systems(most of the distributions, not all).

sudo systemctl status docker