web-dev-qa-db-ja.com

自宅の外のフォルダーをUbuntu Oneと同期してみませんか?

Ubuntu Oneでは、ホームフォルダー内のフォルダーのみを同期できることを知るのに時間がかかりました。他のすべてのフォルダーでは、Ubuntu Oneオプションが設定で利用できますが、実際のアクションはグレー表示されます。

buntu One FAQ はその上で非常に明確です:

いいえ、現在、ホームディレクトリ内のフォルダの同期のみを選択できます。

しかし、実際にこれが変わるのか、それともその周りにトリックがあるのか​​(自宅を/に設定する以外の方法)疑問に思いますか?

個人的には、プログラムの構成以外の重要なデータはホームフォルダーにありません。すべてのドキュメント、画像、音楽は、実際には別のパーティションにある/dataというフォルダーにあります。これにより、Ubuntuを再インストールする場合に非常に簡単になります。

19
peer

少なくとも予見可能な将来においては、変化することはありません(そして、これについては、数年先を予見できます)。ユーザーが自宅の外で任意のフォルダーを選択してUbuntu Oneと同期できるようにすると、複数の異なるコンピューター間で同期する可能性があるため、非常に一般的ではないユースケースをカバーするために、多くのユーザビリティの問題が発生します。

頭上で覚えている問題の1つは、リムーバブルデバイスのマウントポイントを同期しようとすると(多くの人がこれを実行しようとすると)、デバイスを削除するとsyncdaemonがすべてを削除することです。正しく動作させるために、syncdaemonはデバイスについて知り、その削除を検出する必要があります。かなりの労力と、ユーザビリティの悪夢の可能性がたくさんあります。

別の問題は、特別な権限、所有権、またはファイルの種類を含むフォルダーを同期しようとする場合です。最悪の場合として、/etc//tmp/、または/dev/を考えてください。または、あなたが所有していないフォルダです。自分が所有していないフォルダの同期を単に禁止することもできますが、実際には、一部の人々がsyncdaemonをrootとして実行していることを知っています(警告にもかかわらず)。

回避策は、/etc/fstabフォルダーを(/data経由でマウントすることです。そうすることで、パーティションが毎回マウントされます。そうしないと、同期データが失われる危険があります)。単に/data~/dataに移動するか、/dataパスがハードコードされている(非常に可能性が高い)場合、または既に/dataに慣れている場合(これもかなり可能性があります)、シンボリックリンクまたはマウント/dataを自宅のマウントポイントにバインドします。自宅で見たくない場合は、~/.dataにしてください。

17
Chipaca

バインドマウントを使用して、これを機能させることができました。 /etc/fstabの行は次のようになります。

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

明らかに、問題のフォルダへの書き込み権限が必要になります。おそらくあなたもファイルを所有する必要があるかもしれません、私にはわかりません。

4
Daniel Murray

理由は権利だと思う。ホームディレクトリ以外のファイルも簡単に編集できないことに気付くでしょう。これはLinuxの一般的なセキュリティ機能であり、Ubuntu One開発者は(当然)平均的なユーザーがすべてのファイルをホームディレクトリに保持し、昇格した権限なしでデーモンを簡単に実行できると思うと思います。

あなたの設定についての補足として、それはすべて好みの問題ですが、私は完全な/ home /を別のディスク/パーティションに置いています。これは、再インストールの間にクリーンインストールのためにすべての非表示フォルダー/ファイルを削除する必要があることを意味しますが、ubuntuone権限などを備えた完全にネイティブなホームディレクトリの利点を提供します-単なる考えです。

2つの言葉で:Dropboxを使用します。

@Chipacaがリストした理由を克服するのは難しいかもしれませんが、Dropboxはなんとかして管理しています。確かに、このソリューションはオープンソースではありませんが、Ubuntu Oneのユーザーが主要なユーザビリティの問題(これがその1つ)を解決するまで、多くのユーザーはUbuntu Oneを使用できません。

1
nbubis

Ubuntu 12.04で非常によく似た設定をしています。 Windows 7とUbuntuの両方に表示されるNFTSパーティションに音楽ライブラリがあります。ディレクトリ全体を明示的にホームディレクトリに移動することなく、このディレクトリをUbuntu Oneに同期できるようにしたかったのです(合理的な要求のようです)。

私の解決策は、Ubuntuを起動するたびにホームディレクトリ内に共有パーティションをマウントすることです。これには、2つの非常に簡単な手順が必要でした。

  1. pysdmをインストールして使用し、起動時にパーティションが正しくマウントされるようにします(必ずしもホームディレクトリではなく、ファイルシステムのどこかに)。または、十分に自信がある場合は、/etc/fstabファイルを自分で変更できます。かなり新しいユーザーとして、私はpysdmソリューションがよりわかりやすいと感じました。

    どちらにしても、このステップを実行する前に必ず/etc/fstabファイルをバックアップしてください!(念のため!)

    Sudo cp /etc/fstab /etc/fstab.old(例)

    問題が発生した場合は、いつでも古いファイルを復元して、元のファイルに戻すことができます。

    Sudo cp /etc/fstab.old /etc/fstab

    pysdm GUIで、ターゲットパーティションを選択し、[アシスタント]ボタンを押します。 「デバイスの所有者がマウントできる」オプションを選択してください。これにより、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に指示します。 2行目は、Upstartにジョブを1回(無期限または繰り返しのジョブとしてではなく)実行することを伝え、最後の行はスクリプト/bin/mount-mydirs(root権限で)を実行するように伝えます。

    ファイル「/ bin/mount-mydirs」は次のようになります。

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

    (--bindオプションを使用すると、元のマウントポイントと新しいマウントポイントの両方からファイルにアクセスできます)。

これを書いている間、完全に同期された、新しくマウントされた音楽ライブラリを聴いています!!

0
Dave B.