Ich habe einige Links zu Dateien in einem Ordner erstellt. Als ich diesen Ordner zu Dropbox hinzugefügt habe, enthielten die Links doppelte Kopien der verknüpften Dateien. Hattest du dieses Problem? Verstehst du was passiert? Gibt es eine lösung
Um diese Frage klarer zu machen: In der Spalte "Typ" des Dateimanagers wurde vor dem Herstellen einer Verbindung zu Dropbox angezeigt, dass Link_to_notes ein Link ist, und die Größe betrug 32 Byte. Nach dem Herstellen der Verbindung zu Dropbox wurde Link_to_notes als einfaches Textdokument angezeigt. Die Größe der Notizen-Datei betrug 18,7 kB.
dropbox
symbolic-link
user119046
quelle
quelle
Antworten:
DropBox folgt symbolischen Links und behandelt sie als Verzeichnisse. Es ist sehr nützlich, um ein Backup zu erstellen, ohne dass Sie Dateien und Verzeichnisse in Ihr DropBox-Verzeichnis verschieben müssen.
quelle
Der beste Weg, dies zu tun, ist, die Dateien im Dropbox-Ordner zu speichern und von außen mit ihnen zu verknüpfen ...
Also erstelle ~ / Dropbox / Documents und symlink:
Dadurch wird verhindert, dass Dropbox verwirrt wird und Verknüpfungen zu Verknüpfungen aufgehoben werden, da alle Elemente vorhanden sind. Wenn Sie sie an einer anderen Stelle haben möchten, verknüpfen Sie sie in Dropbox. Die Grundregel ist, dass es im Dropbox-Ordner keine Symlinks gibt. Wenn Sie diese außerhalb des Dropbox-Ordners haben, ist dies kein Problem.
Ich habe Dropbox auf mehreren Ubuntu-Rechnern und habe alle meine wichtigsten Top-Level-Ordner tatsächlich in Dropbox gespeichert.
quelle
dropbox folgt sym-Links zu Verzeichnissen, unterbricht jedoch einen Link (entweder sym oder hard) zu einer Datei und ersetzt ihn durch eine Datei.
quelle
TL; DR: Unten ist eine Art und Weise Verhalten ganz ähnlich wie symbolische Links zu erhalten, an der grafischen Benutzeroberfläche (GUI) Ebene nur, was besonders hilfreich ist , wenn man nicht DropBox wiederholt die gleichen Dateien in verschiedenen Ordnern innerhalb der DropBox kopieren will Hierarchie, nur weil Sie sie von verschiedenen Orten (dh Ordnerpfaden) anzeigen möchten.
Hintergrund
Mehr als einmal wurde ich von DropBox beim Duplizieren von Ordnern gebrannt, wenn ich symbolische Links (Symlinks) in der DropBox-Ordnerhierarchie erstellte, bis mein Konto voll war. Wie viele im Internet bemerkt haben, gibt es keine wirkliche Lösung dafür, dass DropBox symbolische Links nicht richtig behandelt, was bedauerlich ist, da es für sie nicht schwer sein würde, dies zu tun.
Umgehung
Eine Abhilfemaßnahme, die ich jedoch verwende, um das entsprechende Verhalten von Symlinks in der DropBox-Hierarchie zu erreichen - was andere häufig als "interne Symlinks" bezeichnen -, ohne dass DropBox alles dupliziert, besteht darin, das Äquivalent einer Windows-Verknüpfungsdatei zu erstellen (d. H eine .lnk-Datei im MS-Ökosystem). Dazu erstelle ich eine .desktop-Datei, die den Dateimanager meines Systems unter dem gewünschten Pfad öffnet. Daher funktioniert diese Problemumgehung nur auf der GUI-Ebene und nur für XDG-kompatible Systeme (z. B. Ubuntu, GNOME-basierte Systeme usw.).
Beispiel
Zum Beispiel lese ich in fortgeschrittenen Python-Techniken für einen neuen Job, den ich annehme, und die PDFs, die ich lese, werden in meinem DropBox-Ordner für die GoodReader-App (iOS) gespeichert, damit ich sie beide auf meinem Desktop lesen kann und mit meinen mobilen Geräten. Anstatt einen Drilldown zu diesem Ordner (
/home/morse/lib/active/GoodReader/Books/Python
) durchführen zu müssen, erstelle ich einfach einenPython.desktop
Ordner/home/morse/Desktop
mit folgendem Inhalt:(Hinweis: Achten Sie darauf , die Anpassung
Exec=nautilus ...
Teil , wenn Sie einen Dateimanager andere als Nautilus verwenden, und natürlich werden Sie anpassen möchtenName=
,Icon=
und Pfadabschnitt derExec=
Linie für jede „Symlink“ Sie wollen erstellen.)Auf meinem Desktop wird ein Ordner mit dem Namen Python angezeigt, der sich wie ein symbolischer Link verhält. Das heißt, ich doppelklicke darauf und es wird der entsprechende Ordner geöffnet. Es wird jedoch nur eine kleine Textdatei (z. B. Python) angezeigt. Desktop) wird mit DropBox und meinen anderen Systemen synchronisiert (im Gegensatz zu allen Inhalten, die irgendwann überall von DropBox dupliziert werden).
Wie bei anderen .desktop-Dateien müssen die Berechtigungen so festgelegt werden, dass die Datei sowohl lesbar als auch ausführbar ist (z. B.
chmod 700 Python.desktop
oderchmod 755 Python.desktop
), damit das angegebene Symbol angezeigt wird und ein Doppelklick darauf ausgeführt werden kann.Zusammenfassung
Zusammenfassend habe ich dann immer die tatsächlichen Dateien irgendwo in DropBox verfügbar - in diesem Beispiel -,
/home/morse/lib/active/GoodReader/Books/Python
aber ich habe auch eine Desktop-Verknüpfung dazu für alle meine Linux-basierten Systeme, für die ich habe auch DropBox konfiguriert.Natürlich funktioniert diese Problemumgehung nicht auf der Befehlszeilenebene, wie es ein echter Symlink tun würde.
Dies scheint jedoch eine neuartige Problemumgehung auf der GUI-Ebene zu sein, die ich an keiner anderen Stelle gesehen habe. Ich bin also zuversichtlich, dass dieser Ansatz für andere von Nutzen sein kann.
quelle
Komprimieren Sie Ihre Links und speichern Sie die komprimierte Datei in Dropbox
Die vorherigen Antworten sind erschöpfend und klar. Ich schlage nur drei Problemumgehungen vor, die auf einem einzigen Prinzip basieren. Der dritte sieht schwieriger aus, ist aber sehr effizient. Die Idee ist: Komprimieren Sie Ihre Symlinks in eine TAR-Datei, die Dropbox nicht als Link behandelt, und speichern Sie sie in Dropbox. Der dritte Weg ist fast so direkt wie das direkte Kopieren Ihrer Links auf Ihre Dropbox - eigentlich viel schneller als das Kopieren mehrerer Links nacheinander.
Ich habe ungefähr zwanzig symbolische Links, die ich normalerweise in meiner Lubuntu-Installation verwende, z. B. für den schnellen Zugriff auf in Dropbox gespeicherte Bash-Skripte, auf externe Festplatten, auf häufig verwendete Dokumente usw. Sie befinden sich alle in meinem Heimverzeichnis und auf dem Desktop, und ich finde sie Es ist praktisch, eine Dropbox-Kopie davon für andere Installationen oder bei einem Dist-Upgrade (dh bei einer Neuinstallation nach dem Versuch, ein Dist-Upgrade durchzuführen) zu haben.
1. Weg
Sie erstellen ein Verzeichnis mit dem Namen MyLinks (z. B. in Documents) und kopieren alle Ihre Home-Symlinks in dieses Verzeichnis. Wenn Sie Symlinks in anderen Verzeichnissen haben, erstellen Sie Unterverzeichnisse in MyLinks und kopieren Sie Ihre Symlinks in diese Verzeichnisse. Wenn sich die Links, die Sie speichern möchten, zu Hause und auf dem Desktop befinden, kopieren Sie die Home-Links in MyLinks, erstellen Sie ein Verzeichnis mit dem Namen Desktop und kopieren Sie die Desktop-Links in das Verzeichnis. Öffnen Sie dann ein Terminal-CD-Dokument (sofern dies das Verzeichnis ist, in dem sich MyLinks befindet) und erstellen Sie eine tar-Datei:
(Denken Sie daran, dem Dateinamen die Erweiterung ".tar" hinzuzufügen, da Ubuntu Archive Manager sonst das Öffnen verweigert.) Wenn Sie dies tun, achten Sie nur darauf, die Option -h (--dereference) nicht zu tar hinzuzufügen würde sich genau wie Dropbox verhalten und die komprimieren Zieldateien anstelle der Symlinks . (Übrigens wäre ein solches Verhalten in den meisten Fällen zu begrüßen, insbesondere wenn man Portabilität anstrebt, aber nicht, wenn man die Symlinks als Symlinks speichern möchte.)
Die TAR-Datei würde auch Links enthalten, die vorübergehend beschädigt sind, z. B. Links zu externen Festplatten, die derzeit nicht eingebunden sind - was in Ordnung ist.
Speichern Sie die tar-Datei in Ihrer Dropbox. Wenn Sie die Links zurück benötigen, kopieren Sie die TAR-Datei in ein Verzeichnis in Ihrem Dateisystem (nicht in Dropbox), extrahieren Sie sie (klicken Sie einfach mit der rechten Maustaste und wählen Sie "Hier extrahieren") und kopieren Sie Ihre symbolischen Links zurück an die gewünschten Speicherorte .
2. Weg
Wenn die Symlinks, die Sie speichern möchten, ein eindeutiges Präfix haben (z. B. "MySl" ...), können Sie Ihr Tarfile auf diese Weise sehr schnell erstellen (unnötige Leerzeichen hinzugefügt, um Fehler zu vermeiden):
Der einzelne Punkt nach "find" steht für das aktuelle Verzeichnis: Öffnen Sie das Terminal in Ihrem Home-Verzeichnis (standardmäßig). Sie können der TAR-Datei sicher einen Pfad hinzufügen und den Befehl von einem anderen Verzeichnis aus ausführen, das nicht zu Hause ist: Ersetzen Sie das "." mit dem Pfad zu Ihrem Zuhause / Benutzer. Es ist nicht erforderlich, Arbeitsverzeichnisse wie oben unter MyLinks zu erstellen. Das Wiederherstellen der Symlinks geht ebenfalls schnell: Sie kopieren die Tarfile in Ihr Zuhause, klicken mit der rechten Maustaste darauf und "hier extrahieren". Bevor Sie jedoch mit dem Präfix aller Namen Ihrer Symlinks beginnen, sehen Sie sich die nächste Option an.
3. Weg (und am besten)
Eine sehr schnelle Möglichkeit, alle Ihre Symlinks in einer TAR-Datei zu sammeln, ist: Öffnen Sie ein Terminal in Ihrem Zuhause / Benutzer (dies ist die Standardeinstellung, wenn Sie ein Terminal öffnen) und:
Der Nachteil ist, dass Sie ALLE Ihre Links darin erhalten, einschließlich einiger Mozilla- oder HPLIP-Symlinks, von denen Sie nicht einmal wussten, dass Sie sie haben. Um dies zu vermeiden und alle und nur die Symlinks aus einer angegebenen Verzeichnisliste ohne Rekursion zu kopieren , schreiben Sie die Liste nach "find" in den obigen Befehl. Angenommen, Sie möchten die Links von zu Hause / Benutzer und Desktop speichern. Du kannst schreiben
"-maxdepth 1" soll verhindern, dass ein Fund durch die Heimat zurückkehrt. Sie können einen Pfad zu tarfile hinzufügen, wenn Sie möchten. Alternative:
Wenn Sie faul sind und dies häufig verwenden möchten, können Sie es als Alias zu .bashrc oder .bash_aliases in Ihrem Ausgangsverzeichnis hinzufügen (.bash_aliases ist eine sehr praktische Methode, um Ihre Aliase zu sammeln und, warum nicht, in zu speichern Dropbox ...). Erstellen Sie einfach eine neue leere Datei mit dem Namen .bash_aliases in Ihrem Ausgangsverzeichnis (d. H. / Home / user), öffnen Sie sie mit einem Texteditor und schreiben Sie die folgende Zeile hinein:
Ersetzen Sie die Verzeichnisse nach "find" durch die Ihrer Wahl und "save_symlinks" durch einen Befehlsnamen Ihrer Wahl. Öffnen Sie zum Wiederherstellen Ihren Dateimanager (wenn der Pfad zu den Verzeichnissen im obigen Befehl nicht absolut ist, muss sich die Tarfile in home / user befinden), klicken Sie mit der rechten Maustaste und extrahieren Sie sie.
Wenn Sie dies tun, ist das Leben einfacher. Alles was du tun musst, ist:
SPEICHERN: Geben Sie save_symlinks in das Terminal ein und speichern Sie die Datei in Ihrem Zuhause in Dropbox. WIEDERHERSTELLEN: Kopieren Sie die Datei von Dropbox in Ihr Ausgangsverzeichnis, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Hier extrahieren".
quelle