Por que não sincronizar pastas fora de casa com o Ubuntu One?

19

Demorei um pouco para descobrir que, com o Ubuntu One, posso sincronizar apenas pastas na minha pasta pessoal. Em todas as outras pastas, a opção Ubuntu One está disponível nas preferências, mas as ações reais estão acinzentadas.

A FAQ do Ubuntu One é bastante clara sobre isso:

Não, atualmente você só pode optar por sincronizar pastas dentro do diretório inicial.

Mas eu realmente me pergunto por que e se isso vai mudar e se há algum truque em torno dele (outro que não seja o de definir minha casa /)?

Pessoalmente, não tenho dados importantes na minha pasta pessoal além das configurações do programa. Todos os documentos, fotos e músicas estão em uma pasta chamada /dataque está realmente em uma partição diferente. Isso facilita muito quando alguém deseja reinstalar o Ubuntu.

par
fonte
Não estou comprando "você não deseja sincronizar partições especiais". Eu não acho que seja um motivo válido para não sincronizar coisas fora do diretório inicial. Existem certas pastas / diretórios que o U1 nunca deve sincronizar. / etc, / home, / boot, por exemplo, no Linux; \ windows, \ arquivos de programas no Windows. Eu tenho exatamente essa mesma situação. Não guardo nada no meu diretório pessoal ou no meu diretório Documentos no meu laptop Windows. Eu teria vários GB de material lá, se tivesse. Prefiro usar alguns outros locais.

Respostas:

17

Isso não vai mudar, pelo menos no futuro previsível (e nisso eu posso prever alguns anos no futuro). Permitir que os usuários selecionem pastas arbitrárias fora de sua casa para sincronizar com o Ubuntu One, que pode ser sincronizado entre vários computadores diferentes, abre um grande número de problemas de usabilidade para cobrir um caso de uso que, francamente, não é tão comum.

Um dos problemas que eu me lembro de cima é que, se você tentar sincronizar um ponto de montagem de um dispositivo removível (e várias pessoas tentarem fazer isso), quando você remover o dispositivo, o syncdaemon excluirá tudo; para fazê-lo funcionar corretamente, o syncdaemon precisaria saber sobre dispositivos, detectar sua remoção, coisas assim. Um grande esforço e muito potencial para pesadelos de usabilidade.

Outro problema é se você tentar sincronizar uma pasta com permissões especiais, propriedade ou tipos de arquivos nele: pensar /etc/, /tmp/ou /dev/como alguns dos piores casos. Ou qualquer pasta que você não possui, realmente. Poderíamos simplesmente proibir a sincronização de pastas que você não possui, mas sabemos que algumas pessoas estão executando o syncdaemon como root (apesar dos nossos avisos).

Uma solução alternativa seria montar (via /etc/fstab, assim, você tem certeza de que a partição é montada todas as vezes - caso contrário, corre o risco de perder seus dados sincronizados) a /datapasta em sua casa. Você pode simplesmente mudar /datapara ~/dataou, se tiver coisas com o /datacaminho codificado (provavelmente), ou se já estiver acostumado /data(também), vincular ou vincular a montagem /dataao ponto de montagem em sua casa. Se você não quiser vê-lo em sua casa, apenas faça-o ~/.data.

Chipaca
fonte
Acho que o caso de uso não é muito comum agora, porque não há uma interface agradável disponível para sincronizar pastas arbitrárias. Não é uma tarefa fácil, concordo, mas assim que os problemas de engenharia e usabilidade forem resolvidos e uma interface intuitiva agradável estiver disponível, tenho certeza de que muitas pessoas o usariam, pois muitas pessoas têm vários computadores.
Aras
SpiderOak, Wuala e Bitcasa suportam a sincronização de unidades externas no Linux, portanto, o problema não é intransponível. Você menciona que syncdaemonvai apagar tudo quando a unidade é removida - não são vocês os autores de syncdaemon? Você não pode programá-lo para não fazer isso em unidades externas?
BlueRaja # Danny Pflughoeft
Sim, claro que podemos. Ainda não o fizemos.
Chipaca
Nas janelas com usuários avançados, é apenas <del> estúpido </del> imprudente proibir mudar isso. As empresas e as configurações domésticas sãs têm a unidade do sistema muitas vezes diferente da unidade de dados no Windows. Por exemplo. Eu nunca manter qualquer coisa em c:\users\<myusername>, I manter todos pessoal e todos os outros dados em uma partição separada em um disco rígido separado. Porém, no Windows, montar e vincular não é tão fácil quanto no linux em todas as versões; portanto , não basta montar ou vincular essas unidades ou pastas na pasta pessoal. Acho totalmente insano que eu não tenha permissão para mudar este local. Até o dropbox permite isso.
N611x007
1
Os usuários avançados do @naxa podem alterar a localização do diretório inicial para outra unidade (que, se você realmente mantém todos os seus dados pessoais lá, já o fez), de modo que esse ponto específico é discutível.
Chipaca
4

Eu consegui fazer isso funcionar usando uma montagem de ligação. A linha /etc/fstabaparece assim:

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

Obviamente, você precisará de permissões de gravação para a pasta em questão. Possivelmente você pode precisar possuir os arquivos também, não tenho certeza.

Daniel Murray
fonte
3

Eu suspeito que a razão são os direitos. Você notará que também não pode editar facilmente nenhum dos arquivos fora do diretório inicial? Esse é um recurso geral de segurança do linux, e eu suspeito que os desenvolvedores do Ubuntu One (com razão) acham que o usuário médio manteria todos os seus arquivos no diretório inicial, onde o daemon pode ser executado facilmente sem privilégios elevados.

Em uma observação lateral sobre sua configuração, é tudo uma questão de preferência, mas mantenho meu completo / home / em um disco / partição separada. Isso significa que, entre as reinstalações, você precisa passar e excluir todas as pastas / arquivos ocultos para uma instalação limpa, mas lhe dará a vantagem de um diretório inicial completamente nativo com direitos de ubuntuone, etc. - apenas um pensamento.

thomasmichaelwallace
fonte
2
oh, e eu apenas tentei uma das soluções mais óbvias (links MJS) e Ubuntu One não estava tendo nada disso ...
thomasmichaelwallace
1

Em duas palavras: Use o Dropbox.

Os motivos listados por @Chipaca podem ser difíceis de superar, mas o dropbox conseguiu de alguma forma. É verdade que esta solução não é de código aberto, mas até o pessoal do Ubuntu One resolver alguns dos principais problemas de usabilidade (sendo um deles), muitos usuários não poderão usar o Ubuntu One.

nbubis
fonte
0

Eu tenho uma configuração muito semelhante no Ubuntu 12.04. Eu tenho uma partição NFTS com minha biblioteca de músicas visível para o Windows 7 e o Ubuntu. Eu queria poder sincronizar esse diretório com o Ubuntu One sem precisar mover explicitamente o diretório inteiro para o meu diretório pessoal (parece uma solicitação razoável, certo?).

Minha solução foi simplesmente montar a partição compartilhada no meu diretório pessoal toda vez que eu inicializava no Ubuntu. Isso levou dois passos bastante simples.

  1. Instale e use pysdmpara garantir que a partição seja montada corretamente na inicialização (não necessariamente em seu diretório pessoal, apenas em algum lugar no sistema de arquivos). Como alternativa, você pode modificar o /etc/fstabarquivo se estiver confiante o suficiente. Como um usuário relativamente novo, achei a solução pysdm mais simples.

    De qualquer maneira, faça backup do seu /etc/fstabarquivo antes de executar esta etapa! (apenas no caso de!)

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

    Se algo der errado, você sempre poderá restaurar o arquivo antigo e voltar à estaca zero:

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

    Na pysdmGUI, selecione a partição de destino e pressione o botão "Assistente". Certifique-se de selecionar a opção "O proprietário do dispositivo pode montá-lo". Isso garantirá que você possa montar novamente em seu diretório pessoal usando o Upstart. No meu caso, defino a sda4partição para montar em /media/sda4/.

  2. Em geral, o comportamento do Upstart é definido pelos arquivos no /etc/init/diretório Para montar a nova partição (para mim /media/sda4) dentro do meu diretório pessoal, defini um /etc/init/mount-mydirs.confarquivo que contém:

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

    A primeira linha informa ao Upstart para executar a tarefa na inicialização normal. A segunda linha informa ao Upstart que o trabalho deve ser executado uma vez (não como um trabalho indefinido ou recorrente), e a linha final informa para executar o script /bin/mount-mydirs(com privilégios de root).

    O arquivo `/ bin / mount-mydirs 'se parece com:

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

    (A opção --bind permite que os arquivos sejam acessados ​​do ponto de montagem original e do novo).

Estou ouvindo minha biblioteca de música totalmente sincronizada e montada enquanto escrevo isso !!

Dave B.
fonte