¿Por qué no sincronizar carpetas fuera de casa con Ubuntu One?


19

Me llevó un tiempo descubrir que con Ubuntu One puedo sincronizar solo carpetas en mi carpeta de inicio. En todas las demás carpetas, la opción Ubuntu One está disponible en las preferencias, pero las acciones reales están atenuadas.

Las preguntas frecuentes de Ubuntu One son bastante claras al respecto:

No, actualmente solo puede seleccionar sincronizar carpetas dentro de su directorio de inicio.

Pero en realidad me pregunto por qué y si esto va a cambiar y si hay un truco a su alrededor (otro que no sea configurar mi hogar /).

Personalmente, no tengo datos importantes en mi carpeta de inicio que no sean las configuraciones del programa. Todos los documentos, imágenes, música están en una carpeta llamada /dataque en realidad está en una partición diferente. Eso lo hace mucho más fácil cuando uno quiere reinstalar Ubuntu.


No estoy comprando "no quieres sincronizar particiones especiales". No creo que sea una razón válida para no sincronizar cosas fuera de su directorio de inicio. Hay ciertas carpetas / directorios que U1 nunca debería sincronizar. / etc, / home, / boot por ejemplo, en Linux; \ windows, \ archivos de programa en Windows. Tengo exactamente la misma situación. No guardo nada en mi directorio de inicio o en mi directorio de Documentos en mi computadora portátil con Windows. Tendría varios GB de cosas allí si lo hiciera. Prefiero usar un par de otras ubicaciones, en su lugar.

Respuestas:


17

No va a cambiar, al menos en el futuro previsible (y sobre esto puedo prever un par de años en el futuro). Permitir a los usuarios seleccionar carpetas arbitrarias fuera de su hogar para sincronizarlas con Ubuntu One, que podría sincronizarse entre múltiples computadoras diferentes, abre una gran cantidad de problemas de usabilidad para cubrir un caso de uso que, francamente, no es tan común.

Uno de los problemas que recuerdo de la parte superior de mi cabeza es que si intentas sincronizar un punto de montaje de un dispositivo extraíble (y algunas personas intentan hacerlo), cuando quites el dispositivo, syncdaemon eliminará todo; para que funcione correctamente, syncdaemon debería saber sobre dispositivos, detectar su eliminación, cosas así. Un gran esfuerzo y un gran potencial para las pesadillas de usabilidad.

Otro problema es si intenta sincronizar una carpeta con permisos especiales, propiedad o tipos de archivos: piense en /etc/, /tmp/o /dev/como algunos de los peores casos. O cualquier carpeta que no poseas, de verdad. Simplemente podríamos no permitir la sincronización de carpetas que no son de su propiedad, pero sabemos que algunas personas están ejecutando syncdaemon como root (a pesar de nuestras advertencias).

Una solución alternativa para usted sería montar (a través de /etc/fstab, por lo que está razonablemente seguro de que la partición se monta cada vez; de lo contrario, corre el riesgo de perder sus datos sincronizados) la /datacarpeta en su hogar. Usted simplemente puede mover /dataa ~/data, o, si tiene cosas que tienen la /dataruta hardcoded (muy probable), o si ya está acostumbrado a /datati mismo (también bastante probable), o enlace simbólico se unen montar /datahasta el punto de montar en su casa. Si no quiere verlo en su hogar, simplemente hágalo ~/.data.


Creo que el caso de uso no es muy común ahora porque no hay una buena interfaz disponible para sincronizar carpetas arbitrarias. No es una tarea fácil, estoy de acuerdo, pero una vez que se resuelvan los problemas de ingeniería y usabilidad y esté disponible una agradable interfaz intuitiva, estoy seguro de que muchas personas lo usarán, ya que muchas personas tienen varias computadoras.
Aras

SpiderOak, Wuala y Bitcasa admiten la sincronización de unidades externas en Linux, por lo que el problema no es insuperable. Usted menciona que syncdaemonse elimine todo cuando se retira la unidad - ¿No son ustedes los autores de syncdaemon? ¿No puede programarlo para que no lo haga para unidades externas?
BlueRaja - Danny Pflughoeft

Sí, por supuesto que podemos. No lo hemos hecho aún.
Chipaca

En ventanas con usuarios avanzados, es simplemente <del> estúpido </del> imprudente prohibir cambiar esto. Las empresas, y las configuraciones domésticas sensatas, tienen la unidad del sistema a menudo tan diferente de la unidad de datos en Windows. P.ej. Nunca guardo nada en c:\users\<myusername>, guardo todo personal y todos los demás datos en una partición separada en un disco duro independiente. Pero en Windows, montar y vincular no es tan fácil como en Linux en todas las versiones, por lo que no se montan o vinculan esas unidades o carpetas en la carpeta de inicio. Me parece una locura que no se me permita cambiar esta ubicación. Incluso Dropbox lo permite.
n611x007

1
Los usuarios avanzados de @naxa pueden cambiar la ubicación de su directorio de inicio a otra unidad (que, si realmente están guardando todos sus datos personales allí, ya lo han hecho), por lo que ese punto en particular es discutible.
Chipaca

4

Me las arreglé para hacer que esto funcione usando un montaje de enlace. La línea en se /etc/fstabve así:

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

Obviamente necesitará permisos de escritura en la carpeta en cuestión. Posiblemente también deba poseer los archivos, no estoy seguro.


3

Sospecho que la razón son los derechos. ¿Notarás que tampoco puedes editar fácilmente ninguno de los archivos fuera de tu directorio de inicio? Esta es una característica de seguridad general de Linux, y sospecho que los desarrolladores de Ubuntu One (con toda razón) sienten que el usuario promedio mantendría todos sus archivos en el directorio de inicio, donde el demonio puede ejecutarse fácilmente sin privilegios elevados.

En una nota al margen sobre su configuración, todo es una cuestión de preferencia, pero mantengo mi / home / complete en un disco / partición separado. Esto significa que entre las reinstalaciones debe pasar y eliminar todas las carpetas / archivos ocultos para una instalación limpia, pero le dará la ventaja de un directorio de inicio completamente nativo con derechos de ubuntuone, etc., solo una idea.


2
Ah, y acabo de probar una de las soluciones más obvias (enlaces sym) y ubuntuone no tenía nada de eso ...
thomasmichaelwallace

1

En dos palabras: use Dropbox.

Las razones enumeradas por @Chipaca pueden ser difíciles de superar, pero dropbox se las ha arreglado de alguna manera. Es cierto que esta solución no es de código abierto, pero hasta que la gente de Ubuntu One resuelva algunos problemas importantes de usabilidad (este es uno de ellos), muchos usuarios no podrán usar Ubuntu One.


0

Tengo una configuración muy similar en Ubuntu 12.04. Tengo una partición NFTS con mi biblioteca de música visible tanto para Windows 7 como para Ubuntu. Quería poder sincronizar este directorio con Ubuntu One sin tener que mover explícitamente todo el directorio a mi directorio de inicio (parece una solicitud razonable, ¿verdad?).

Mi solución fue simplemente montar la partición compartida dentro de mi directorio de inicio cada vez que inicio en Ubuntu. Esto tomó dos pasos bastante simples.

  1. Instale y use pysdmpara asegurarse de que la partición se monta correctamente al inicio (no necesariamente en su directorio de inicio, solo en algún lugar del sistema de archivos). Alternativamente, puede modificar el /etc/fstabarchivo usted mismo si tiene la confianza suficiente. Como usuario bastante nuevo, encontré la solución pysdm más sencilla.

    De cualquier manera, ¡asegúrese de hacer una copia de seguridad de su /etc/fstabarchivo antes de realizar este paso! (¡por si acaso!)

    sudo cp /etc/fstab /etc/fstab.old (por ejemplo)

    Si algo sale mal, siempre puede restaurar el archivo antiguo y volver al punto de partida:

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

    En la pysdmGUI, seleccione la partición de destino y presione el botón "Asistente". Asegúrese de seleccionar la opción "El propietario del dispositivo puede montarlo". Esto asegurará que pueda volver a montar dentro de su directorio de inicio usando Upstart. En mi caso, configuré la sda4partición para montar /media/sda4/.

  2. En general, el comportamiento de Upstart está definido por los archivos en el /etc/init/directorio. Para montar la nueva partición (para mí /media/sda4) dentro de mi directorio de inicio, definí un /etc/init/mount-mydirs.confarchivo que contiene:

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

    La primera línea le dice a Upstart que realice la tarea en el inicio normal. La segunda línea le dice a Upstart que el trabajo debe realizarse una vez (no como un trabajo indefinido o recurrente), y la línea final le dice que ejecute el script /bin/mount-mydirs(con privilegios de root).

    El archivo `/ bin / mount-mydirs 'se ve así:

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

    (La opción --bind permite acceder a los archivos tanto desde el punto de montaje original como desde el nuevo).

¡Estoy escuchando mi biblioteca de música totalmente sincronizada y recién montada mientras escribo esto!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.