Como sincronizar Ubuntu / software / configurações entre N computadores com software livre e / ou sem nuvem? [fechadas]

5

Observação: essa pergunta não é sobre como sincronizar dados de maneira semelhante ao Dropbox (arquivos, pastas), mas sim sobre a sincronização de configurações.

Eu gostaria de ter exatamente a mesma versão do Ubuntu com todo o software instalado e configurado no meu PC Desktop e no meu PC Portátil (e talvez no meu pequeno netbook) sem usar o Ubuntu Sync e com o mínimo esforço de manutenção ( configuração uma vez, execute por um longo tempo).

O caso de uso é o seguinte:

  1. Eu trabalho no meu laptop e faço algumas alterações na configuração do software, por exemplo:

    • configure o vim para ter um novo plugin
    • atualize o índice de pesquisa de arquivos do Rastreador de pesquisa / Recollagem
    • configure o Thunderbird para ter uma conta IMAP adicional ('lembrar senha')
    • adicione alguns novos marcadores no Firefox / Chrome
    • altere a imagem de plano de fundo da área de trabalho
    • instale um novo software com apt-get install
    • crie e instale um novo software com checkinstall
    • etc.
  2. Eu faço uma operação de 'sincronização'

  3. alterno para meu PC de mesa e obtenho todas as alterações de (1) trabalhando no computador de mesa
  4. Eu trabalho no meu PC de mesa e faço algumas alterações na configuração do software, por exemplo:

    • adicione um novo diretório à lista de diretórios dos quais será feito backup pelo DejaDup
    • adicione um novo dicionário de verificação ortográfica ao Libreoffice Writer
    • configure o software Terminator para ter fontes coloridas
    • instale uma nova fonte no sistema Ubuntu
    • configure o Ekiga para fazer chamadas telefônicas
    • etc.
  5. Eu faço uma operação de 'sincronização'

  6. eu mudo para o meu laptop e obtenho todas as alterações de (1) e (4) trabalhando no laptop.

Pergunta: Que software gratuito / de código aberto posso usar para sincronizar os sistemas Ubuntu, software instalado e configurações de ambas as máquinas? É possível fazer isso sem nenhum serviço de nuvem?

Pergunta complementar: É óbvio que o PC Desktop e o PC Portátil têm configurações de hardware diferentes. Como o 'software de sincronização' em questão lida com drivers de vídeo, drivers wlan e suas configurações?

Observação: eu não preciso que todos os PCs sejam sincronizados ao mesmo tempo, porque eu trabalho com apenas uma única máquina ao mesmo tempo.

Nota: Eu considerei usar o Chef para resolver o problema, mas parece que ele pode ser realmente pesado para manter essa configuração.

Observação: Eu também considerei usar um USB inicializável com o Ubuntu instalado (Linux portátil), mas não tenho certeza se os drivers de vídeo funcionarão.

    
por skanatek 03.06.2014 / 09:17

2 respostas

1

Você pode mover seu diretório pessoal para uma unidade flash. É onde a maioria dos programas armazena suas configurações e programas compilados podem ser instalados lá usando ./configure --prefix=/home/YOURNAME/bin (ou qualquer outro diretório). A única coisa que não funciona é sincronizar automaticamente os pacotes instalados com o apt-get.

Para a instalação do synaptic e antes de clicar na verificação para instalar esses pacotes, clique em "salvar marcações como ...", que permitirá salvar uma lista de todos os pacotes que serão instalados. Quando você entrar no seu laptop, execute o synaptic e, em seguida, use "read markings" para obter uma lista dos arquivos que você precisa. Em seguida, clique na seleção para instalar os mesmos arquivos no outro computador.

Esta solução não terá nenhum problema com os drivers já que o próprio SO não é compartilhado, apenas a configuração, os arquivos do usuário, etc. Se você não quiser mover todos os seus arquivos flash drive, então você pode armazená-los em outra pasta (como / home / myfiles), que não precisa ter um usuário associado a ele.

Se isso é o que você deseja fazer, siga estas etapas:

  1. Copie o conteúdo da sua pasta pessoal para a unidade flash.
  2. Remonte a unidade flash para a localização da sua pasta pessoal.
  3. Adicione a unidade flash ao arquivo / etc / fstab com o ponto de montagem em sua pasta pessoal.

O que isso vai fazer é quando o seu computador é inicializado com a unidade flash presente Ubuntu começará normalmente, mas tratar a unidade flash como se fosse sua pasta normal. Se o computador reclamar que a unidade flash não é inicializável, você poderá alterar as configurações da sua BIOS para parar de inicializar a partir de uma unidade flash movendo a opção da unidade flash para baixo na lista abaixo dos discos rígidos.

Se você precisar de ajuda para fazer algo que possa fazer em um comentário. Além disso, você não pode remover a unidade flash enquanto o computador estiver em execução, pois a desmontagem significaria remover sua pasta pessoal do sistema.

Aqui está uma lista detalhada dos passos acima:

Antes de começar:

O pen drive não está realmente pronto para ser usado, pode tecnicamente ser usado como está, mas não é uma ótima idéia. A maioria das unidades flash usa o fat32, que é compatível com o Linux, e também todo o resto, mas não suporta a maioria dos recursos do Linux, então ele pode ser alterado para ext2, ext3 / 4 pode ser usado, mas o journal pode danificar drives flash, mas proteger arquivos em uma queda de energia, então se você quiser discutir isso primeiro, você pode deixar um comentário.

Como nota, o Ext só funciona no linux , mas isso não compartilha configurações entre computadores não Linux, portanto, se você precisar disso para trabalhar em várias plataformas, somente os arquivos do usuário serão compartilhados ( e a partição não poderá ser Ext), mas se for apenas para Linux, e apenas para um ambiente de desktop (em todos os computadores que você estiver usando), então funcionará bem. (é difícil conseguir ambientes de desktop diferentes para compartilhar configurações, mesmo no mesmo computador)

Abra o Utilitário de Disco (ele deve estar acessível usando o inicializador), você precisará digitar sua senha. Em seguida, selecione a unidade flash, anote o dispositivo no canto superior direito (deve parecer / dev / sdb ou algo similar). Em seguida, clique em "Desmontar Volume".

Em seguida, clique em "Format Volume", a coisa mais importante sobre isso é que tudo na unidade flash será apagado. No menu que aparece, clique no menu suspenso type e selecione Ext2, ou o sistema de arquivos que você escolher (diga-me se escolher outro, pois o mount e o fstab precisam saber o tipo). Clique no botão de formatação e espere que ele termine.

Etapa 1:

Este é o mais fácil, insira a unidade flash em cada computador e execute o tipo cp -r /home/USER /mount/FLASHDRIVE onde o usuário e a unidade flash são os locais da sua homepasta e do flashdrive. Isso também funcionará em arquivos ocultos (que, como mencionei, são importantes). A parte mais difícil disso é que os arquivos com o mesmo nome serão escritos, portanto, certifique-se de que o último computador que você usa é aquele com as configurações que você mais deseja. Também para o próximo teste, adicione um arquivo chamado It Works , ele não precisa conter nada.

Passo 2: Você provavelmente deve pular este passo

Eu realmente não pensei sobre o quão envolvido isso seria quando eu estava escrevendo a resposta original. Quando eu testei no meu computador, ele não funcionou e não é realmente necessário, e coisas estranhas vão acontecer no seu computador enquanto você está rodando, o que provavelmente irá confundir você.

Isso só precisa ser feito em um computador como teste para garantir que tudo funcione. Execute sudo umount /dev/sdXY , onde XY é o dispositivo que você obteve anteriormente, seguido por 1 (então, se foi / dev / sdb, escreva / dev / sdb1).Em seguida, execute estes comandos:

sudo shutdown now
mount -t ext2 /dev/sXY /home/USER
telinit 5

O desligamento não desliga o computador que coloca você no modo de usuário único para que você possa lidar com os sistemas de arquivos sem que eles sejam usados. Você será desconectado, por isso não se assuste quando o sistema mudar completamente. / p>

Em seguida, faça o login e sua pasta pessoal deve ser o flash drive neste momento. Se o arquivo criado anteriormente estiver agora na sua pasta pessoal, a pasta inicial deverá ser a unidade flash, para poder passar para a próxima etapa. Se não me deixar um comentário.

Etapa 3:

Este tem que ser feito em cada computador executado sudo gedit /etc/fstab . Então mude para o editor de texto que apareceu. (se você estiver usando o KDE, você deve substituir o gedit pelo kate ou qualquer outro editor de texto que você usar. Em seguida, adicione essa linha à parte inferior do arquivo, substituindo as partes no ALL-CAPS, conforme necessário.

/dev/sdXY /home/USER ext2 errors=remount-ro 0 1

Onde XY é o dispositivo que você recebeu anteriormente, seguido de 1 (então, se foi / dev / sdb, escreva / dev / sdb1)

Neste ponto, reinicie o computador e a unidade flash deve ter substituído sua antiga pasta inicial, com todas as configurações salvas na unidade e todos os arquivos que estavam na unidade em sua pasta pessoal. Você deve verificar o arquivo "It Worked" em sua pasta pessoal para ter certeza.

    
por john 03.06.2014 / 10:44
0

Tanto quanto eu entendo suas intenções são:

  1. Sincronize os aplicativos instalados
  2. Sincronize seu trabalho
  3. Sincronize seus dotfiles (configuração)

Não importa o que você faça, você precisará de algum tipo de serviço na nuvem. Não precisa ser o Dropbox. Eu recomendo altamente o Seafile . Eu corro no Raspberry Pi em casa para minhas necessidades de sincronização. Sua documentação é fácil de seguir.

1. Sincronização de aplicativos

Até 13.10, esse era um recurso pronto para uso. Hoje eu usaria o Puppet ou outras soluções de gerenciamento de configuração (como cfengine ou ansible). A configuração do fantoche especifica o que você deseja instalar. Você pode usar o Seafile para manter isso sincronizado e usar um cron job para executar o fantoche.

2. Sincronize seu trabalho

Aqui eu definitivamente usaria o Seafile. Ele permite que você sincronize qualquer pasta de sua escolha e não o limita a uma única pasta semelhante a Dropbox .

3. Dotfiles

Você pode sincronizar com o Seafile. Uma opção ainda melhor seria colocar todos os seus dotfiles sob controle de versão git. Você pode se juntar à multidão e colocar seus dotfiles no github ou usar seu próprio servidor como intermediário. Algum conhecimento básico de git é obviamente necessário.

    
por mniess 05.06.2014 / 22:20