Willkommen Gast 

Infos ein-/ausblenden

Willkommen Gast! Um Beiträge zu verfassen musst Du registriert sein.





Seiten: [1]
Autor Thema:Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
norbert6
Neuling
Beiträge: 5
Permalink
avatar
Beitrag Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
am August 5, 2014, 12:54
Zitat

Hallo zusammen,

zunächst einmal vielen Dank für dieses tolle Programm, es macht wirklich Spaß damit zu arbeiten.
Ich bin allerdings auf ein hoffentlich kleines Problem gestoßen:
Und zwar scheinen symbolische Links nicht korrekt gesichert zu werden.
Es werden zwar symbolische Links angelegt und diese lassen sich mit entsprechenden Programmen auch ganz normal nutzen. Jedoch erkennt der Explorer sie nicht korrekt.
So lässt sich z.B. der Link auf eine txt-Datei mit Notepad ganz normal öffnen, es ist jedoch nicht möglich sie mit einem Doppelklick zu öffnen.
Laut Dateieigenschaften handelt es sich um eine .symlink, jedoch ist im Reiter Verknüpfung kein Ziel angegeben.

Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken^^

lupinho
Administrator
Beiträge: 713
Permalink
avatar
Beitrag Re: Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
am August 6, 2014, 08:58
Zitat

Klingt seltsam. Wohin zeigt der Link - in auf eine Datei innerhalb des Backups oder außerhalb? Hast Du das Problem bei allen Backupsätzen - sprich: bei einem Voll/Erstbackup ebenso wie bei den folgenden Backupsätzen?

norbert6
Neuling
Beiträge: 5
Permalink
avatar
Beitrag Re: Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
am August 6, 2014, 14:31
Zitat

Es handelt sich in meinem Fall um einen inneren Link und das Problem tritt jedesmal auf, also sowohl beim Erstbackup als auch bei folgenden.
Ich habe die LinkShellExtension installiert, das Problem tritt sowohl auf, wenn ich über diese den Link erstelle als auch beim mklink Kommando.
Die LSE fügt in den Eigenschaften einen weitern Tab hinzu, der sich "Link Eigenschaften" nennt. Dort ist das korrekte Linkziel angegeben, im windowseigenen Reiter "Verknüpfung" ist das Feld jedoch leer.
Kann es sein, dass bei einem symbolsichen Link das Ziel auf verschiedene Art und Weise angegeben werden kann?
So wie HardlinkBackup es angiebt, scheinen die einzelnen Programme damit umgehen zu können, der Explorer möchte aber gerne eine andere Ansprache haben?
so wirkt es zumindest für mich...

norbert6
Neuling
Beiträge: 5
Permalink
avatar
Beitrag Re: Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
am August 19, 2014, 09:31
Zitat

Konntest Du irgendwas herausfinden, oder warst Du vielleicht sogar in der Lage das Problem zu reproduzieren?

lupinho
Administrator
Beiträge: 713
Permalink
avatar
Beitrag Re: Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
am September 2, 2014, 23:08
Zitat

Hi ,

sorry, dass ich erst jetzt antworte. Was Du beschreibst klingt ehrlich gesagt normal:

  • Windows-Verknüpfungen sind keine Links im Sinne vom Dateisystem. Es sind Dateien (Endung ".lnk"), die der Explorer als Verknüpfung zum Original auffasst. LSE zeigt den Reiter "Link-Eigenschaften" normalerweise nicht an.
  • Symbolische Links werden beim Dir-Befehl mit <Symlink> bzw. <SymlinkD> (bei Verzeichnissen) markiert. In LSE wird ein Reiter "Link-Eigenschaften" angezeigt, der den Typ und das Ziel anzeigt. Der Reiter "Verknüpfung" ist leer (falls es nicht zufälligerweise einer symbolischer Link auf eine Windows-Verknüpfung ist.
  • Hardlinks werden von Dir oder im Explorer überhaupt nicht ausgewiesen. LSE zeigt alle Hardlinks zur Datei in dem Link-Eigenschaften-Reiter an. Der Reiter "Verknüpfung" ist leer (falls es nicht zufälligerweise einer symbolischer Link auf eine Windows-Verknüpfung ist.

Dieses Verhalten ist normal und resultiert aus der Tatsache, dass eine Windows-Verknüpfung kein Dateisystem-Link ist. Die Verknüpfungen kommen noch aus einer Zeit von Windows, in der FAT das Dateisystem war, dass keine Links konnte.

Ich verstehe halt Dein Problem noch nicht. HardlinkBackup nutzt hauptsächlich Hardlinks; die sind vollkommen transparent für den Benutzer, für Windows und für die meisten Programme. D.h. die merken gar nicht, dass sie mit einem Hardlink arbeiten. Genau genommen gibt es sowas wie einen "Hardlink" auch nicht, denn als "Hardlink" bezeichnet man nur einen weiteren Verzeichnis-Eintrag ein und derselben Datei; es gibt keinen Unterschied zwischen dem "Orginal" und dem "Hardlink", daher kann man auch getrost das Orginal löschen und der "Hardlink" wird zum "Original".
Daher verstehe ich Dein Problem prinzipiell nicht.
Gruß,
Lupinho.

norbert6
Neuling
Beiträge: 5
Permalink
avatar
Beitrag Re: Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
am September 4, 2014, 10:43
Zitat

Okay, ich versuche es nochmal aus einer anderen Richtung aus zu erklären.
Ich habe der Einfachhalt halber eine saubere Testumgebung benutzt, Windows 8.1 64bit, Hardlinkbackup 64bit, keine LSE um auf der sicheren Seite zu sein.
Ich habe einen Daten-Ordner angelegt, in diesem befindet sich eine PNG Datei. über die Kommandzeile habe ich einen symbolischen Link erzeugt:

>mklink symlink.png test.png

Dann habe ich mir über

dir /al

den Link anzeigen lassen.
Die Ausgabe war:

<SYMLINK> symlink.png [test.png]

Im Explorer kann ich durch Doppelklicken sowohl auf den Link als auch auf die Datei die PNG-Datei in der Windows-Fotoanzeige öffnen.

Nun habe ich HardlinkBackup ein Backup machen lassen.
Im Backupverzeichnis öffnet nur die test.png das Bild, beim klicken auf den Link passiert nichts.
Ich habe mir auch hier die symbolischen Links anzeigen lassen, die Ausgabe war:

<SYMLINK> symlink.png [\\?\C:\Users\Test\BackupTest\Backup\2014-09-04\Daten\test.png]

Meiner Meinung nach liegt hier das Problem, Windows kommt mit der Angabe des Ziels in dieser Form nicht zurecht.

Versuche ich nun das Backup wiederherzustellen, konnt es zu einem Fehler mit folgendem Log:

...
[10:39:40.66] ERR: The worker FileScanWorker[Id=Lupinho.Net.HardlinkBackup.Engine.Workers.FileScanWorker@46, WorkerState=Failed] failed because an exception occured:
[10:39:40.66] ERR: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.FileRestoreWorker.GetTargetPathForName(String name)
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.FileRestoreWorker.GetBackupOperation(BaseEntry baseEntry, IFileVariant fileVariant, String& sourcePath)
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.AbstractFileBackupWorker.CalculateWork(BaseEntry baseEntry, IFileVariant fileVariant, IndexType indexType)
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.AbstractFileWorker.#=qpuBFA62C8coO4CLsd6e1ZUSmQfO1pNgwsQ4zTkFGf3k=(IFileVariant #=qCMdw33$OgzrEmy2bw89coA==, IndexType #=qYwisF3n2Wiqr3UhhJsvqXg==, UInt64 #=q1hTyn5IXwxTEKcCEYLrCdg==)
   bei Lupinho.Net.HardlinkBackup.Engine.FileVariant.FileVariantStore.#=q01hzsW_D07rJ2tkrVSjHcA==(IFileVariant #=qLkJD123L$2KEaHqZODJeBw==)
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.FileScanWorker.#=qry6KMvXeRAcTZvQJsrTGWg==()
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.FileScanWorker.Work(IWorkerRunControl workerRunControl, IProgressMonitorTask workingTask)
   bei Lupinho.Net.Worker.AbstractWorker.Continue()
[10:39:40.66] FAT: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.FileRestoreWorker.GetTargetPathForName(String name)
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.FileRestoreWorker.GetBackupOperation(BaseEntry baseEntry, IFileVariant fileVariant, String& sourcePath)
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.AbstractFileBackupWorker.CalculateWork(BaseEntry baseEntry, IFileVariant fileVariant, IndexType indexType)
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.AbstractFileWorker.#=qpuBFA62C8coO4CLsd6e1ZUSmQfO1pNgwsQ4zTkFGf3k=(IFileVariant #=qCMdw33$OgzrEmy2bw89coA==, IndexType #=qYwisF3n2Wiqr3UhhJsvqXg==, UInt64 #=q1hTyn5IXwxTEKcCEYLrCdg==)
   bei Lupinho.Net.HardlinkBackup.Engine.FileVariant.FileVariantStore.#=q01hzsW_D07rJ2tkrVSjHcA==(IFileVariant #=qLkJD123L$2KEaHqZODJeBw==)
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.FileScanWorker.#=qry6KMvXeRAcTZvQJsrTGWg==()
   bei Lupinho.Net.HardlinkBackup.Engine.Workers.FileScanWorker.Work(IWorkerRunControl workerRunControl, IProgressMonitorTask workingTask)
   bei Lupinho.Net.Worker.AbstractWorker.Continue()
...
lupinho
Administrator
Beiträge: 713
Permalink
avatar
Beitrag Re: Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
am September 8, 2014, 16:33
Zitat

Hi,
sorry, meine Antwort neulich ist wohl flötengegangen und jetzt bin ich im Urlaub... daher nur kurz:
Danke für den Fehlerstacktrace, den Fehler habe ich lokalisiert. Er hat zwar mit symbolischen Links zu tun, ist aber ein anderes Problem. den Fehler konnte ich lokalisieren und beheben. Mit dem nächsten Release wird das wieder fehlerfrei funktionieren.
Die Angabe des Link-Ziels sollte kein Problem machen und bei mir funktioniert auch der Doppelklick auf den Link korrekt (Win7, Win8.1 müsste ich noch testen). Der Link-Pfad wird absolut angegeben, das Präfix \\?\ ist das für lange Pfadnamen. Der Syntax ist korrekt, dennoch kann ich darüber nachdenken, relative Pfadnamen zu verwenden. Das gucke ich mir mal an.
Interessant wäre, ob Du mit mklink und Angabe des absoluten Pfads (ich weiss nicht, ob das Kommando mit langen Pfadnamen umgehen kann) einen ähnlichen Effekt erzeugen kannst. Kannst Du außerdem mal in der Ereignisanzeige gucken, was Dein Windows beim Doppelklick auf die Datei macht; sprich: welcher Fehler da passiert? Das wäre hilfreich. Ich gucke mir das Problem auf jeden Fall nach meinem Urlaub nochmal intensiv an.
Gruß,
Lupinho.

norbert6
Neuling
Beiträge: 5
Permalink
avatar
Beitrag Re: Gesicherte symbolische Links lassen sich im Explorer nicht öffnen
am September 10, 2014, 09:56
Zitat

Ja, das Problem tritt auch auch, wenn ich absolute Pfade beim mklink Befehl verwende.
In der Ereignisanzeige konnte ich leider nichts finden. Kenne mich damit aber auch nicht so gut aus, wenn da also eigentlich was sein müsste, könntest du mir vielleicht sagen wo genau ich suchen muss?

Ich bin auf jeden Fall erstmal froh, die Ursache für das Problem jetzt verstanden zu haben.
Auch wenn ich etwas verwirrt bin, dass scheinbar Microsoft nicht in der Lage ist die eigene Software so zu schreiben, dass sie mit dem Pfad-Präfix \\?\ zurechtkommt und so immernoch ein Pfadlängen-Limit von 260 Zeichen diktiert 😕
Andere Porgramme wie TotalCommander oder IrfanView bekommen das übrigens gebacken, aber so kennt man das ja von MS.

Unabhänig von diesem Problem fänd ich eine Option, relative Links auch im Backup und späteren Wiederherstelungen relativ zu setzen sehr charmant.
Vielleicht auch die Möglichkeit, bei absoluten Angaben die Nutzung des Präfixes zu unterbinden, oder aber es bei einer Wiederherstellung zu entfernen (Das hätte den Vorteil, dass man sich keine Sorgen über zu lange Pfade in der Backup-Struktur machen muss. Beim Wiederherstellen kommt der Link ja wieder an seine ursprüngliche Position, wo die Pfadlänge ja passen muss, da Windows sonst ja den link garnicht hätte anlegen können)

So oder so, ich danke dir auf jeden Fall schonmal für den guten Support und wünsche viel Spaß im Urlaub!

Seiten: [1]
Mingle Forum by cartpauj
Version: 1.0.34 ; Die Seite wurde geladen in: 0.059 Sekunden.