Почему бы не синхронизировать папки вне дома с Ubuntu One?

19

Мне потребовалось некоторое время, чтобы выяснить, что с Ubuntu One я могу синхронизировать только папки в моей домашней папке. Во всех других папках опция Ubuntu One доступна в настройках, но реальные действия выделены серым цветом.

Ubuntu One FAQ совершенно ясно , что:

Нет, в настоящее время вы можете выбрать только синхронизацию папок внутри вашего домашнего каталога.

Но я действительно задаюсь вопросом, почему и если это изменится, и если есть хитрость вокруг этого (другой, чем установка моего дома /)?

Лично у меня нет никаких важных данных в моей домашней папке, кроме настроек программы. Все документы, изображения, музыка находятся в папке с именем, /dataкоторая на самом деле находится в другом разделе. Это значительно облегчает процесс переустановки Ubuntu.

сверстников
источник
Я не покупаю "вы не хотите синхронизировать специальные разделы". Я не думаю, что это веская причина не синхронизировать вещи за пределами вашего домашнего каталога. Есть определенные папки / каталоги, которые U1 никогда не должен синхронизировать. / etc, / home, / boot, например, в Linux; \ windows, \ программные файлы в Windows. У меня точно такая же ситуация. Я не держу ничего в моем домашнем каталоге или в моем каталоге Documents на моем ноутбуке Windows. Если бы я это сделал, у меня было бы несколько ГБ. Вместо этого я предпочитаю использовать пару других мест.

Ответы:

17

Это не изменится, по крайней мере, в обозримом будущем (и в этом я могу предвидеть пару лет в будущем). Разрешение пользователям выбирать произвольные папки за пределами своего дома для синхронизации с Ubuntu One, который потенциально может синхронизироваться между несколькими различными компьютерами, открывает большое количество проблем с удобством использования, чтобы охватить случай использования, который, прямо скажем, не так уж часто встречается.

Одна из проблем, которые я запомнил из головы, состоит в том, что если вы попытаетесь синхронизировать точку монтирования съемного устройства (и довольно много людей пытаются это сделать), то при удалении устройства syncdaemon удалит все; для правильной работы syncdaemon должен знать об устройствах, обнаруживать их удаление и тому подобное. Довольно большое усилие и большой потенциал для удобства использования кошмаров.

Другая проблема заключается в том, что вы пытаетесь синхронизировать папку со специальными разрешениями, владельцем или типами файлов в ней: например /etc/, /tmp/или /dev/как некоторые из худших случаев. Или любая папка, которой вы не владеете. Мы могли бы просто запретить синхронизацию папок, которыми вы не владеете, но мы точно знаем, что некоторые люди запускают syncdaemon от имени пользователя root (несмотря на наши предупреждения).

Обходным решением для вас может быть монтирование (через /etc/fstab, так что вы разумно уверены, что раздел монтируется каждый раз - в противном случае вы рискуете потерять синхронизированные данные) /dataпапки в вашем доме. Вы можете просто перейти /dataк ~/dataили, если у вас есть вещи, которые имеют /dataжестко заданный путь (вполне вероятно), или если вы уже привыкли к /dataсебе (также вполне вероятно), использовать символическую ссылку или привязать mount /dataк точке монтирования в вашем доме. Если вы вообще не хотите видеть это дома, просто сделайте это ~/.data.

Chipaca
источник
Я думаю, что сценарий использования не очень распространен сейчас, потому что нет хорошего интерфейса для синхронизации произвольных папок. Я согласен, что это не простая задача, но как только инженерные и юзабилити-проблемы будут решены, и станет доступен хороший интуитивно понятный интерфейс, я уверен, что многие люди будут его использовать, поскольку у многих людей есть несколько компьютеров.
Арас
SpiderOak, Wuala и Bitcasa поддерживают синхронизацию внешних дисков в Linux, поэтому проблема не является непреодолимой. Вы сказали , что syncdaemonбудут удалены все , когда диск удаляется - не вы , ребята , что авторы из syncdaemon? Разве вы не можете запрограммировать это, чтобы не делать это для внешних накопителей?
BlueRaja - Дэнни Пфлюгофт
Да, конечно, мы можем. Мы еще этого не сделали.
Чипака
В Windows с опытными пользователями просто <del> глупо </ del> неразумно запрещать изменять это. Компании и здравые домашние установки часто используют системный диск в отличие от диска с данными в Windows. Например. Я никогда не держать ничего в c:\users\<myusername>, я держу все личные и все остальные данные в отдельном разделе на отдельном жестком диске. Но в Windows монтировать и связывать не так просто, как в linux во всех версиях, поэтому нельзя просто монтировать или связывать эти диски или папки в свою домашнюю папку. Я нахожу совершенно безумным то, что мне не разрешено менять это место. Даже дропбокс позволяет это.
n611x007
1
Опытные пользователи @naxa могут изменить местоположение своего домашнего каталога на другой диск (что, если вы на самом деле храните там все свои личные данные, вы уже сделали), так что этот конкретный момент является спорным.
Чипака
4

Мне удалось заставить это работать, используя крепление привязки. Строка /etc/fstabвыглядит следующим образом:

/mnt/s1/Audio   /home/daniel/Music      bind    defaults,bind   0       0

Очевидно, вам понадобятся разрешения на запись в данную папку. Возможно, вам также могут понадобиться файлы, я не уверен.

Даниэль Мюррей
источник
3

Я подозреваю, что причина в правах. Вы заметите, что вы не можете легко редактировать файлы вне вашей домашней директории? Это общая функция безопасности linux, и я подозреваю, что разработчики Ubuntu One (вполне справедливо) считают, что обычный пользователь будет хранить все свои файлы в домашнем каталоге, где демон может легко работать без повышенных привилегий.

На заметку о вашей конфигурации, все это вопрос предпочтений, но я храню свой полный / home / на отдельном диске / разделе. Это означает, что между переустановками вам нужно пройти и удалить все скрытые папки / файлы для чистой установки, но вы получите преимущество полностью собственного домашнего каталога с правами на Ubuntuone и т. Д. - просто мысль.

thomasmichaelwallace
источник
2
о, и я только что попробовал один из более очевидных обходных путей (ссылки sym), и у ubuntuone не было ничего из этого ...
thomasmichaelwallace
1

В двух словах: используйте Dropbox.

Причины, перечисленные @Chipaca, могут быть трудны для преодоления, но Dropbox как-то справился. Да, это решение не с открытым исходным кодом, но пока пользователи Ubuntu One не решат некоторые серьезные проблемы с юзабилити (это одна из них), многие пользователи не смогут использовать Ubuntu One.

nbubis
источник
0

У меня очень похожая настройка под Ubuntu 12.04. У меня есть раздел NFTS с моей музыкальной библиотекой, который виден как Windows 7, так и Ubuntu. Я хотел иметь возможность синхронизировать этот каталог с Ubuntu One без необходимости явно перемещать весь каталог в мой домашний каталог (кажется разумным запросом, верно?).

Мое решение состояло в том, чтобы просто смонтировать общий раздел в моем домашнем каталоге каждый раз, когда я загружаюсь в Ubuntu. Это заняло два довольно простых шага.

  1. Установите и используйте, pysdmчтобы убедиться, что раздел правильно монтируется при запуске (не обязательно в вашем домашнем каталоге, просто где-то в файловой системе). Кроме того, вы можете изменить /etc/fstabфайл самостоятельно, если вы достаточно уверены. Как довольно новый пользователь, я нашел решение pysdm более простым.

    В любом случае, /etc/fstabперед выполнением этого шага обязательно сделайте резервную копию вашего файла! (так, на всякий случай!)

    sudo cp /etc/fstab /etc/fstab.old (например)

    Если что-то пойдет не так, вы всегда можете восстановить старый файл и вернуться к исходному состоянию:

    sudo cp /etc/fstab.old /etc/fstab

    В pysdmграфическом интерфейсе выберите целевой раздел и нажмите кнопку «Ассистент». Обязательно выберите опцию «Владелец устройства может подключить его». Это обеспечит возможность повторного монтирования в вашем домашнем каталоге с помощью Upstart. В моем случае я установил sda4раздел для монтирования на /media/sda4/.

  2. В общем, поведение Upstart определяется файлами в /etc/init/каталоге. Чтобы смонтировать новый раздел (для меня /media/sda4) в моем домашнем каталоге, я определил /etc/init/mount-mydirs.confфайл, который содержит:

    start on runlevel [2345]
    task
    exec /bin/mount-mydirs`
    

    Первая строка говорит Upstart выполнить задачу при обычном запуске. Вторая строка сообщает Upstart, что задание должно быть выполнено один раз (не как неопределенное или повторяющееся задание), а последняя строка говорит ему выполнить сценарий /bin/mount-mydirs(с правами суперпользователя).

    Файл `/ bin / mount-mydirs 'выглядит так:

    mount --bind /media/sda4/ /<home directory>

    (Опция --bind позволяет получить доступ к файлам как с исходной точки монтирования, так и с новой).

Я слушаю мою полностью синхронизированную, недавно смонтированную музыкальную библиотеку, когда я пишу это !!

Дейв Б.
источник