Ubuntu linux system management

Correct Way of Using Ubuntu systemctl to Control Systemd

Managing a service or group of services in a modern Linux PC can be a drag, that is, if you’re not sure what you’re doing. Lucky for you, Ubuntu Systemctl has you covered to manage services on a Linux PC.

In this tutorial, you will learn how to manage Systemd services on Ubuntu PC by running different systemctl commands.

Prerequisites

This tutorial will be a hands-on demonstration but doesn’t require special tools, so long as you’re on Ubuntu 16 or higher version, you’re good to go. This tutorial uses Ubuntu 20.04.3 LTS version for the demos.

What is Ubuntu Systemctl?

Before running Ubuntu systemctl commands, get to know what Systemctl is first. Systemctl is a command-line utility to control and manage systemd and system services.

In a nutshell, Systemctl is a control panel or service manager for the systemd init system to initialize components after the Linux kernel is booted. Systemctl is a collection of libraries, daemons, and utilities that you can use to manage services.

To effectively manage services, know the different service states as follow:

  • Enabled – indicates a service is configured to start when the system boots.
  • Disabled – indicates a service is configured not to start when the system boots.
  • Active – indicates a service is currently in running state.
  • Inactive – indicates a service is not currently running but may start when some application tries to start that service.

Listing All Services

Now that you know the different states of services, perhaps you want to see a list of all the services on your Ubuntu PC. Listing all services provides a handful of information that prepares you for managing services.

Open your terminal and run the below command to list all the service units ( list-units ) (active, running, exited, or failed) with the service set as unit type ( —type=service ).

systemctl list-units --type=service

Pick any of the services from the list you want to manage later in this tutorial and note the UNIT name (e.g., apache2). Hit the spacebar to scroll down, or hit the “Q” key to exit the command.

By the way, here’s a good guide on Linux Shell Scripting.

Listing All Services (active, running, exited, or failed)

Listing Services with Specific State

Instead of listing all services, perhaps you want to narrow down the list of services. If so, adding the —state parameter will do the trick, as it filters out the services with the specific state you specify.

Run either of the commands below to list all active services ( —type=service —state=active ), both running and exited.

systemctl list-units --type=service --state=active

Listing Services on

Similarly, to list only exited or running services, change the state value from active to either running or exited , as shown in the below commands:

systemctl --type=service --state=running systemctl --type=service --state=exited

Listing Services on

Listing Services on

Listing Enabled Services

Apart from listing active, running, and exited services, you can also list enabled and disabled services by pipelining the grep command.

Читайте также:  Назначение прав доступа линукс

Run either of the commands below to list ( list-unit-files ) disabled or enabled services ( —type=service ).

## Lists all Enabled services systemctl list-unit-files --type=service | grep enabled ## Lists all Disabled services systemctl list-unit-files --type=service | grep disabled

Take note of an enabled service, as shown below, as you’ll need it later for disabling a service, but this tutorial uses the acpid.service for demo. The acpid is an extensible daemon that supports the Advanced Configuration and Power Interface (ACPI) events.

Listing Enabled Services

Listing Service Properties

Aside from listing services, you may want to check a service’s properties. Having insight into service properties is handy for troubleshooting, parameters for the process, or restart behavior.

Run the command below to show a service’s ( acpid.service ) properties in a key=value format.

systemctl show acpid.service

Showing Service Properties

Now, if you’re only looking for a specific service property, you can pass the -p flag with the property name.

Run the below command to show a service’s ( acpid.service ) MainPID property.

systemctl show acpid.service -p MainPID

Showing Specific Service Property

Managing a Specific Service

Since the basics of listing services are out of the way, it’s time to manage a specific (single) service by running the systemctl stop and start commands.

Apache service (apache2) is used for the following demos, but you may freely manage the service you noted in the “Listing All Services” section. But before you stop or start a service, you first need to verify the service’s status.

Run the below command on a terminal to view the apache2 service’s detailed information like its status .

Below, you can see that the apache2 service is active and running.

Viewing apache2 Service Status

Entering the sudo password is not needed for viewing service status as you are not changing the service state. But if you start, stop or restart a service, you have to prepend the sudo command and enter the sudo password.

Stopping a Service

Perhaps you want to stop a service that was left hanging and still running in the background. In that case, the systemctl stop command is what you need. Run the systemctl command below to stop the apache2 service.

sudo systemctl stop apache2

If you prefer to stop multiple services simultaneously, specify each service separated by space, like this: sudo systemctl stop sshd apache2 . In this command, you’ll stop both sshd and apache2 services in one go.

Now run the systemctl status command as you did previously to verify if the apache2 service stopped.

You can see below that the status of the apache2 service changed to inactive (dead), which indicates the service stopped.

Verifying if apache2 Service is Stopped

Starting a Service

Now how do you start a service if you noticed it’s not running at all? You run a command similar to stopping service, which is the systemctl start command. Run the below command to start the apache2 service.

sudo systemctl start apache2

Like stopping multiple services, you can also start multiple services in a single line of command. Replace the stop command with the start command like this: sudo systemctl start sshd apache2

Now run the systemctl status command one more time to verify if the apache2 service is running.

Читайте также:  Linux how to know my architecture

If you see the active (running) status, as shown below, then you’re all set as the service is back in business.

Starting apache2 service

If you prefer to restart the service right off the bat without having to stop it first. If so, go for the systemctl restart command instead, like this: sudo systemctl restart apache2

Enabling or Disabling a Service

Perhaps there’s a particular service you prefer to either start or prevent to start on system boot. If so, running the systemctl enable or disable command is the best approach.

The enable subcommand lets you configure the default startup settings on your system, while the disable subcommand prevents a service from running on system boot.

Run the systemctl command below to disable the service ( acpid.service ) you noted in the “Listing Enabled Services” section. Enter your sudo password to authorize running the command.

sudo systemctl disable acpid.service

Disabling a Service

Now since acpid.service supports OS-directed configuration and Power Management (OSPM); you need to re-enable it. The command to enable service is similar to disabling a service.

Execute the systemctl command below to enable acpid.service . This command registers the service back to default startup settings on your system.

sudo systemctl enable acpid.service

Enabling a Service

Conclusion

In this tutorial, you’ve realized how quickly you can stop, start or restart services by running Ubuntu systemctl commands. You’ve also learned that the systemctl command lets you manage not just one but multiple services simultaneously.

With this newfound knowledge, why not automate controlling services in your Ubuntu system?

Hate ads? Want to support the writer? Get many of our tutorials packaged as an ATA Guidebook.

Источник

Comment gérer les services système Ubuntu Linux avec Systemctl?

En technologie, les services sont des programmes qui s’exécutent en arrière-plan, hors de contrôle et de l’interface utilisateur / ordinateur. Ils sont également connus sous le nom de démons et sont chargés d’aider le reste des programmes du système. Apprenez à gérer les services système Ubuntu Linux avec Systemctl.

Les services offrent plus de sécurité et sont essentiels au fonctionnement de l’ensemble du système d’exploitation. Celles-ci démarrent au démarrage de l’ordinateur et peuvent répondre aux demandes sur le réseau ou surveiller l’exécution des processus système.

Si vous disposez d’un ordinateur doté de deux systèmes d’exploitation, vous pouvez modifier l’ordre de démarrage de Grub dans Ubuntu Linux.

Systemd et Systemctl

C’est l’administrateur de tous les services Linux, et Systemctl en est une commande spéciale. Celui-ci sera chargé de démarrer tous les éléments qui doivent être chargés une fois le système démarré. Il s’agit d’un ensemble de démons et d’outils conçus pour la configuration et l’interaction avec le noyau Linux.

Systemd est comme le parent des processus, puisque son objectif principal est d’unir toutes les distributions et configurations de base. Il a été créé pour remplacer l’ancien système SysV, allant au-delà des tâches de démarrage.

En plus du gestionnaire de programmes Systemctl, pour accélérer le fonctionnement de vos programmes, il est recommandé de libérer de l’ espace sur votre disque dur pour avoir plus de capacité.

Fonctionnalités Systemd

  • Il a considérablement amélioré sa vitesse au début du programme. En outre, il active les services via «Sockets» qui est une interface de programmation d’application (API).
  • Vous pouvez faire des enregistrements via «Cgroups» de tous ces services et programmes qui ont été démarrés. Systemd est livré avec des packages prédéfinis, vous pouvez donc exécuter et gérer plusieurs démons en parallèle.
Читайте также:  Linux зачем нужен загрузчик grub

Systemd est utilisé par la plupart des programmes proposés par Linux par défaut. De Fedora, Red Hat et Debian à Arch. Et, avec la commande Systemctl, en plus de fournir des informations sur l’état de Systemd et la gestion des exécutions, vous pouvez gérer les services système Ubuntu Linux avec Systemctl.

Gérer les services système Ubuntu Linux avec Systemctl

Avec Systemctl, vous pouvez démarrer et arrêter un programme, recharger, activer et désactiver des services, entre autres. Pour commencer à gérer les services système Ubuntu Linux avec Systemctl, vous devez vous assurer de l’avoir sur votre système.

Sur Internet, vous pouvez rechercher et télécharger tous les programmes dont vous avez besoin pour votre ordinateur.

Pour ce faire, ouvrez la fenêtre «Terminal» et exécutez la commande » Systemd – version » avec cela vous pouvez connaître le numéro de la version installée sur votre système Linux.

Démons ou services Systemctl

  • Systemd – analyser , vous permet de voir la progression du démarrage du système. En plus de ses qualités telles que le temps qu’il a fallu pour démarrer et les processus qui ont ajouté du temps à cette startup. Pour voir chaque processus individuellement, utilisez la commande » Systemd – analyser les défauts «.
  • » Systemctl list-unit-files » est une commande utilisée pour visualiser les sections de fichiers ou d’unités. Ceci est fait parce que Systemd utilise des services, des points de montage et des périphériques. Ainsi, avec cette commande, vous pouvez voir chacun d’eux et comment ils ont fonctionné.
  • » Systemctl list-unit-files – type = service » est utilisé pour savoir quels services ou démons ont été et sont activés et quels autres ne l’ont pas été. C’est assez similaire à la commande précédente, mais dans celle-ci, l’option d’afficher uniquement la liste des services est ajoutée.

D’autres commandes peuvent être, «Systemctl is – active» est utilisé pour savoir quel service est en cours d’exécution. «Systemctl is – enable» est pour les démons qui sont activés ou ceux qui démarrent automatiquement avec le système.

  • Avec » Systemctl is – failed «, vous pourrez savoir si un problème est survenu au début d’un service. Si le service ne fonctionne pas, vous recevrez un message à l’écran avec le mot «Échec». En cas d’avoir été pour des raisons inconnues, le message sera «Inconnu» ou «Inactif».

Avec cela, vous savez déjà que Systemd a un grand nombre de commandes, même d’autres qui remplissent des fonctions plus complexes. Vous pouvez même redémarrer, mettre le système en veille prolongée et même surveiller le flux d’énergie consommée. C’est un bon début pour vous de gérer les services système Ubuntu Linux avec Systemctl.

Tout comme le programme Systemctl vous permet de démarrer et d’arrêter un programme, vous pouvez également programmer votre système d’exploitation Linux pour planifier la mise sous et hors tension.

Источник

Оцените статью
Adblock
detector