Command Cheatsheet

Services

Der Service Name ist meistens am besten per <TAB> herauszufinden. (Außer bei journalctl, dessen completion ist etwas kaputt)

Liste aller Services

Mit / kann man in dieser Liste auch suchen.

systemctl -atservice

Status eines Service

systemctl status <service>

Service Starten/Stoppen

sudo systemctl stop <service>
sudo systemctl start <service>
sudo systemctl restart <service>

Logs

Das -e springt an das Ende des Logs (was man ja meistens auch möchte). Falls dies nicht gewünscht ist, das -e einfach weglassen

journalctl -xe

Um den Log kontinuierlich zu sehene (neue einträge werden sofort angezeigt)

journalctl -xf

Logs eine spezifischen Services

journalctl -xeu <service>

Auch diese kann man kontinuierlich anzeigen lassen

journalctl -xfu <service>

NixOS-Container

Container auflisten

Reine Auflistung

nixos-container list

Etwas detailreicher, Machines ist ein anderes Wort für Container

machinectl

Container Starten/Stoppen

sudo nixos-container stop <container>
sudo nixos-container start <container>
sudo nixos-container restart <container>

In einen Container einloggen

sudo nixos-container root-login <container>

Logs eines Containers

sudo journalctl -xeM <container>

(Oder im Grafana)

Sops

Secret Keys updaten

Synchronisiert alle secrets mit .sops.yaml und rotiert ihre encryption keys

find nixos/secrets -type f -exec sops updatekeys --yes {} \; -exec sops rotate -i {} \;

Aufräumen

Subvolumes die nicht deklariert sind

Dieser Command printet ordner in /persist, die nicht in teenix deklariert sind.

bash -c 'comm -3 <(find /persist/ -maxdepth 1 -mindepth 1 -type d| sort) <(cat /etc/teenix-persistence.json | jq -r "keys|sort|.[]")'