Dropbox синхронизирует жесткие ссылки?

У меня есть папка с большими файлами. Я хочу, чтобы эта папка находилась в двух разных местах одновременно - мои домашние документы и моя папка с документами колледжа.

Я сделал это с помощью символической ссылки из папки College в папку Home.

К сожалению, Dropbox синхронизирует мою папку College - и мое файловое пространство было быстро использовано.

Использует ли Dropbox жесткие ссылки, и если да, то как их создать?

4
задан 11 April 2016 в 20:49

2 ответа

Оказывается, что этот ответ был ошибочен, см. сообщение Andrew для корректного ответа.

Да я делаю.

я протестировал его со стандартной бесплатной учетной записью Dropbox с папкой Dropbox в btrfs объеме.

тест был:

ln /media/username/volume/Documents/testfile /media/username/volume/Dropbox/testfile
ls -li /media/username/volume/Documents/testfile
ls -li /media/username/volume/Dropbox/testfile

первое число от ls -li команда показывает th inode число, число между полномочиями и именем пользователя является счетчиком ссылки (шоу, сколько жестких ссылок файл имеет).

Сразу после выполнения ln управляют, чтобы значок попытки Dropbox показал действие и эффективно загрузил тестовый файл.

я также протестировал для создания второй жесткой ссылки в папке Dropbox, и она также загрузила файл, я не уверен, знает ли это, что это - только один.

Мой тестовый файл составляет маленькие 18 КБ .ods файл, но он должен также работать большие файлы.

О жестких ссылках и inodes:

при создании жесткой ссылки файла, Вы даете ему просто второе имя в другой папке (или то же, если Вам нравится к).

Это - файлы, действительно не помещаются в папки, они находятся на жестком диске, определенном i-узлом (зависит от типа файловой системы).

Поэтому, что такое папки?

Папка является просто списками, также определенными i-узлом, которые содержат названия файлов и других папок, которые являются 'в' них. Каждый элемент в этом списке указывает на, он - соответствующий i-узел.

Поэтому, если Вы создаете жесткие ссылки и/весь указываете на тот же i-узел и поэтому все они, просто регистрирует (тот же).

знать, что некоторые приложения отказываются делать свое задание с файлами, которые имеют жесткие ссылки. Другие приложения могут случайно или намеренно повредиться, жесткие ссылки, поворачивающие один файл с, говорят что 2 имени в два файла с одним именем каждый.

Википедия дает нам больше информации:

https://en.wikipedia.org/wiki/Hard_link

https://en.wikipedia.org/wiki/Inode

Для создания жестких ссылок можно использовать ln, который является инструментом командных строк, можно использовать его как это:

ln TARGET LINK_NAME

, Где цель является существующим файлом и link_name новое название файла. Когда Вы сделаны, можно свериться ls -li количество i-узла файла и видеть, что обе ссылки имеют то же число.

Вот страница справочника: http://linux.die.net/man/1/ln

0
ответ дан 12 April 2016 в 06:49
  • 1
    Спасибо. Да я didn' t думают об этом, но that' s верный. Просто казалось мне что это wasn' t лучшее для разрешения любому без корневого административного privilegies для легкого переопределения двоичных файлов базовой системы на терминале по умолчанию, но теперь я понимаю логику в этом. – eera5607 21 August 2017 в 15:55

Нет, это не делает.

при обновлении файла Dropbox разрывает все связи. Таким образом в примере @Falk дает выше, если бы он отредактировал тот файл от удаленного компьютера, когда он синхронизировал назад ссылку, был бы поврежден, и Dropbox содержал бы новый файл, названный testfile (Falks conflicted copy).

единственная ссылка, какие работы являются гибкой ссылкой, где исходный файл является тем в папке Dropbox. Вот сценарий, который я раньше тестировал:

# symlink with target inside dropbox
echo "symbolic link test" > ~/Dropbox/symlinkToDropbox.txt
ln -s  ~/Dropbox/symlinkToDropbox.txt ~/symlinkToDropbox.txt
cat ~/symlinkToDropbox.txt
echo "edit target of symlink" >> ~/Dropbox/symlinkToDropbox.txt
echo "edit symlink" >> ~/symlinkToDropbox.txt 
cat ~/symlinkToDropbox.txt 
cat ~/Dropbox/symlinkToDropbox.txt 
# symlink with target outside dropbox 
echo "symbolic link test" > ~/symlinkFromDropbox.txt
ln -s ~/symlinkFromDropbox.txt ~/Dropbox/symlinkFromDropbox.txt  # relative symlinks don't work
cat ~/Dropbox/symlinkFromDropbox.txt 
echo "edit target of symlink" >> ~/symlinkFromDropbox.txt
echo "edit symlink" >> ~/Dropbox/symlinkFromDropbox.txt
cat ~/symlinkFromDropbox.txt 
cat ~/Dropbox/symlinkFromDropbox.txt 
# hard link with target inside dropbox
echo "hard link test" > ~/Dropbox/hardlinkToDropbox.txt
ln ~/Dropbox/hardlinkToDropbox.txt ~/hardlinkToDropbox.txt
echo "edit target" >> ~/Dropbox/hardlinkToDropbox.txt 
echo "edit linked file" >> ~/hardlinkToDropbox.txt 
cat ~/hardlinkToDropbox.txt 
cat ~/Dropbox/hardlinkToDropbox.txt 
# hard link with target inside dropbox
echo "hard link test" > ~/hardlinkFromDropbox.txt
ln ~/hardlinkFromDropbox.txt  ~/Dropbox/hardlinkFromDropbox.txt
echo "edit linked file" >> ~/Dropbox/hardlinkFromDropbox.txt 
echo "edit target" >> ~/hardlinkFromDropbox.txt 
cat ~/Dropbox/hardlinkFromDropbox.txt 
cat ~/hardlinkFromDropbox.txt 
#all of that works fine.  
#But now open all of those files from your dropbox folder on another computer and edit them
#Your dropbox will sync, your local versions of all those files will be updated, but NONE OF THE LINKED FILES WILL UPDATE
#The hard links are replaced and the old versions copied as "conflicted copies"
#The symlink where the dropbox file was the link is unlinked

#the symlink where the dropbox file is the original is the only one that works
0
ответ дан 12 April 2016 в 06:49
  • 1
    It' s также важный, чтобы отметить, что 10.04 и 10.10 опасны, поскольку у них нет последних обновлений системы защиты. – Paddy Landau 21 August 2017 в 23:40

Другие вопросы по тегам:

Похожие вопросы: