Layer 8Ehrlicher Tech-Support
BetriebssystemSchweregrad: LästigUnit is masked

systemctl: Unit is masked

systemctl startet den Dienst nicht: 'Unit is masked'. Die Unit ist auf /dev/null verlinkt. So machst du sie mit unmask wieder startbar.

Aufwand:
ca. 3 Min.
Voraussetzung:
sudo-Rechte, Terminal

Das Symptom

Du willst einen Dienst starten – sudo systemctl start <unit> – und systemd verweigert mit der knappen Ansage: Unit <unit> is masked. Kein Start, kein enable, nichts. Der Dienst existiert offensichtlich, tut aber so, als wäre er mit einem Bann belegt.

Die „Layer 8“-Wahrheit

Genau das ist er: gebannt. Maskieren ist in systemd die härteste Stufe des Deaktivierens – die Unit-Datei wird auf /dev/null verlinkt, und ein Link ins Nichts lässt sich nun mal nicht starten. Anders als bei disable, das nur die Auto-Start-Verknüpfungen kappt, blockiert mask jede Form der Aktivierung, inklusive manuellem Start und Aktivierung über Abhängigkeiten. Der Ausweg ist ein Zweizeiler: unmask, dann enable --now. Die eigentlich interessante Frage ist aber die davor: Warum war die Unit maskiert? Das macht selten jemand aus Versehen. Oft hat ein Paket oder ein Kollege sie bewusst stillgelegt, weil ein anderer Dienst die Aufgabe übernommen hat. Bevor du den Bann aufhebst, kläre kurz, wer ihn gesetzt hat – sonst reaktivierst du genau den Konflikt, den die Maskierung verhindern sollte.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Status prüfen und Maskierung bestätigen

    Zuerst nachsehen, ob die Unit wirklich maskiert ist. Der Status zeigt es direkt an, is-enabled gibt schlicht 'masked' zurück:

    systemctl status <unit>
    systemctl is-enabled <unit>
    
  2. 2.

    Die Maskierung aufheben

    Den Symlink auf /dev/null wieder entfernen. Danach ist die Unit nicht länger blockiert:

    sudo systemctl unmask <unit>
    
  3. 3.

    Dienst aktivieren und starten

    Nach dem Demaskieren startet der Dienst nicht von allein. Aktivieren und sofort starten in einem Schritt:

    sudo systemctl enable --now <unit>
    
  4. 4.

    Ursache bedenken

    Frag dich, warum die Unit maskiert war. Hat ein anderes Paket sie bewusst stillgelegt (etwa weil ein Ersatzdienst läuft), kann das Reaktivieren zu Konflikten führen. Im Zweifel den Grund klären, statt nur das Symptom zu beheben.

Häufige Fragen (FAQ)

?Was bedeutet 'masked' bei einer systemd-Unit?

Maskieren ist die stärkste Form des Deaktivierens. systemd verlinkt die Unit-Datei auf /dev/null, wodurch sich der Dienst weder manuell starten noch durch andere Units automatisch aktivieren lässt. Ein 'enable' oder 'start' scheitert deshalb konsequent mit dem Hinweis, die Unit sei maskiert – bis die Maskierung wieder aufgehoben ist.

?Worin unterscheidet sich mask von disable?

'disable' entfernt nur die automatischen Startverknüpfungen; der Dienst lässt sich weiterhin von Hand oder als Abhängigkeit starten. 'mask' hingegen blockiert jede Art der Aktivierung vollständig. mask ist also die Brechstange, disable der Schalter.

?Warum war die Unit überhaupt maskiert?

Meist steckt Absicht dahinter: ein Administrator, ein Konfigurations-Tool oder das Distributionspaket selbst hat die Unit maskiert, damit sie garantiert nicht anläuft – etwa weil ein anderer Dienst ihre Aufgabe übernimmt. Bevor du blind unmask ausführst, lohnt kurz die Frage, warum jemand das eingerichtet hat.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

  1. [1]
    systemctl(1) – mask/unmask, systemd Manual

    man7.org · abgerufen am

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

SWLästigCannot connect to the Docker daemon

Docker: Cannot connect to the Docker daemon

docker-Befehle scheitern mit 'Cannot connect to the Docker daemon'? Meist läuft der Dienst nicht oder Rechte fehlen. So läuft es wieder.

OSLästigOut of memory: Killed process

Linux: Prozess wurde vom OOM-Killer beendet

Ein Dienst verschwindet ohne Absturzmeldung? Bei Speichermangel beendet der Kernel selbst Prozesse. Das Protokoll verrät, wen es traf und warum.