Come sincronizzare Ubuntu / software / configurazioni tra N computer con software libero e / o senza cloud? [chiuso]

5

Nota: questa domanda non riguarda la sincronizzazione dei dati in un modo simile a Dropbox (file, cartelle), si tratta più della sincronizzazione delle configurazioni.

Mi piacerebbe avere esattamente la stessa versione di Ubuntu con tutto il software installato e configurato sia sul mio PC desktop che sul mio PC portatile (e forse sul mio piccolo PC netbook) senza usare Ubuntu Sync e con il minimo sforzo di manutenzione ( setup una volta, eseguito per un lungo periodo di tempo.

Il caso d'uso è il seguente:

  1. Lavoro sul mio PC portatile e apporto alcune modifiche alla configurazione del software, ad esempio:

    • configura vim per avere un nuovo plugin
    • aggiorna l'indice di ricerca dei file Search Tracker / Recoll
    • configura Thunderbird per avere un account IMAP aggiuntivo ('ricorda password')
    • aggiungi alcuni nuovi segnalibri in Firefox / Chrome
    • cambia l'immagine di sfondo del desktop
    • installa il nuovo software con apt-get install
    • crea e installa un nuovo software con checkinstall
    • ecc.
  2. Faccio qualche operazione di "sincronizzazione"

  3. Passare al mio PC desktop e ottenere tutte le modifiche da (1) sul PC desktop
  4. Lavoro sul mio PC desktop e apporto alcune modifiche alla configurazione del software, ad esempio:

    • aggiungi una nuova directory all'elenco delle directory di cui DejaDup deve eseguire il backup
    • aggiungi un nuovo dizionario di controllo ortografico a Libreoffice Writer
    • configura il software Terminator con caratteri colorati
    • installa un nuovo font nel sistema Ubuntu
    • configura Ekiga per effettuare chiamate
    • ecc.
  5. Faccio qualche operazione di "sincronizzazione"

  6. Passaggio al mio PC portatile e tutte le modifiche da (1) e (4) funzionano sul PC portatile.

Domanda: Quale software gratuito / open source posso utilizzare per sincronizzare i sistemi Ubuntu di entrambe le macchine, il software e le configurazioni installati? È possibile farlo senza alcun servizio cloud?

Domanda complementare: È ovvio che il PC desktop e il PC portatile hanno configurazioni hardware diverse. In che modo il 'software di sincronizzazione' in questione gestisce i driver video, i driver wlan e le loro configurazioni?

Nota: non ho bisogno di sincronizzare tutti i PC allo stesso tempo, perché lavoro con una sola macchina alla volta.

Nota: ho considerato l'utilizzo di Chef per risolvere il problema, ma sembra che potrebbe essere veramente ingombrante per mantenere tale impostazione.

Nota: ho anche preso in considerazione l'utilizzo di un USB avviabile con Ubuntu installato (Linux portatile), ma non sono sicuro che i driver video funzioneranno allora.

    
posta skanatek 03.06.2014 - 09:17

2 risposte

1

È possibile spostare la directory home su un'unità flash. È qui che la maggior parte dei programmi memorizza la loro configurazione e i programmi compilati possono essere installati lì usando ./configure --prefix=/home/YOURNAME/bin (o qualsiasi altra directory). L'unica cosa che non funziona è la sincronizzazione automatica dei pacchetti installati con apt-get.

Per installare Synaptic e prima di fare clic sul segno di spunta per installare quei pacchetti, fare clic su "Salva marcature come ..." che consente di salvare un elenco di tutti i pacchetti che verranno installati. Quando sali sul tuo computer portatile, esegui synaptic e poi usa "read markings" per ottenere un elenco dei file necessari. Quindi fai clic sul segno di spunta per installare gli stessi file sull'altro computer.

Questa soluzione non avrà problemi con i driver poiché il sistema operativo stesso non è condiviso, solo configurazione, file utente, ecc. Se non vuoi spostare tutti i tuoi file sul flash drive quindi puoi memorizzarli in un'altra cartella (come / home / myfiles), che non deve avere un utente associato.

Se questo è ciò che vuoi fare, devi seguire questi passaggi:

  1. Copia i contenuti della cartella principale sull'unità flash.
  2. Rimontare l'unità flash nella posizione della cartella Inizio.
  3. Aggiungi l'unità flash al file / etc / fstab con il punto di montaggio nella cartella home.

Ciò che questo farà sarà quando il tuo computer verrà avviato con l'unità flash presente, Ubuntu si avvierà normalmente ma tratterà l'unità flash come se fosse la tua normale cartella home. Se il computer si lamenta che l'unità flash non è avviabile, è possibile modificare le impostazioni del BIOS per interrompere l'avvio da un'unità flash spostando l'opzione unità flash verso il basso nell'elenco sotto i dischi rigidi.

Se hai bisogno di aiuto per fare uno di quelli che puoi chiedere in un commento. Inoltre, non è possibile rimuovere l'unità flash mentre il computer è in esecuzione perché smontarlo significherebbe rimuovere la cartella principale dal sistema.

Ecco un elenco dettagliato dei passaggi precedenti:

Prima di iniziare:

L'unità flash non è realmente pronta per essere utilizzata, potrebbe essere tecnicamente utilizzata così com'è ma non è una grande idea. La maggior parte delle unità flash utilizza fat32 che è compatibile con Linux, e anche tutto il resto, ma non supporta la maggior parte delle funzionalità di Linux, quindi dovrebbe essere cambiato in ext2, potrebbe essere usato ext3 / 4 ma il diario può danneggiare le unità flash, ma lo fa proteggere i file in caso di interruzione di corrente, quindi se vuoi discutere di questo prima puoi lasciare un commento.

Come nota Ext funziona solo su linux , ma questo non condividerebbe comunque le impostazioni tra computer non Linux, quindi se hai bisogno che questo funzioni su più piattaforme, allora saranno condivisi solo i file dell'utente ( e la partizione non sarà in grado di essere Ext), ma se questo è solo per Linux, e solo per un ambiente desktop (su ogni computer che si sta utilizzando), funzionerà correttamente. (è difficile ottenere diversi ambienti desktop per condividere le impostazioni anche sullo stesso computer)

Apri Utility Disco (dovrebbe essere accessibile utilizzando il programma di avvio), dovrai inserire la tua password. Quindi selezionare l'unità flash, annotare il dispositivo nell'angolo in alto a destra (dovrebbe apparire come / dev / sdb o qualcosa di simile). Quindi fai clic su "Smonta volume".

Quindi fai clic su "Format Volume", la cosa più importante è che tutto ciò che è presente sull'unità flash verrà cancellato. Nel menu che appare clicca sul menu a tendina del tipo e seleziona Ext2, o qualunque filesystem tu scelga (dimmi se ne scegli un altro visto che mount e fstab devono conoscere il tipo). Fai clic sul pulsante di formattazione e attendi che finisca.

Passaggio 1:

Questo è il più semplice, inserisci l'unità flash in ogni computer ed esegui il tipo in cp -r /home/USER /mount/FLASHDRIVE dove utente e unità flash sono le posizioni della tua cartella personale e della flashdrive. Funzionerà anche su file nascosti (che come ho detto sono importanti). La parte più difficile di questo è che i file con lo stesso nome saranno sovrascritti, quindi assicurati che l'ultimo computer che usi sia quello con le impostazioni che desideri di più. Anche per il test in arrivo aggiungi un file chiamato It Works , non deve contenere nulla.

Passaggio 2: probabilmente dovresti saltare questo passaggio

Non ho davvero pensato a quanto sarebbe stato coinvolto quando stavo scrivendo la risposta originale. Quando l'ho provato sul mio computer non ha funzionato e non è veramente necessario e cose strane accadranno al tuo computer mentre lo stai eseguendo, che probabilmente ti confonderà.

Questo deve essere fatto solo su un computer come test per assicurarsi che tutto funzioni. Esegui sudo umount /dev/sdXY dove XY è il dispositivo che hai ottenuto in precedenza seguito da 1 (quindi se fosse / dev / sdb write / dev / sdb1).Quindi esegui questi comandi:

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

Lo spegnimento non spegne il computer che mette in modalità utente singolo, quindi puoi gestire i file system senza che vengano utilizzati, ma sarai disconnesso, quindi non allarmarti quando il sistema cambia completamente. / p>

Quindi accedi e la tua cartella Inizio dovrebbe essere l'unità flash a questo punto. Se il file creato in precedenza è ora nella cartella home, la cartella home deve essere l'unità flash, quindi è possibile passare al passaggio successivo. Se non mi lasci un commento.

Passaggio 3:

Questo deve essere fatto su ogni computer eseguito sudo gedit /etc/fstab . Quindi passa all'editor di testo che è apparso. (se stai usando KDE dovresti sostituire gedit con kate o qualsiasi altro editor di testo che usi. Poi aggiungi questa linea alla fine del file sostituendo le parti in ALL-CAPS se necessario.

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

Dove XY è il dispositivo che hai precedentemente seguito da 1 (quindi se fosse / dev / sdb scrivi / dev / sdb1)

A questo punto riavviare il computer e l'unità flash dovrebbe aver sostituito la vecchia cartella principale, con tutte le impostazioni salvate nell'unità e tutti i file presenti nell'unità nella cartella principale. Per sicurezza, dovresti controllare il file "Funziona" nella cartella home.

    
risposta data john 03.06.2014 - 10:44
0

Per quanto ho capito, le tue intenzioni sono:

  1. Sincronizza le applicazioni installate
  2. Sincronizza il tuo lavoro
  3. Sincronizza i tuoi dotfiles (configurazione)

Qualunque cosa tu faccia, avrai bisogno di una sorta di servizio cloud. Non deve essere Dropbox. Consiglio vivamente Seafile . Lo eseguo su Raspberry Pi a casa per le mie esigenze di sincronizzazione. La loro documentazione è facile da seguire.

1. Sincronizzazione dell'applicazione

Fino alle 13.10 questa era una funzionalità pronta all'uso. Oggi userei Puppet o altre soluzioni di gestione della configurazione (come cfengine o ansible). La configurazione di puppet specifica cosa si desidera installare. Puoi utilizzare Seafile per mantenerlo sincronizzato e utilizzare un cron job per eseguire puppet.

2. Sincronizza il tuo lavoro

Qui userò sicuramente Seafile. Ti consente di sincronizzare qualsiasi cartella della tua scelta e non ti limita a una singola cartella Dropbox .

3. Dotfile

Ovviamente puoi sincronizzarli con Seafile. Un'opzione ancora migliore sarebbe quella di mettere tutti i tuoi dotfiles sotto controllo della versione git. Puoi unirti alla folla e inserire i tuoi dotfiles su github o utilizzare il tuo server come intermediario. È ovviamente necessaria una conoscenza di base del git.

    
risposta data mniess 05.06.2014 - 22:20

Leggi altre domande sui tag