Синхронизировать .IMG в Dropbox без повторной загрузки всего файла при внесении изменений?

268
Enigma83

У меня есть проблема, которая заключается в том, что, когда я пытаюсь синхронизировать файл .img в Dropbox на Android (через приложение DropSync), весь файл перезагружается при изменении даже одного байта. Это не происходит с другими файлами. Я получаю такое же поведение при использовании настольного приложения БД для Windows. Файлы были созданы Linux Deploy, приложением, которое позволяет запускать дистрибутив Linux на рутованных устройствах Android в изолированной тюрьме. LD использует стандартную утилиту 'dd' для создания файла. Размер рассматриваемого файла составляет 6 + ГБ, поэтому его повторная загрузка при внесении изменений нежелательна. Есть ли что-то уникальное / отличное в файлах img, которое вызывает это? Как можно загрузить только изменения?

0
Можете ли вы разбить ваши IMG-файлы на более мелкие кусочки, например, 500 МБ на кусочек? Рассматривали ли вы использовать шифратор, который работает на уровне файлов? Таким образом, если файл изменяется, только измененные файлы отправляются снова для синхронизации. Это может быть лучше, чем IMG - хотя ваш провайдер может видеть ваши имена файлов. https://play.google.com/store/apps/details?id=com.boxcryptor.android Sun 9 лет назад 0

2 ответа на вопрос

1
Sun

Dropbox works by splitting the file into pieces (like Bittorrent). I don't know if the iOS or Android apps work the same, but Dropbox will just verify the split 4MB file pieces are identical and not upload it again. The .IMG file is most likely changing the content enough so that the file pieces do not match the previous upload.

@ sunk818: Хороший ответ, но я не совсем уверен, что понимаю причину вашего объяснения. У меня также есть файл-контейнер TrueCrypt, я получаю точно такое же поведение при попытке синхронизировать его с Dropbox. Сначала я подумал, что это нечто особенное / отличное в файлах img, которое вызвало такое поведение. Я заранее всем извиняюсь за то, что не отвечал быстро, был очень занят и забыл, что я написал, тем более, что никто не отвечал в течение нескольких дней. Конечно, должен быть способ только синхронизировать изменения ......... Enigma83 9 лет назад 0
@ Enigma83 Вы уверены, что изменяется только один байт файла _resulting_? В зависимости от формата, однобайтовое изменение «декодированных» данных может вызвать большее изменение в конечном результирующем файле. NReilingh 9 лет назад 1
1
Bert

Dropbox использует «дельта-синхронизацию», что означает, что загружаются / выгружаются только измененные части файлов, а не передаются целые файлы при каждом их изменении. Однако приложение Android DropSync не поддерживает дельта-синхронизацию .

Причина, по которой это не работает с контейнером TrueCrypt (или любой другой программой шифрования, которая стоит того), или с некоторыми решениями для создания образов дисков, заключается в том, что изменение хотя бы одного байта файла в контейнере или образе диска приведет к изменению всего контейнера или диска. образ. Шифрование будет серьезно скомпрометировано, если вы сможете изменить только один байт в контейнере и только один байт в результирующем файле контейнера.

@ Берт: Технически, вы ответили на мой вопрос или, по крайней мере, предоставили краткое объяснение, которое имеет смысл. Я отмечу как решенное здесь чуть позже, но можете ли вы (или кто-либо еще) дать некоторые предложения об альтернативных подходах, которые я могу попытаться синхронизировать? Я думаю, что затем я попытаюсь установить Linux на раздел ext4 на моей SD-карте, а затем использовать DB или rsync, чтобы попытаться загрузить его онлайн. Мне просто нужно убедиться, что все файлы сохраняют правильные разрешения во время этого процесса. Enigma83 9 лет назад 0

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