Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

Systemd

Page mise à jour le 30/03/2023 13:33

Vous êtes dans un espace restreint en écriture.

systemd est une suite de blocs de construction de base pour un système Linux. Il fournit un gestionnaire de système et de service qui s'exécute en tant que PID 1 et démarre le reste du système. systemd fournit des capacités de parallélisation agressives, utilise l'activation de socket et D-Bus pour démarrer les services, offre le démarrage à la demande des démons, assure le suivi des processus à l'aide de groupes de contrôle Linux, maintient les points de montage et de montage automatique et implémente un contrôle de service élaboré basé sur les dépendances transactionnelles logique. systemd prend en charge les scripts d'initialisation SysV et LSB et remplace sysvinit. D'autres parties incluent un démon de journalisation, des utilitaires pour contrôler la configuration de base du système comme le nom d'hôte, la date, les paramètres régionaux, maintenir une liste des utilisateurs connectés et exécuter des conteneurs et des machines virtuelles, des comptes système, des répertoires et des paramètres d'exécution, et des démons pour gérer un réseau simple configuration, synchronisation de l'heure du réseau, transfert de journaux et résolution de noms

System

Cette partie concerne les service système, gérés par root

Commandes de base

  • Lister les services: systemctl status
# systemctl status
leger.dalembert.upmc.fr
State: degraded
Jobs: 0 queued
Failed: 3 units
Since: Mon 2022-03-21 10:43:43 CET; 3 weeks 0 days ago
CGroup: /
├─user
│ ├─root
│ │ └─0
│ │ ├─28384 sudo systemctl status
│ │ ├─28385 systemctl status
│ │ └─28386 pager
├─user.slice
│ └─user-1000.slice
│ ├─session-2.scope
│ │ ├─ 3342 /bin/bash
(...)
  • Démarrer un service
systemctl start <unit>
  • Arrêter un service
systemctl stop <unit>

Repertoires

  • Voir les repertoires pour les services
# systemctl show --property=UnitPath
UnitPath=/run/systemd/transient /etc/systemd/system /run/systemd/system /run/systemd/generator /lib/systemd/system /run/system

User

systemd offre la possibilité de gérer des services sous le contrôle de l'utilisateur avec une instance systemd par utilisateur, leur permettant de démarrer, d'arrêter, d'activer et de désactiver leurs propres unités utilisateur. Ceci est pratique pour les démons et autres services qui sont généralement exécutés pour un seul utilisateur, comme mpd, ou pour effectuer des tâches automatisées comme la récupération du courrier.

L'instance d'utilisateur systemd est démarrée après la première connexion d'un utilisateur et supprimée après la fermeture de la dernière session de l'utilisateur.

Répertoire

Les fichier des services user sont dans ~/.config/systemd/user/

Nouveau service

voir Site (en) « arch > systemd > Writing unit files » (consulté le 11 avr 2022)

  • exemple avec mail2most dans le fichier ~/.config/systemd/user/mail2most.service:
# mail2most
[Unit]
Description=mail2most

[Service]
Type=simple
WorkingDirectory=%h/.config/mail2most
ExecStart=%h/bin/mail2most -c %h/.config/mail2most/mail2most.conf
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target
 %h est une variable pour $HOME
  • installer:
$ systemctl --user enable mail3most.service
  • voir le journal:
journalctl --user

Environement

L'instance utilisateur de systemd n'hérite d'aucune des variables d'environnement définies dans des endroits comme .bashrc etc.

On peut ajouter une variable:

systemctl --user import-environment PATH

... ou toutes les variables:

systemctl --user import-environment

Voir l'environement de systemd user:

systemctl --user show-environment

Bugs Connus

/var/log/journal very big

  • voir la taille des archives du journal:"
journalctl --disk-usage
Archived and active journals take up 714.9M in the file system.
  • limiter la taille des archives du journal:
journalctl --vacuum-size=100M
Vacuuming done, freed 0B of archived journals from /run/log/journal/a3e6d6aa74a344a6b7b0f650355807c2.
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de645bcf7c1c-30e2d69bb3d028bc.journal~ (4.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de7879a79de7-bb0cdd4e49f4768b.journal~ (4.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de8c977f9dd1-b093d32e94617188.journal~ (4.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de645bcd0e19-9ec11dc47f38a6f0.journal~ (108.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005dec8f10c8bf8-64975cc78fe2a765.journal~ (4.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de503df55f61-8745097b350e3cd4.journal~ (108.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005dec0a1691649-86aba3192eff07b8.journal~ (540.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de8c977d30cd-a65268d6afb53ca2.journal~ (112.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005deb4d3233267-375c3ff1aac19a81.journal~ (4.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de3c2023ffa5-304e1451c1ff0c99.journal~ (4.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de3c2022f699-7bec73b3d18b6333.journal~ (520.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005dea0b55cf38d-4ea96c8f912b51ae.journal~ (8.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de7879a699f0-4b05402b27d26e97.journal~ (104.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005de503df6c54b-560edd1542c6fc9b.journal~ (4.0K).
Deleted empty archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@0005dea0b55a837b-6625a0116b776b9b.journal~ (112.0K).
Deleted archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@6538a799dff04c21bc7e18a0c9438236-0000000000097f73-0005dcae9354d732.journal (37.4M).
Deleted archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@6538a799dff04c21bc7e18a0c9438236-000000000009fee3-0005dce4e09d9a11.journal (37.4M).
Deleted archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@6538a799dff04c21bc7e18a0c9438236-00000000000a7cfd-0005dd157b3d93e7.journal (37.4M).
Deleted archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@6538a799dff04c21bc7e18a0c9438236-00000000000afa1f-0005dd3cab1dba6b.journal (37.4M).
Deleted archived journal /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2/system@6538a799dff04c21bc7e18a0c9438236-00000000000b7a5e-0005dd7a9574dbea.journal (37.4M).
Vacuuming done, freed 188.8M of archived journals from /var/log/journal/a3e6d6aa74a344a6b7b0f650355807c2.
Vacuuming done, freed 0B of archived journals from /run/log/journal.
Vacuuming done, freed 0B of archived journals from /var/log/journal.
  • mémoriser dans /etc/systemd/journald.conf
[Journal]
SystemMaxUse=100M
  • ou désactiver l’écriture sur disque
[Journal]
Storage=volatile¶
  • activer ce changement:
systemctl restart systemd-journald

Liens Externes

À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 30/03/2023 13:33