Ich habe ein seltsames Problem mit einem RHEL-System.
Auf unseren Systemen haben wir unser Home-Verzeichnis unter automatisch gemountet /export/home
. Es gibt einige Ausnahmen, da ich mit der Verwendung von Gluster für unsere Heimverzeichnisse experimentiere. Diese werden unter automatisch bereitgestellt/gluster/home
Dies funktioniert auf allen unseren (30+) Servern. Heute hat dies bei einem von ihnen aufgehört zu arbeiten. Ich bekomme den Fehler:
Too many levels of symlinks
beim Versuch cd
in /gluster/home/$HOME
...
Ich landete temporäre Bewegungs /gluster
zu /gluster_broken
und machte eine neue /gluster/home
, neu gestartet autofs und die Dinge wieder funktionieren.
Jetzt möchte ich entfernen /gluster_broken
.
Das Problem ist, dass offensichtlich eine Symlink-Schleife vorhanden ist /gluster_broken/home
. Ich weiß nicht, woher es kam. Meine Versuche, es loszuwerden, waren bisher erfolglos.
[root@dc1-03 /]# rm -rf gluster_broken/
rm: cannot remove `gluster_broken/home': Too many levels of symbolic links
[root@dc1-03 /]# rm -rf /gluster_broken/
rm: cannot remove `/gluster_broken/home': Too many levels of symbolic links
[root@dc1-03 /]# rm -rf /gluster_broken/home/
rm: cannot remove `/gluster_broken/home/': Is a directory
[root@dc1-03 /]# rm -rf /gluster_broken/home
rm: cannot remove `/gluster_broken/home': Too many levels of symbolic links
[root@dc1-03 /]# rmdir /gluster_broken/home/
rmdir: failed to remove `/gluster_broken/home/': Device or resource busy
[root@dc1-03 /]# fuser -m /gluster_broken/home/
Cannot stat /gluster_broken/home/: Too many levels of symbolic links
Cannot stat /gluster_broken/home/: Too many levels of symbolic links
Cannot stat /gluster_broken/home/: Too many levels of symbolic links
[root@dc1-03 /]# ls -ld /gluster_broken/home/
ls: cannot access /gluster_broken/home/: Too many levels of symbolic links
[root@dc1-03 /]# ls -ld /gluster_broken/home
drwxr-xr-x. 2 root root 0 Jan 22 10:20 /gluster_broken/home
[root@dc1-03 /]# fuser -m /gluster_broken/home
Wie Sie sehen können, geben die meisten Befehle alle dieselbe Fehlermeldung aus. Ich würde dieses Problem wirklich gerne loswerden. Aber ich bin hier etwas ratlos. Irgendwelche Vorschläge?
Ausgabe der vorgeschlagenen Befehle:
[root@dc1-03 /]# ls /gluster_broken/
home
[root@dc1-03 /]# ls /gluster_broken/home/
ls: cannot access /gluster_broken/home/: Too many levels of symbolic links
[root@dc1-03 /]# ls -hblF /gluster_broken /gluster_broken/home
/gluster_broken:
total 0
drwxr-xr-x. 2 root root 0 Feb 4 12:00 home/
ls: cannot open directory /gluster_broken/home: Too many levels of symbolic links
rm -rf gluster_broken
?/gluster_broken/home
gemountet (wie in / proc / mounts zu sehen)?ls -hblF /gluster_broken /gluster_broken/home
namei /gluster_broken/home
sagt das?Antworten:
Versuchen Sie zu finden.
um die Linkschleifen zu finden
dann eine nicht rekursive
rm
auf die fehlerhafte (n) Datei (en)find folgt Links und findet den gleichen Fehler "zu viele Ebenen". Ich benutze -mindepth, um weniger als 10 tief herauszufiltern, um die ok-Dateien / Verzeichnisse zu vermeiden. Ja, dies setzt voraus, dass Sie nicht mehr als 10 tief in Ihrem normalen Baum haben. Dieser Befehl versucht lediglich, die fehlerhafte Datei zu finden.
- bearbeiten
Ich denke, Befehl zu befolgen ist besser,
Hier ist mein Test
--- bearbeiten 2
Ich denke, mein Vorschlag (Kommentar), das Dateisystem zu überprüfen, könnte am besten sein. Ich habe gerade diese Antwort gesehen und mich gefragt, ob Sie ein ähnliches Problem haben.
quelle
-maxdepth 10
nicht da sein sollte. Ich werde bearbeiten.ls -l /gluster_broken
.Vielleicht irre ich mich, aber anscheinend hat niemand die Frage beantwortet.
Das Problem ist, dass Sie das
/
am Ende Ihres Befehls haben.Anstatt
Renn einfach
Wenn Sie das
/
am Ende einfügen, versuchen Sie, in das Verzeichnis zu gelangen, das ein zirkulärer Link ist, sodass es nie den unteren Rand findet. Ohne das/
entfernen Sie einfach den symbolischen Link.quelle
Ich bin kürzlich auf dasselbe Problem gestoßen, als ich einen Symlink erstellt habe, ohne ihm ein absolutes Verzeichnis zu geben.
Dies gab den gleichen Fehler beim Versuch, die Datei zu lesen ("Zu viele Ebenen von Symlinks"):
Scheinbar, weil der Symlink versucht, auf sich selbst zurückzukehren:
Aber das hat funktioniert:
Hoffentlich hilft dies jemandem in der gleichen Situation.
quelle
Sie können / gluster_broken / home nicht entfernen, da / gluster_broken selbst ein defekter Link ist.
Sie werden sehen, dass es sich um einen Link handelt. Also entferne es:
quelle