Technologieführer

Kaputte Symlinks in Linux finden und beheben

4 min read Systemadministration Aktualisiert 14 Oct 2025
Kaputte Symlinks in Linux finden und beheben
Kaputte Symlinks in Linux finden und beheben

Symbolische Links und fehlerhafte Verknüpfungen

Symbolische Links (Symlinks) vereinfachen die Verwaltung eines Linux-Systems. Sie erlauben es, einen Pfad auf einen anderen zeigen zu lassen, ohne Konfigurationen in Anwendungen zu ändern. Das ist auf Servern und Arbeitsstationen üblich. Problematisch wird es, wenn das Ziel des Links gelöscht oder verschoben wurde. Solche „kaputten“ oder dangling Symlinks sollten gefunden und bereinigt werden, weil sie später Fehler oder Verwirrung verursachen können.

Werkzeuge zum Auffinden und Löschen kaputter Symlinks

Die gebräuchlichste Hilfsanwendung heißt einfach symlinks und findet sich in den meisten Paketquellen. Sie ist übersichtlich in der Ausgabe und kann kaputte Links löschen.

Zum Installieren:

# Für Debian-/Ubuntu-basierte Distributionen
sudo apt install symlinks

# Für Fedora/CentOS
sudo dnf install symlinks

Wichtige Optionen von symlinks:

  • -d löscht dangling Links.
  • -r arbeitet rekursiv durch Unterverzeichnisse.

Alternativ kann das eingebaute find verwendet werden. Es ist universeller, aber etwas weniger freundlich in der Ausgabe.

Beispiel: Einen Symlink erzeugen und absichtlich kaputt machen

Als Demonstration erstelle ich eine Datei und einen symbolischen Link darauf, dann entferne ich die Originaldatei:

touch test-file.txt
ln -s test-file.txt linked-file.txt

Erstellung eines symbolischen Links (Setup)

Wenn die Ursprungsdatei entfernt wird:

rm test-file.txt

Entfernen der Ursprungsdatei mit rm

Trotz Entfernen zeigt ls -l weiterhin die Verknüpfung — jetzt ist sie dangling.

ls -l zeigt gebrochene Verknüpfung

Kaputte Symlinks finden und löschen

Die einfachste Strategie ist: erkennen, prüfen, löschen. Wiederherstellen ist nur möglich, wenn das Ziel noch anderweitig verfügbar ist.

Mit dem Tool symlinks meldet ein einfacher Scan kaputte Links:

symlinks .

Der Punkt . steht für das aktuelle Verzeichnis; ersetze ihn durch jeden Pfad, den du durchsuchen willst. Die Ausgabe kann so aussehen:

dangling: /home/jperkins/linked-file.txt -> test-file.txt

Das zeigt, dass linked-file.txt auf test-file.txt verweist, das nicht mehr existiert.

Zum Löschen aller gefundenen dangling Links im Verzeichnisbaum:

symlinks -d .

Die Ausgabe ähnelt der Suche, ergänzt durch eine deleted-Zeile für entfernte Links.

Ausgabe von symlinks -d nach Löschen

Mit find (GNU find) funktioniert es so:

find . -xtype l

Diese Variante listet ebenfalls kaputte Symlinks.

find -xtype l listet kaputte Symlinks

Zum Löschen mit find:

find . -xtype l -delete

find ... -delete entfernt Symlinks

Hinweis: -xtype l findet Symlinks, deren Ziel nicht existiert. Manche Plattformen (z. B. BSD/macOS) haben abweichende find-Optionen; siehe Alternativen weiter unten.

Wichtig: Teste stets erst ohne -delete. Führe die Löschaktion anschließend als Benutzer mit passenden Rechten aus (ggf. sudo), aber achte auf unbeabsichtigte Folgen.

Alternative, portablere find-Formel

Auf Systemen, wo -xtype nicht verfügbar ist, funktioniert diese POSIX-kompatible Variante:

find . -type l ! -exec test -e {} \; -print

Das listet symbolische Links, für die test -e (Datei existiert) fehlschlägt. Zum Löschen ersetze -print durch -exec rm {} \; oder verwende zuerst -print zur Überprüfung.

Wann diese Methoden nicht passen (Gegenbeispiele)

  • Netzwerkmounts: Ein Link auf ein NFS-/SMB-Ziel kann als dangling erscheinen, weil das Mount gerade nicht verfügbar ist. Lösche nicht automatisch — prüfe Mount-Status.
  • Temporäres Ziel: Manche Deployments erzeugen zeitweilig fehlende Ziele (z. B. beim schrittweisen Deploy). Koordiniere mit CI/CD.
  • Berechtigungseinschränkungen: Wenn du keinen Zugriff auf Zielverzeichnisse hast, können Tools falsche Ergebnisse liefern. Prüfe Berechtigungen.

Sicherheits- und Betriebsregeln (Wichtig)

  • Prüfen vor Löschen: Immer zuerst ohne -delete oder mit -print prüfen.
  • Backups/Versionierung: Bei kritischen Systemen erst Backup oder Versionskontrolle für Konfigurationsdateien prüfen.
  • Testlauf in Staging: Führe Mass-Deletes zuerst in einer Testumgebung aus.

Vorgehensweise (Mini-Methodik)

  1. Scanne das Zielverzeichnis: symlinks . oder find . -xtype l.
  2. Überprüfe Ergebnisse manuell auf plausiblen Kontext (NFS, Deploys, Berechtigungen).
  3. Führe einen Testlauf aus: find . -xtype l -print.
  4. Lösche gezielt: symlinks -d . oder find . -xtype l -delete.
  5. Wiederhole die Überprüfung.

Rolle-basierte Checklisten

  • Systemadministrator

    • Scanne gesamte Dateisysteme regelmäßig (Cron/Ansible-Job).
    • Prüfe Mount-Points und Automount-Konfigurationen.
    • Dokumentiere gelöschte Links.
  • DevOps/CI

    • In Deployments prüfen, ob Symlinks temporär sind.
    • Stelle Rollback-Pfade sicher.
  • Desktop-Benutzer

    • Prüfe nur im Home-Verzeichnis.
    • Verwende symlinks oder grafische Dateimanager, wenn unsicher.

Testfälle / Akzeptanzkriterien

  • Nach Löschen findet ein erneuter Scan keine dangling Links mehr im Zielpfad.
  • Keine wichtigen Konfigurationsdateien wurden entfernt (verifiziert durch Versionierung/Backup-Check).
  • Kommandos geben erwartete Exit-Codes zurück (0 bei Erfolg).

Schnelle Befehlsübersicht (Cheat Sheet)

  • Anzeigen kaputter Links mit symlinks:
symlinks .
  • Löschen mit symlinks:
symlinks -d .
  • Anzeigen mit GNU find:
find . -xtype l
  • Löschen mit GNU find:
find . -xtype l -delete
  • Portable Alternative:
find . -type l ! -exec test -e {} \; -print

Mentale Modelle und Heuristiken

Denk an einen Symlink wie an einen Verweis in einem Inhaltsverzeichnis. Wenn die Zielseite entfernt wurde, bleibt der Verweis bestehen, führt aber ins Leere. Prüfe zuerst, ob die Zielseite nur verschoben oder vorübergehend nicht erreichbar ist.

Kurze Zusammenfassung

  • Symlinks, die ins Leere zeigen, nennt man dangling oder kaputte Symlinks.
  • Nutze symlinks für einfache Handhabung oder find für mehr Flexibilität.
  • Immer erst prüfen, dann löschen. Berücksichtige Netzwerkmounts und temporäre Deploys.

Wichtig: Regelmäßige Scans und einfache Automatisierung (Cronjob/Ansible) helfen, Ansammlungen kaputter Links zu vermeiden und Systemverwirrung zu reduzieren.

Autor
Redaktion

Ähnliche Materialien

Private Instagram Reels herunterladen
Soziale Medien

Private Instagram Reels herunterladen

WatchGuard VPN Fehler beheben unter Windows
VPN

WatchGuard VPN Fehler beheben unter Windows

M3U8 öffnen: Anleitung für Windows, Mac, iPhone & Android
Anleitungen

M3U8 öffnen: Anleitung für Windows, Mac, iPhone & Android

Windows Security: Schutzverlauf in Windows 11 wiederherstellen
Fehlerbehebung

Windows Security: Schutzverlauf in Windows 11 wiederherstellen

MySQL Slave konfigurieren und prüfen
Datenbank

MySQL Slave konfigurieren und prüfen

Alten PC als Medienserver einrichten
Heimnetzwerk

Alten PC als Medienserver einrichten