Я сделал несколько ссылок на файлы в папке. Когда я добавил эту папку в Dropbox, ссылки содержали дублированные копии файлов, на которые они ссылаются. У вас была эта проблема? Вы понимаете, что происходит? Есть ли решение?
Чтобы прояснить этот вопрос: в столбце «Тип» файлового менеджера перед подключением к Dropbox было показано, что Link_to_notes является ссылкой, а размер составляет 32 байта. После подключения к Dropbox было показано, что Link_to_notes представляет собой простой текстовый документ, и его размер составляет 18,7 КБ, размер файла заметок.
dropbox
symbolic-link
user119046
источник
источник
Ответы:
DropBox следует по символическим ссылкам и рассматривает их как каталоги. Это действительно полезно для резервного копирования без необходимости перемещать файлы и каталоги в каталог DropBox.
источник
Лучший способ сделать это - хранить файлы в папке dropbox и ссылаться на них извне ...
Создайте ~ / Dropbox / Documents and symlink:
Это перестает сбивать с толку Dropbox и деинсталлировать все, что является ссылкой внутри, потому что у вас есть все вещи внутри, и вместо этого, когда вы хотите, чтобы они были в другом месте, вы ссылаетесь на них в Dropbox. Основное правило: не размещайте символические ссылки внутри папки dropbox ... размещайте их вне папки dropbox, и у вас не возникнет проблем.
У меня есть Dropbox на нескольких машинах с Ubuntu, и все мои основные папки верхнего уровня хранятся в Dropbox.
источник
dropbox будет следовать ссылкам sym на каталоги, но он разорвет ссылку (sym или hard) на файл и заменит ее файлом.
источник
TL; DR: ниже приведен способ получить поведение, очень похожее на символические ссылки, только на уровне графического интерфейса пользователя (GUI), что особенно полезно, если вы не хотите, чтобы DropBox повторно копировал одни и те же файлы в разные папки в DropBox. иерархия только потому, что вы хотите просматривать их из разных мест (например, пути к папкам).
Фон
Неоднократно меня сжигали дубликаты папок DropBox, если я создавал символические ссылки (символические ссылки) в иерархии папок DropBox, даже до момента заполнения моей учетной записи. Как отмечают многие в Интернете, в DropBox нет правильного решения проблемы правильной обработки символьных ссылок, что вызывает сожаление, поскольку им не составит труда сделать это.
Временное решение
Однако я могу использовать один обходной путь для достижения эквивалентного поведения символических ссылок в иерархии DropBox - то, что другие часто называют «внутренними символическими ссылками» - без дублирования DropBox - это создание эквивалента файла ярлыка Windows (т.е. файл .lnk в экосистеме MS). Я делаю это, создавая файл .desktop, который открывает файловый менеджер моей системы по нужному пути. Таким образом, этот обходной путь работает только на уровне графического интерфейса и только для XDG-совместимых систем (например, Ubuntu, системы на основе GNOME и многие другие).
пример
Например, я читаю передовые методы Python для новой работы, которую я беру, и PDF-файлы, которые я читаю, хранятся в моей папке DropBox для приложения GoodReader (iOS), поэтому я могу читать их оба на своем рабочем столе. и с моими мобильными устройствами. Вместо того, чтобы переходить к этой папке (
/home/morse/lib/active/GoodReader/Books/Python
), я просто создаюPython.desktop
папку/home/morse/Desktop
со следующим содержимым:(Примечание: Убедитесь , что адаптировать
Exec=nautilus ...
часть , если вы используете файловый менеджер, кроме Nautilus, и, конечно , вы хотите , чтобы адаптироватьName=
,Icon=
и путь частьExec=
линии для каждого «линка» , который вы хотите создать.)При этом на рабочем столе я вижу папку с именем Python, которая действует как символическая ссылка, то есть я дважды щелкаю по ней, и она открывает соответствующую папку, но только небольшой текстовый файл (например, Python. Desktop) синхронизируется с DropBox и другими моими системами (в отличие от всего содержимого, которое в конечном итоге дублируется DropBox).
Как и в случае других файлов .desktop, права доступа должны быть установлены таким образом, чтобы файл был как читаемым, так и исполняемым (например,
chmod 700 Python.desktop
илиchmod 755 Python.desktop
) для отображения указанного значка и для двойного щелчка по нему, чтобы фактически что-либо сделать.Резюме
Итак, у меня всегда будут фактические файлы, доступные где-то в DropBox - в этом примере
/home/morse/lib/active/GoodReader/Books/Python
- но у меня также будет ярлык на рабочем столе для всех моих систем на основе Linux, для которых я также настроен DropBox.Конечно, этот обходной путь не работает на уровне командной строки, как действительная символическая ссылка.
Тем не менее, это, кажется, новый обходной путь на уровне графического интерфейса, который я не видел в других местах. Поэтому я надеюсь, что этот подход может быть полезен для других.
источник
Сожмите ваши ссылки и сохраните сжатый файл в Dropbox
Предыдущие ответы являются исчерпывающими и ясными. Я просто предлагаю три обходных пути, основанные на одном принципе. Третий выглядит сложнее, но очень эффективно. Идея такова: сжать ваши символические ссылки в файл tar, который Dropbox не будет рассматривать как ссылку, и сохранить его в Dropbox. Третий способ почти такой же прямой, как копирование ваших ссылок непосредственно в Dropbox - на самом деле гораздо быстрее, чем копирование нескольких ссылок одна за другой.
У меня есть около двадцати символических ссылок, которые я обычно использую в своей установке Lubuntu, например, для быстрого доступа к bash-сценариям, сохраненным в Dropbox, к внешним hdds, часто используемым документам и т. Д. Они все находятся в моем домашнем каталоге и в Desktop, и я нахожу его удобно иметь их копию Dropbox для использования в других установках или когда я dist-upgrade (то есть когда я переустанавливаю после попытки dist-upgrade;).
1-й путь
Вы создаете каталог MyLinks (скажем, в Documents) и копируете на него все свои домашние символические ссылки; если у вас есть символические ссылки в других каталогах, создайте подкаталоги в MyLinks и скопируйте в них свои символические ссылки. Например, если ссылки, которые вы хотите сохранить, находятся дома и на рабочем столе, скопируйте домашние ссылки на MyLinks, создайте в нем каталог с именем Desktop и скопируйте на него ссылки рабочего стола. Затем откройте Terminal, cd Documents (при условии, что это каталог, в котором находится MyLinks) и создайте tar-файл:
(Не забудьте добавить расширение ".tar" к имени файла tarfile, иначе Ubuntu Archive Manager откажется его открывать.) Если вы сделаете это, будьте осторожны, чтобы не добавить параметр -h (--dereference) в tar, потому что он будет точно вести себя как Dropbox и сжимать целевые файлы вместо символических ссылок. (Кстати, такое поведение было бы желательно в большинстве случаев, особенно если кто-то стремится к переносимости, но это не так, если кто-то хочет сохранить символические ссылки как символические ссылки.)
Файл tar также будет содержать временно прерванные ссылки, такие как ссылки на внешние жесткие диски, которые в данный момент не смонтированы, - это нормально.
Сохраните файл tar в вашем Dropbox. Когда вам понадобятся ссылки назад, скопируйте файл tar в каталог в вашей файловой системе (не в Dropbox), распакуйте его (просто щелкните правой кнопкой мыши и выберите «Извлечь здесь») и скопируйте символические ссылки обратно в места, где вы хотите их получить. ,
2-й способ
Если символические ссылки, которые вы хотите сохранить, имеют однозначный префикс (например, «MySl» ...), вы можете очень быстро создать свой tarfile следующим образом (добавлены ненужные пробелы, чтобы избежать ошибок):
Точка после «найти» означает текущий каталог: откройте «Терминал» в своем домашнем каталоге (по умолчанию). Вы можете обязательно добавить путь к файлу tar и выполнить команду из другого каталога, который не является домашним: замените «.» с путем к вашему дому / пользователю. Не нужно делать рабочие каталоги, как MyLinks выше. Восстановление символических ссылок также выполняется быстро: вы копируете tarfile на дом, нажимаете на него правой кнопкой мыши и «извлекаете здесь». Однако, прежде чем начать префикс всех имен ваших символических ссылок, взгляните на следующую опцию.
3-й способ (и лучший)
Очень быстрый способ собрать все ваши символические ссылки в tar-файле: открыть Терминал в вашем доме / пользователе (который используется по умолчанию при открытии Терминала) и:
Недостатком является то, что вы получаете ВСЕ ваши ссылки, включая некоторые символические ссылки на mozilla или hplip, о которых вы даже не подозревали. Чтобы избежать этого и скопировать все и только символические ссылки из указанного списка каталогов без рекурсии , вы пишете список после «find» в приведенной выше команде. Скажем, вы хотите сохранить ссылки из дома / пользователя и рабочего стола; ты можешь написать
«-maxdepth 1» предназначен для предотвращения повторного обнаружения находки в доме. Вы можете добавить путь к tarfile, если хотите. В качестве альтернативы:
Если вы ленивы и хотите использовать это часто, вы можете добавить его в качестве псевдонима к .bashrc или .bash_aliases в вашем домашнем каталоге (.bash_aliases - очень удобный способ сбора ваших псевдонимов и, почему бы и нет, сохранения их в Dropbox ...). Просто создайте новый пустой файл с именем .bash_aliases в вашем домашнем каталоге (то есть / home / user), откройте его в текстовом редакторе и напишите в нем следующую строку:
Замените каталоги после «find» теми, которые вы выбрали, а «save_symlinks» - именем команды по вашему выбору. Чтобы восстановить, откройте ваш файловый менеджер (если путь к каталогам в приведенной выше команде не абсолютен, tarfile должен быть в home / user), щелкните правой кнопкой мыши и распакуйте.
Если вы сделаете это, жизнь станет проще. Все, что вам нужно сделать, это:
SAVE: введите save_symlinks в терминале, сохраните tarfile у себя дома в Dropbox; ВОССТАНОВЛЕНИЕ: скопируйте файл из Dropbox в вашу домашнюю директорию, щелкните по нему правой кнопкой мыши и выберите «извлечь здесь».
источник