Veel actieve Linux gebruikers zullen uiteraard wel eens van systemd gehoord hebben. Maar wat doet systemd eigenlijk en hoe kun je je Linux Mint systeem onder systemd beheren? Antwoorden op deze vragen lees je in dit artikel!

Auteur: André Fondse

Wat is systemd?

Eenvoudig gezegd zorgt systemd ervoor dat het grootste deel van je Linux systeem gestart kan worden. Met systemd kun je onder andere instellen wanneer programma’s automatisch gestart worden, bijvoorbeeld direct bij het opstarten of op bepaalde tijden. Ook is het met behulp van systemd mogelijk om de logbestanden van je Linux systeem te raadplegen. Met systemd is nog veel meer mogelijk, maar dat valt buiten de kader van dit artikel.

Veilig experimenteren

Het doel van dit artikel is om kennis te maken met systemd en wat eenvoudige aanpassingen te doen in systemd. Om de aanpassingen in systemd veilig te kunnen testen, kun je gebruik maken van een Virtual Box image van Linux Mint, waarin je zonder enig risico aan de slag kunt. Je kunt dit image downloaden via: https://bit.ly/2OZH1EI. De loginnaam voor dit image is linuxmag en het wachtwoord is Reshift. In dit image is Cockpit al geïnstalleerd.

Systemd Cockpit installeren en starten

In Linux Mint is het mogelijk om gebruik te maken van een grafische gebruikersinterface voor systemd, genaamd Cockpit. Cockpit is een web interface waarmee je je Linux computer kunt configureren en het bevat uiteraard ook systemd. Cockpit installeer je via Programmabeheer van Linux Mint. Kies in Programmabeheer voor ‘Cockpit Web Console for Linux servers’ en start de installatie. Nadat de installatie gereed is, start je op je Linux Mint computer Cockpit in de webbrowser door de volgende URL in te typen: http://localhost:9090. Je komt nu in het inlogscherm van Cockpit. Zet een vinkje bij ‘Re-use my password for privileged tasks’ om bij het gebruik van Cockpit acties uit te kunnen voeren bij de services, zoals het herstarten. Je logt in met je eigen Linux Mint gebruikersnaam met het bijbehorende wachtwoord en daarna klik je op de ‘Log in’ knop. De gebruikersinterface van Cockpit ziet er uit als in afbeelding 1.

 

Systemd met Cockpit bekijken

Door aan de linkerkant van Cockpit op ‘Services’ te klikken, kom je in het systemd deel van Cockpit (zie afbeelding 2). Bovenaan zie je een vijftal tabbladen: ‘Targets’, ‘System Services’, ‘Sockets’, ‘Timers’ en ‘Paths’. In dit artikel bespreek ik alleen de tabbladen, die relevant zijn als je begint met systemd.

 

Standaard opent Cockpit met het System Services tabblad. In dit scherm zie je alle systemd services, die er op je systeem geconfigureerd zijn. Als je op een service klikt, dan zie je de details van deze service. Klik nu met de muis op ‘cockpit.service’ en je krijgt dan het scherm te zien, zoals in afbeelding 3 is weergegeven. Bovenin de balk zie je een omschrijving wat de service doet. In dit geval is de omschrijving ‘Cockpit Web Service’. Deze service heeft te maken met de grafische interface van Cockpit, die via de webbrowser te bedienen is.

 

In de regels onder deze balk zie je het volgende over de service:

  • Status: active (loaded): ‘active’ staat dikgedrukt en dit betekent dat de service actief is. Naast ‘active’ is er ook de status ‘inactive’. Tussen haakjes staat extra informatie over de status. In dit geval is dat de waarde ‘loaded’ en dat betekent dat de service geladen is. Andere mogelijke waarden tussen de haakjes zijn: ‘error’, ‘not-found’ of ‘masked’. Deze betekenen respectievelijk fout, niet gevonden of niet toegestaan om te laden.
  • Running Since: datum en tijd sinds wanneer de service voor het laatst geladen is.
  • Automatic Startup static: dit betekent dat de service gestart is via een aanroep van een andere service. Andere veelgebruikte waarden bij ‘Automatic Startup’ zijn ‘enabled’ en ‘disabled’. Enabled betekent dat de service automatisch gestart wordt bij het opstarten van het systeem. Disabled betekent dat dit niet gebeurt.
  • Path: dit geeft de locatie weer waar de service op de harde schijf staat. Helaas is de inhoud van dit bestand niet via de browser te raadplegen.

De regels onder path zijn technischer van aard en laat ik in dit artikel buiten beschouwing. Onder de zwarte balk met de naam Service Logs zie je de laatste regels van het logbestand van de service. In het geval van ‘cockpit.service’ zie je in afbeelding 3 onder andere dat de service gestart is en dat er via IP adres 127.0.0.1 ingelogd is in de web interface. In de log kun je ook foutmeldingen zien, als de service niet of niet goed loopt.

Geplande taken

Als je in Cockpit links op ‘Services’ klikt en daarna bovenaan op het tabblad ‘Timers’ zie je  welke services via een timer uitgevoerd worden (zie afbeelding 4). In de kolom Next Run zie je wanneer de eerstvolgende keer is. Voorwaarde is wel dat de timer in de kolom ‘State’ op ‘active’ moet staan.

 

Systemd services beheren

Tot nu toe heb je alleen gegevens van systemd geraadpleegd. Nu ga je een stap verder en ga je de eerste eenvoudige aanpassingen doen in systemd. Ga weer terug naar ‘System Services’ door bovenaan op dit tabblad te klikken. Scrol nu in de lijst en klik op ‘cups.service’. Cups regelt het printen van je Linux computer en in geval van verkeerd gebruik van wijzigingen via systemd blijft je computer gewoon lopen.

Op de eerste regel onder de balk met ‘Cups Scheduler’ zie je rechts naast de tekst twee knoppen staan. Met de meest linkerknop, kun je de service stoppen. Zodra je dat gedaan hebt, verandert de status in ‘inactive’. Door weer op deze knop (er staat nu ‘Start’) te klikken, start je de service weer op. Met de knop rechts kun je de service opnieuw starten. Er zijn hier twee mogelijkheden ‘Restart’ en ‘Reload’. Met ‘Restart’ wordt de service gestopt en gestart. Met ‘Reload’ blijft de service lopen, maar worden alleen nieuwe configuratiebestanden geladen. Niet elke service ondersteunt ‘Reload’.

Twee regels lager bij ‘Automatic startup’ zie je een knop waar je de mogelijkheden voor het automatisch starten van de service bij het opstarten van de computer kunt regelen. De volgende mogelijkheden worden het meest gebruikt: ‘Enable’, ‘Disable’, ‘Mask’ en ‘Unmask’. ‘Enable’ betekent dat je de service bij de systeemstart automatisch wilt laten starten. Bij ‘Disable’ wil je dat niet laten gebeuren. Met ‘Mask’ regel je dat de service in het geheel niet meer gestart mag worden. Met ‘Unmask’ maak je dit weer ongedaan.

Tot slot

Je hebt via de web interface van Cockpit kennis gemaakt met systemd. Als de web interface vanzelfsprekend voor je wordt, kun je verder gaan door systemd vanaf de commandline te gaan gebruiken. Zo kun je bijvoorbeeld systemd services aanpassen of zelf een nieuwe systemd service maken.

In Linux Mint is het mogelijk om gebruik te maken van een grafische gebruikersinterface voor systemd, genaamd Cockpit.