systemd

Starten (eenmalig) en stoppen van een unitfile.

sudo systemctl start unitfile.service
sudo systemctl stop unitfile.service

Of sudo systemctl restart unitfile.service bij wijzigingen.

Enable en disable zorgen er voor dat de service bij het opstarten geactiveerd wordt (of gedeactiveerd).

sudo systemctl enable unitfile.service
sudo systemctl disable unitfile.service

De .service is optioneel, systemd snapt dat het om een service gaat…

Lijstjes

Bekijk alle enabled unit-files:

systemctl list-unit-files | grep enabled

Alle draaiende units:

systemctl | grep running

Debuggen

Met journalctl kan je systemd journal bekijken en query’en. Door de -f flag mee te geven blijf je de output volgen:

sudo journalctl -f -u <unit>

Zonder sudo kan ook zolang de user in groep systemd-journal zit.

sudo adduser <user> systemd-journal

Unitfiles

Voor eigen unitfiles is /etc/systemd/system vaak de directory om de file te plaatsen. Mocht je op zoek zijn naar de unitfile van een bepaalde service dan kun je die uit de status halen:

systemctl status <file>

Opbouw van de unitfile

# /etc/systemd/system/naam.service

[Unit]
Description=korte beschrijving
# After=Units die hier staan worden gestart voor deze unit start
# Requires=Units die hier staan zijn dependencies. Als ze niet op het systeem staan kan de unit niet opgestart worden.

[Service]
Restart=always
ExecStart=/path/to/executable -p=param

[Install]
WantedBy=multi-user.target # maakt een symlink in /etc/systemd/system/multi-user.target.wants als de unit enabled is

Als er wijzigingen aan systemd unitfiles gedaan worden moet systemd even op de hoogte gebracht worden:

sudo systemctl daemon-reload

Dit herstart niet de programma’s zelf, daarvoor gebruik je restart.

NB: /etc/systemd/system is ook de veilige plek om bestaande unitfiles aan te passen. Unitfiles in deze directory hebben voorrang op unitfiles andere directories op het bestandssysteem. Je kan hier dus een unitfile van een systeembestand aanpassen zonder het origineel te wijzigen.

PDF trucjes

PDF’s mergen kan met `pdfunite` welke in de poppler-utils package zit (debian).

pdfunite <input_1>.pdf <input_2>.pdf <output>.pdf

Om van meerdere JPG’s een pdf te maken kun je `convert` gebruiken.

convert <in_1.jpg> <in_2.jpg> <output>.pdf

Maar je kan ook een wildcard in de input parameter ingeven:

convert <SCAN*.JPG> <output>.pdf

Van pagina’s uit een PDF een nieuw document maken:

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=1 -dLastPage=4 -sOutputFile=<output>.pdf <input>.pdf

SSH in je Raspberry Pi via 4g op je telefoon

Ik heb zo’n Raspberry Pi waarbij ik SSH toegang nodig heb. Om een beetje te tinkeren. Vaak is VIM wel genoeg dus een GUI of beeldscherm op de Pi heb ik niet nodig.

Nu had ik mijn Pi en laptop via 4g aan het internet gezet en zocht ik de juiste IP voor de SSH toegang, maar hoe vind je die eigenlijk als je telefoon geen IP informatie geeft? verder lezen SSH in je Raspberry Pi via 4g op je telefoon

Migratie van een Postfix server

Ik heb een Postfix/Dovecot combinatie op een server draaien voor de mails. Vanwege een VPS switch moest dit naar de nieuwe server over gezet worden. En waar een migratie van een website altijd duidelijk is met vanzelfsprekende handelingen is een migratie van een e-mail server een wirwar van settings, lange droge documentatie steeds wisselende spam-richtlijnen.
verder lezen Migratie van een Postfix server