Auf dieser Seite werden Dinge gesammelt, die man selten, aber manchmal doch braucht. "Wie ging noch mal die Syntax?", "Hmm, da war doch mal was". Etwas in der Art.

Viele der Kommandos tauchen auch in anderen Artikeln auf und werden dort auch u.U. besser erklärt. Nur sind sie eben verteilt über viele Seiten und hier sollen sie gesammelt werden.

So eine Sammlung ist natürlich nie fertig. Es kommt immer was dazu oder wird anders arrangiert.

System- und Service-Administration mit systemctl

Moderne GNU/Linux Systeme werden über den "Super-Vater-Master-Prozess" systemd gesteuert.

Der systemd wird wiederum von Menschen gesteuert. Dazu benutzen die Menschen das Kommandos systemctl. Mit systemctl lassen sich Dienste (Services) verwalten.

Alle geladenen Targets ansehen

sudo systemctl list-units --type target --all

Neu starten

sudo systemctl daemon-reload

Services

Service prüfen

Service läuft gerade?

sudo systemctl is-active service-name

Service startet automatisch?

sudo systemctl is-enabled service-name

Service Status Details:

sudo systemctl status service-name

Service manuell starten / stoppen

Service starten

sudo systemctl start service-name

Service neu starten

sudo systemctl restart service-name

Service stoppen

sudo systemctl stop service-name

Service automatisch starten / stoppen

Service für automatischen Start konfigurieren

sudo systemctl enable service-name

Service für automatischen Start konfigurieren und starten

sudo systemctl enable --now service-name

Service nicht (mehr) automatisch starten

sudo systemctl disable service-name

Service maskieren

Service maskieren (brutal, Service ist weg)

sudo systemctl mask service-name

Service Maskierung aufheben

sudo systemctl unmask service-name

Run-Level

"default target" für Systemstart ansehen

sudo systemctl get-default

Aktivieren Text-Modus

sudo systemctl start multi-user.target

Aktivieren Grafik-Modus

sudo systemctl start graphical.target

Statt start kann auch isolate benutzt werden. Damit werden aber auch diverse andere Prozesse abgeschossen.

Setzen Text-Modus als Default

sudo systemctl set-default multi-user.target

Setzen Grafik-Modus als Default

sudo systemctl set-default graphical.target

Benutzerverwaltung

Die Verwaltung von Benutzern geschieht i.d.R. über ein grafisches Programm der Desktopumgebung.

Alternativ kann man per Hand die Dateien /etc/passwd und /etc/group bearbeiten oder mit Werkzeugen auf der Kommandozeile arbeiten.

Hier gibt es ein paar Kommandos, die man für die Benutzerverwaltung gut gebrauchen kann.

Anzeigen

Benutzer anzeigen

cat /etc/passwd

Benutzer nach Name sortiert anzeigen

sort -t: -k1 /etc/passwd

Benutzer nach ID sortiert anzeigen

sort -n -t: -k3 /etc/passwd

Gruppen anzeigen

cat /etc/group

Gruppen nach Name sortiert anzeigen

sort -t: -k1 /etc/group

Gruppen nach ID sortiert anzeigen

sort -n -t: -k3 /etc/group

Verwalten

Benutzer anlegen

sudo useradd -m -s /bin/bash NeuerBenutzer

-m führt dazu, dass ein HOME Verzeichnis für den Benutzer angelegt wird. Je nach Konfiguration des Systems werden damit auch Standardverzeichnisse angelegt.
-s /bin/bash führt dazu, dass der neue Benutzer mit einer bash ausgestattet wird und nicht mit einer sh.

Benutzer einer Gruppe zuordnen

sudo usermod -a -G Gruppe Benutzer

-a führt dazu, dass eine Gruppenzugehörigkeiten neu hinzugefügt wird. Ohne -a würde die neue Gruppe alle existierenden Gruppenzugehörigkeiten ersetzen.
-G Gruppe ist der Name oder die ID der Gruppe. Die Gruppe muss schon existieren.

Benutzer löschen

sudo userdel -r -f Benutzer

-r führt dazu, dass das Homeverzeichnis und Dateien, die dem Benutzer gehören, gelöscht werden.
-f erzwingt das Löschen, auch wenn der Benutzer noch irgendwo referenziert wird.

Firewall

Viele Distributionen liefern eine Firewall mit und schalten sie nach der Installation auch an.

Wenn man nur lokal auf seinem Rechner arbeitet, ist eine Firewall an sich nicht notwendig. Sie stört in diesem Fall aber auch nicht.

Hängt der Rechner im Netz und ist er gar öffentlich zugänglich, so muss man eine Firewall anschalten.

Achtung bei einem Rechner ohne Tastatur und Bildschirm:
Gleichzeitig mit der Aktivierung der Firewall muss man den Zugriff über ssh erlauben. Sonst sperrt man sich aus.

Dynamische Firewall mit firewalld

Hinter firewald verbirgt sich ein System, das vorwiegend in der RedHat Welt eingesetzt wird. Es ist auch Standard bei openSUSE und Arch Linux Systemen.

Start / Stopp der Firewall

Der Firewall Service wird durch systemd ausgeführt und entsprechend gestartet und gestoppt.

firewalld Service starten/stoppen

sudo systemctl start|enable firewalld
sudo systemctl stop|disable firewalld

firewalld Status abfragen

sudo systemctl status firewalld

Verschiedene Kommandos

Firewall Status prüfen

sudo firewall-cmd --state

Firewall für einen Service temporär öffnen

sudo firewall-cmd --zone=public --add-service=serviceName

Die Freischaltung wird durch das nächste firewall-cmd --reload Kommando wieder aufgehoben, d.h. spätestens nach dem nächsten reboot, ist das Loch wieder zu.

Firewall für einen Service permanent öffnen

sudo firewall-cmd --permanent --zone=public --add-service=serviceName

Firewall neu laden

sudo firewall-cmd --reload

Beispiel ssh: freischalten

sudo firewall-cmd --permanent --add-service=ssh

firewalld.org

Fedora WIKI

Firewall mit UFW

Die Uncomplicated FireWall - UFW - ist von Ubuntu entwickelt worden und wird entsprechend dort und auf Ubuntu basierenden Distributionen eingesetzt.

Start / Stopp der Firewall

Der Firewall Service wird durch systemd ausgeführt und entsprechend gestartet und gestoppt.

UFW Service starten/stoppen

sudo systemctl start|enable ufw
sudo systemctl stop|disable ufw

UFW Service neu starten

sudo systemctl restart ufw

UFW Service Status abfragen

sudo systemctl status ufw

Kommandos

UFW Status abfragen

sudo ufw status verbose

UFW Firewall anschalten

sudo ufw enable

UFW Firewall abschalten

sudo ufw disable

UFW Firewall neu laden

sudo ufw reload

Applikationsprofil freischalten

sudo ufw allow "Name of Appclication Profile"

Service freischalten

sudo ufw allow service-name

Port freischalten

sudo ufw allow port/protocol

Beispiel: ssh freischalten

sudo ufw allow ssh

Network File System

Bild: Baustelle

Das Kapitel NFS ist in Arbeit.

Client

Software

Arch Linux NFS-Client

sudo pacman -Syu nfs-utils

Mount

sudo mount servername:/export_dir mount_dir

Server

Software

Arch Linux NFS-Server

sudo pacman -Syu nfs-utils

Konfiguration

Die Konfiguration der NFS Exporte erfolgt in der Datei /etc/exports.

Aktivierung

Aktivierung der Konfiguration sudo systemctl restart nfs-server

Trouble

Sammlung

Boothänger

Boothänger: swap

Wenn man eine swap Partition hatte (Vergangenheit) und sie aus welchen Gründen auch immer entfernt hat, kann es sein, dass das System beim Hochfahren ganz am Anfang hängt und irgendwann nach einer Meldung "Giving up waiting on suspend/resume device" weitermacht. Diese Meldung ist schwer zu sehen, weil sie beim Booten ganz oben am Bildschirm erscheint. Aber erst, wenn das System schon weitermacht, so dass sie von anderen Meldungen ganz schnell überschrieben wird.

Das ist ähnlich dem Boot Verhalten, wenn man in der /etc/fstab gefummelt und für swap einen falschen Eintrag erzeugt hat.

Nur dass in diesem Fall dort alles in Ordnung ist. Das Problem liegt darin begründet, dass sich der Kernel selber gemerkt hat, von wo aus er ein "Resume" durchführen sollte und das Gerät jetzt nicht mehr findet.

Eine Ursache kann die Datei /etc/initramfs-tools/conf.d/resume sein. Wenn sie existiert und einen veralteten Eintrag enthält, kann dort die Ursache liegen.

sudo nano /etc/initramfs-tools/conf.d/resume

Wenn sie leer ist, dann ok. Wenn aber irgendetwas drinsteht, dann muss auch drinstehen:

RESEUME=

Eine scheinbar funktionierende Möglichkeit besteht auch darin, die Datei einfach zu löschen; auf vielen Systemen ist sie sowieso nicht vorhanden und es gibt auch nirgends eine verbindliche Beschreibung dazu, was sie eigentlich tut.

Egal welchen Weg man wählt:

Danach die aktuelle boot ramdisk neu bauen:

sudo update-initramfs -u

Das Ganze für alle existierenden initram disks:

sudo update-initramfs -u -k all

Boothänger: udev-settle

Das System steht nach dem "clean" der Festplatten. Das ist ähnlich, wie bei dem swap-Device, dass nicht gefunden wird.

Bei mir ist das Problem aufgetaucht, nachdem ich einen anderen Monitor angehängt hatte.

Mögliche Lösung:

systemctl mask systemd-udev-settle

Dieser Service ist eine Art Wrapper um alle Services, die Hardware initialisieren. Der Einsatz dieses Service kann Ewigkeiten gut gehen und irgendwann kommt er nicht zurück. freedesktop empfiehlt, ihn abzuschalten.

systemd-udev-settle.service