Systemd start alle services op een Linux-systeem op, maar doet dat veel flexibeler dan het traditionele SysV init. Het commando systemctl is de sleutel tot allerlei beheertaken, zoals het inschakelen of starten van services. Voor ssh gaat dat bijvoorbeeld als volgt:

# systemctl enable sshd.service

# systemctl start sshd.service

Met systemctl kun je de meest voorkomende taken wel uitvoeren, maar systemd komt ook met een aantal minder bekende tools die wel in allerlei omstandigheden handig kunnen zijn. We laten een aantal de revue passeren.

Analyses

Complexe problemen analyseren is vaak veel eenvoudiger als je je systeem op een of andere manier kunt visualiseren. Systemd-bootchart maakt dit mogelijk voor de duur van het booten van je systeem. Laat je kernel systemd-bootchart als init-proces aanroepen om een grafiek van je bootproces te laten aanmaken. Het resultaat is een svg-bestand.

Ook met systemd-analyze kun je je bootproces analyseren. Systemd-analyze time toont de tijd die je systeem in de kernel gespendeerd heeft, in de initrd en in de userspace. De meting stopt echter op het moment dat al je services opgestart zijn: dat wil niet zeggen dat ze dan hun taken allemaal al uitgevoerd hebben. Met systemd-analyze blame krijg je een lijst van alle draaiende services, geordend op de tijd die ze nodig hadden om op te starten. En met systemd-analyze plot krijg je een svg-afbeelding die toont wanneer je services allemaal opgestart zijn. Roep dit als volgt aan:

$ systemd-analyze plot > bootchart.svg

Configuraties

Heel wat configuratiebestanden van systemd en andere kerncomponenten op een moderne Linux-distributie kunnen op twee plaatsen staan: in /usr/lib en in /etc. De distributie installeert de standaard configuratiebestanden in /usr/lib, maar als je ze wil aanpassen, moet je ze kopiëren en op de juiste plaats in /etc zetten. De configuratiebestanden in /etc krijgen voorrang, zodat je een configuratiebestand in /usr/lib kunt overriden en je eigen aangepaste configuratiebestanden bij een update niet overschreven worden. Het programma systemd-delta toont je de verschillen tussen overeenkomende configuratiebestanden in beide directorybomen, wat heel handig is als je een overzicht wil van wat je nu eigenlijk veranderd hebt of als je zeker wil zijn welke van twee bestanden gebruikt wordt.

Wil je weten of je distributie in een virtuele machine of container draait, gebruik dan systemd-detet-virt. Het programma toont een van de technologieën qemu, kvm, vmware, microsoft, oracle, xen, bochs, chroot, openvz, lxc, lxc-libvirt of systemd-nspawn. Bij geneste vormen van virtualisatie wordt overigens enkel de 'binnenste' vorm herkend: een LXC-container in een KVM-machine bijvoorbeeld wordt als lxc getoond, tenzij je de optie --vm gebruikt om enkel virtuele machines te detecteren. Met de optie --container detecteert het programma enkel containers.

Gewoon handig

Met systemd-inhibit kun je een programma uitvoeren en tegelijk tegengaan dat je computer uitgeschakeld wordt of in slaap gezet zolang het programma draait. Dit is bijvoorbeeld handig tijdens het downloaden van een groot bestand:

$ systemd-inhibit wget http://www.example.com/foobar.iso

Lees de man-pagina's van al deze commando's voor meer informatie over de beschikbare opties.