Maintaining config documents synced throughout numerous computer's

I have a couple of various linux equipments and also a great deal of config documents (and also folders) on each.

As an example:

~/.ssh/config
~/.config/openbox/rc.xml
~/.config/openbox/autostart.sh
~/.scripts/ ( folder )
~/.bashrc
...etc

Exists a straightforward and also classy method to maintain these documents synced in between my equipments ( one has no net accessibility ) ?

Additionally, some documents will certainly require an advanced syncing procedure, as they will certainly need to vary a little ... as an example:

My desktop computer key-board has a series of hotkeys, where my laptop computer has virtually none. I make use of XF86Mail to open thunderbird on my desktop computer, yet Meta+ M on my laptop computer.

My Home Desktop and also Work Desktop are both even more "numerous customer" related, where my Laptop is simply for me. So on my laptop computer, I often tend to maintain the 'rc.xml' apply for openbox at /etc/xdg/openbox/rc.xml yet on the desktop computers at ~/.config/openbox/rc.xml

0
2019-05-04 09:47:06
Source Share
Answers: 3

Keep the documents under version control. This has numerous advantages, consisting of promoting maintaining documents integrated (devote on one equipment, upgrade on the others) and also maintaining a background of adjustments (so you can conveniently figure out what damaged a program that functioned last month).

I make use of CVS and also integrate the databases with Unison or sneakernet, yet that's due to the fact that I've been doing this given that a time prior to widely-available dispersed version control. Any person beginning currently need to make use of a correct dispersed version control device, such as mart, darcs, git, unstable, ...

Managing documents that require to vary in between equipments is constantly a little a discomfort. If the configuration language permits conditionals, utilize them. Or else, if there is an include device, utilize it to divide the configuration documents right into a machine-dependent component and also a common component. Maintain all the machine-dependent components in a different directory site (something like ~/.local/NAME/) which is constantly described via a symbolic link (~/.here -> local/NAME on each equipment). I have a couple of documents that are created by a manuscript in the common component from parameters maintained in the machine-specific component ; this averts changing these documents indirectly via a GUI configuration user interface. Stay clear of setting up points in /etc, it's tougher to integrate in between equipments.

0
2019-05-08 04:05:37
Source

I concur with the version control answer, yet an additional method I've been trying out lately is Dropbox. It's basically a variation control system that instantly synchronizes in between all your equipments, so if you modify a documents on one computer system you'll see the adjustments reviewed your various other computer systems in a pair secs, without requiring to devote on the previous and also upgrade on the last.

Their free basic plan is 2GB, so I utilize it to variation my configuration documents and also conversation logs

0
2019-05-08 03:38:29
Source

Puppet and also Cfengine are 2 excellent devices for syncing documents (and also a whole lot extra. )

0
2019-05-07 23:54:09
Source