web-dev-qa-db-fra.com

Pourquoi ne pas synchroniser des dossiers en dehors de chez vous avec Ubuntu One?

Il m'a fallu un certain temps pour découvrir qu'avec Ubuntu One, je ne pouvais synchroniser que les dossiers de mon dossier personnel. Sur tous les autres dossiers, l'option Ubuntu One est disponible dans les préférences, mais les actions réelles sont grisées.

La FAQ Ubuntu One est assez claire à ce sujet:

Non, vous ne pouvez actuellement choisir que de synchroniser les dossiers de votre répertoire personnel.

Mais je me demande en fait pourquoi et si cela va changer et s'il y a un truc autour de ça (autre chose que de régler ma maison sur /)?

Personnellement, je n'ai pas de données importantes dans mon dossier personnel autres que les configs du programme. Tous les documents, images et musiques se trouvent dans un dossier appelé /data qui se trouve en fait sur une partition différente. Cela facilite grandement la réinstallation d’Ubuntu.

19
peer

Cela ne va pas changer, du moins dans un avenir prévisible (et je peux prévoir à ce sujet quelques années à l’avenir). Autoriser les utilisateurs à sélectionner des dossiers arbitraires en dehors de leur domicile pour les synchroniser avec Ubuntu One, ce qui pourrait potentiellement être synchronisé entre plusieurs ordinateurs, ouvre un grand nombre de problèmes d’utilisabilité pour couvrir un cas d’utilisation qui, franchement, n’est pas si courant.

Un des problèmes dont je me souviens le plus rapidement est que si vous essayez de synchroniser le point de montage d'un périphérique amovible (et que de nombreuses personnes tentent de le faire), lorsque vous supprimez le périphérique, syncdaemon supprimera tout. Pour que cela fonctionne correctement, syncdaemon devrait connaître les périphériques, détecter leur suppression, etc. Un effort assez important, et beaucoup de potentiel pour des cauchemars d'utilisabilité.

Un autre problème est que si vous essayez de synchroniser un dossier avec des autorisations spéciales, des droits de propriété ou des types de fichiers: pensez à /etc/, /tmp/ ou /dev/ comme au pire des cas. Ou n'importe quel dossier que vous ne possédez pas, vraiment. Nous pourrions simplement interdire la synchronisation des dossiers que vous ne possédez pas, mais nous savons que certaines personnes exécutent syncdaemon en tant que root (malgré nos avertissements).

Une solution de contournement serait de monter (via /etc/fstab, afin d’être raisonnablement sûr que la partition est montée à chaque fois - sinon vous risqueriez de perdre vos données synchronisées) du dossier /data dans votre maison. Vous pouvez simplement déplacer /data vers ~/data ou, si vous avez des choses qui ont le chemin /data codé en dur (très probablement), ou si vous êtes déjà habitué à /data (également fort probable), établissez un lien symbolique ou liez mount /data au point de montage de votre maison. Si vous ne voulez pas du tout le voir chez vous, faites simplement ~/.data.

17
Chipaca

J'ai réussi à faire en sorte que cela fonctionne en utilisant un montage de liaison. La ligne dans /etc/fstab ressemble à ceci:

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

De toute évidence, vous aurez besoin d'autorisations d'écriture sur le dossier en question. Peut-être aurez-vous aussi besoin de posséder les fichiers, je ne suis pas sûr.

4
Daniel Murray

Je soupçonne que la raison est des droits. Vous remarquerez que vous ne pouvez pas facilement modifier aucun fichier en dehors de votre répertoire personnel non plus? C’est une fonctionnalité de sécurité générale de Linux, et je suppose que les développeurs d’Ubuntu One estiment (à juste titre) que l’utilisateur moyen conserverait tous ses fichiers dans le répertoire de base, où le démon peut s’exécuter facilement sans privilèges élevés.

En ce qui concerne votre configuration, c’est une question de préférence, mais je conserve mon dossier/home/complet sur un disque/une partition séparés. Cela signifie que, entre les réinstallations, vous devez parcourir et supprimer tous les dossiers/fichiers cachés pour une nouvelle installation, mais vous donne l'avantage d'un répertoire personnel entièrement natif avec les droits Ubuntuone, etc. - juste une pensée.

3

En deux mots: Utilisez Dropbox.

Les raisons énumérées par @Chipaca peuvent être difficiles à surmonter, mais Dropbox a réussi d'une manière ou d'une autre. Certes, cette solution n’est pas open source, mais tant que les utilisateurs d’Ubuntu One n’ont pas résolu le problème de problèmes d’utilisabilité majeurs (dont celui-ci), de nombreux utilisateurs ne pourront pas utiliser Ubuntu One.

1
nbubis

J'ai une configuration très similaire sous Ubuntu 12.04. J'ai une partition NFTS avec ma bibliothèque de musique visible à la fois pour Windows 7 et Ubuntu. Je voulais pouvoir synchroniser ce répertoire avec Ubuntu One sans avoir à déplacer explicitement tout le répertoire dans mon répertoire personnel (cela semble être une demande raisonnable, non?).

Ma solution consistait simplement à monter la partition partagée dans mon répertoire de départ à chaque démarrage de Ubuntu. Cela a pris deux étapes assez simples.

  1. Installez et utilisez pysdm pour vous assurer que la partition se monte correctement au démarrage (pas nécessairement dans votre répertoire de base, mais quelque part dans le système de fichiers). Sinon, vous pouvez modifier le fichier /etc/fstab vous-même si vous avez suffisamment confiance en vous. En tant que nouvel utilisateur, j'ai trouvé la solution pysdm plus simple.

    Dans tous les cas, assurez-vous de sauvegarder votre fichier /etc/fstab avant de faire cette étape! (Juste au cas où!)

    Sudo cp /etc/fstab /etc/fstab.old (par exemple)

    Si quelque chose ne va pas, vous pouvez toujours restaurer l'ancien fichier et revenir à la case départ:

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

    Dans l'interface graphique pysdm, sélectionnez la partition cible et cliquez sur le bouton "Assistant". Assurez-vous de sélectionner l'option "Le propriétaire de l'appareil peut le monter". Cela garantira que vous pourrez remonter dans votre répertoire personnel à l’aide de Upstart. Dans mon cas, je règle la partition sda4 pour monter à /media/sda4/.

  2. En général, le comportement de Upstart est défini par les fichiers du répertoire /etc/init/. Pour monter la nouvelle partition (pour moi, /media/sda4) dans mon répertoire personnel, j'ai défini un fichier /etc/init/mount-mydirs.conf contenant:

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

    La première ligne indique à Upstart d'effectuer la tâche au démarrage normal. La deuxième ligne indique à Upstart que le travail doit être effectué une fois (pas en tant que travail indéfini ou périodique) et la dernière ligne lui indique d’exécuter le script /bin/mount-mydirs (avec les privilèges root).

    Le fichier `/ bin/mount-mydirs 'se présente comme suit:

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

    (L'option --bind permet aux fichiers d'être accessibles à la fois du point de montage d'origine et du nouveau).

J'écoute ma bibliothèque de musique entièrement synchronisée et nouvellement montée pendant que j'écris ceci!

0
Dave B.