[Discuss] Moving Your Everyday System to New Hardware
Dan Ritter
dsr at randomstring.org
Tue Sep 3 07:08:25 EDT 2024
Bill Bogstad wrote:
> On Wed, Aug 28, 2024 at 12:43 PM Daniel Barrett
> <dbarrett at blazemonger.com> wrote:
>
> > I do something similar but slightly more automated. I use git to
> > capture every change I make to system files. Basically, I initialize a
> > git repository in (say) ~/SystemChanges and create a duplicate, sparse
> > directory structure containing all the changed files. So if I update
> > /etc/apache2/foo.config, I copy it to ~/SystemChanges/etc/apache2/foo.config
> > and "git commit." When it comes time to migrate to a new machine, I can
> > recreate all needed changes to system files within a few hours. I also reap
> > the benefits of versioned changes to individual system files.
> >
> > The only tricky bit is preserving file owners & permissions, but they
> > are present in the original files.
> [late to the party]
>
> It sounds like you are doing something like the etckeeper system:
>
> https://etckeeper.branchable.com/
>
> It handles things like file permissions pretty well. One downside is
> that as far as I know it only handles files in /etc.
> It would be nice to use it more generically to manage configuration
> files on other directories.
To bring it right back around to Daniel's point: that's what git
is for. etckeeper is a wrapper around git that hooks into the
packaging system to auto-commit when the packaging system makes
changes, but if you want that functionality without the
packaging system hooks, that's git with a local secondary repo.
-dsr-
More information about the Discuss
mailing list