How to sync Ubuntu/software/configurations between N computers with free software and/or without a cloud?

Posted by skanatek on Ask Ubuntu See other posts from Ask Ubuntu or by skanatek
Published on 2014-06-03T07:17:13Z Indexed on 2014/06/03 9:34 UTC
Read the original article Hit count: 281

Note: this question is not about syncing data in a Dropbox-like way (files, folders), it is more about syncing configurations.

I would like to have exactly the same version of Ubuntu with all the software installed and configured both on my Desktop PC and on my Laptop PC (and maybe on my small netbook PC) without using Ubuntu Sync and with minimal maintenance effort (setup once, run for a long time).

The use case is the following:

  1. I work on my Laptop PC and do some changes to software configuration, for example:

    • configure vim to have a new plugin
    • update the Search Tracker / Recoll file search index
    • configure Thunderbird to have an additional IMAP account ('remember password')
    • add some new bookmarks in Firefox/Chrome
    • change the desktop background image
    • install new software with apt-get install
    • build and install new software with checkinstall
    • etc.
  2. I do some 'sync' operation

  3. I switch to my Desktop PC and get all the changes from (1) working on the Desktop PC
  4. I work on my Desktop PC and do some changes to software configuration, for example:

    • add new directory to the list of directories to be backed up by DejaDup
    • add a new check spelling dictionary to the Libreoffice Writer
    • configure the Terminator software to have colored fonts
    • install new font into the Ubuntu system
    • configure Ekiga to make phone calls
    • etc.
  5. I do some 'sync' operation

  6. I switch to my Laptop PC and get all the changes from (1) and (4) working on the Laptop PC.

Question: What free/open-source software can I use to sync both machines' Ubuntu systems, installed software and configurations? Is it possible to do that without any cloud services?

Complementary question: It is obvious that the Desktop PC and the Laptop PC have different hardware configurations. How does the 'sync software' in question deal with video drivers, wlan drivers and their configurations?

Note: I do not need all the PCs to be synced at the same time, because I work with only one single machine at once.

Note: I considered to use Chef to solve the problem, but it seems that it might be really cumbersome to maintain such a setup.

Note: I also considered using a bootable USB with Ubuntu installed (portable Linux), but I am not sure that the video drivers will work then.

© Ask Ubuntu or respective owner

Related posts about ubuntu-one

Related posts about backup