Zu viele Ebenen aus symbolischen Links

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Zu viele Ebenen aus symbolischen Links

Beitrag von _ash » 02.12.2018 09:36:33

Meine Frau hat auf ihrem Debian Stable Rechner einige Dateien verschoben, dabei wohl auch einige symbolische Links. Jetzt lassen sich einige dieser Links nicht mehr öffnen, und die Zieldateien scheinen verschwunden. Ich kann nicht ganz nachvollziehen, was genau sie gemacht hat. Der Fehler, der erscheint, sagt mir, dass es zu viele Ebenen aus symbolischen Links gibt.
Hat mir jemand Ansatzpunkte, wie ich das beheben könnte?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Zu viele Ebenen aus symbolischen Links

Beitrag von rendegast » 02.12.2018 10:43:27

Das dumme ist,
so genau läßt sich nicht sagen, wie die Dateimanager Links (in Standardeinstellung) verschieben.

Mein mc läßt den Link genauso, wie er ist, im anderen Verzeichnis also für gewöhnlich als toter Link.

Andere ändern den Link beim Verschieben, um das Target weiterhin gültig zu lassen.
Und da sind verschiedene Ansätze möglich,
zBsp. relative Erweiterung zum vorherigen Ort.
Dann könnte sowas entstehen : ../../.././sdsd/dscsdfsdf/../../../../sdfcs/../target

Andernfalls ist eine Änderung auf den absoluten Dateisystempfad des target denkbar.

Und Kombinationen davon.

"Problem", wenn dabei selbstreferenzierende Linkverkettungen entstehen
(einfaches Bsp. /boot/boot -> .), und der Dateimanager oder zBsp. 'grep' dann "dumm" den Links folgen.



Erhalten bleibt eigentlich immer/nur Name des Link und Angabe des "target".
Das wäre dann auch der Ansatz, den Fehler wieder rückgängig zu machen,
ZBsp. mit einem Vergleich zu einem Backup oder einer noch nicht(!) aktualisierten locate-Datenbank.
-> Maßnahme: /etc/cron.daily/mlocate (oder entsprechend) deaktivieren,
resp. /var/lib/mlocate/ sichern.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: Zu viele Ebenen aus symbolischen Links

Beitrag von _ash » 02.12.2018 12:01:59

Ich konnte die Sache noch etwas genauer rekonstruieren: Auf dem (Cinnamon) Desktop lag Verknüpfung A. Meine Frau hat eine andere Verknüpfung B in Verknüpfung A geschoben. Am Ziel von Verknüpfung A lag ein Ordner, der den gleichen Namen hatte wie Verknüpfung B hat. Auf Rückfrage hat sie daraufhin die beiden gemergt.
Ich vermute mal, damit wurde der ursprüngliche Ordner gelöscht, richtig?

willy4711

Re: Zu viele Ebenen aus symbolischen Links

Beitrag von willy4711 » 02.12.2018 12:46:16

Wenn man Verknüpfungen löscht werden für gewöhnlich nicht die Ziele gelöscht.
Jedenfalls ist mir das noch nicht passiert.
Wenn du den Namen irgendeiner Datei in diesen Ordner kennst, würde ich erst mal die Suche anlaufen lassen, um zu sehen, wo sich
die Kandidaten versteckt halten
Pech wäre natürlich, wenn das ein Ordner war, der direkt in /home/user/Schreibtisch/ (Bezeichnung in Xfce) gespeichert war.
Dann ist er weg.
Mal im Papierkorb nachgeschaut ?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Zu viele Ebenen aus symbolischen Links

Beitrag von rendegast » 02.12.2018 13:32:22

Am Ziel von Verknüpfung A lag ein Ordner, der den gleichen Namen hatte wie Verknüpfung B hat.
Dann hätte der Dateimanager beim Verschieben von BLink nach ALink resp. ATarget irgendwas melden sollen derart "Objekt "BLink" schon vorhanden".

Und was "merge" hier bedeutet? Eine Funktion des verwendeten cinnamon-Dateimanagers?
Soll es meinen, Inhalt von ATarget und BTarget zusammenzuwerfen?

Ich denke, das wirst Du selber auseinanderklamüseln müssen.

Code: Alles auswählen

find ATarget/ -type l -ls
find BTarget/ -type l -ls
Listet die Links beider Verzeichnisse und '-ls' zeigt dann deren Ziele.
Was aber unübersichtlich werden kann, da find nicht sortiert.



EDIT -----------------------------------------------------
Sortiert vielleicht so

Code: Alles auswählen

find /pfad...../ATarget/ -type l -ls  |  egrep -o "/.*"  |  sort
find /pfad...../BTarget/ -type l -ls  |  egrep -o "/.*"  |  sort
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten