[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Backing up system customization: Is Debian packaging better than Remastersys?



Dear Debian users,

I have configured my system to my specific needs by installing packages,
changing their configuration, adding a useful HTML-Documentation
collection and installing some programs from source. The resulting
system is used on four different machines with two different
architectures: amd64 and i386. I have been using "Remastersys"
(http://www.remastersys.com/) to build a live-DVD from my system that
can be installed on other computers and is really nice for
administration purposes: Carry a fully-featured working-environment on
a single-layered DVD.

But I am still not fully satisfied with this solution because making a
live-DVD out of the currently-running system has some issues:

1. If I ever need to re-install my system and do not have the
   remastersys-DVD available, I will have trouble restoring all the
   custom configuration.
   This could e.g. happen if an update to a new debian release fails
   reproducibly.
2. I cannot switch my architecture even though most of my customization
   consists of text files and would not need to be changed by any means.
   This is especially problematic as I have to maintain two
   architectures at the same time which means that I have to maintain
   two different live-DVDs that should contain the same configuration.
3. Some of my machines need special configuration, e.g. graphics
   drivers and therefore still need customization after having installed
   the live-DVD.
4. Customization is hardly ever updated because it is a hassle to update
   the software on two systems (one for amd64, one for i386) and then
   re-install the complete system on the third and fourth machine in
   order to have a new software version or new configuration there. This
   is also the reason, the dvds for the both architectures are never
   actually containing the same configuration and when I change
   something on my main system (amd64) I often do not bother to update
   the i386 counterpart.
5. The size of the system is limited to about 4 GiB because remastersys
   (actually the DVD file-system) cannot have files bigger than this
   specific size. This has not become a great issue yet, but some
   software already needed to be excluded from the system to fit onto a
   DVD.
6. Sometimes I install additional packages on my production-system
   (that is usually used as source for the live-DVD) which I do not want
   to have on the DVD because they are only used for a short period of
   time or needed for some testing-purposes.

This is why I already got another idea a long time ago: I thought about
writing a shell script to transform a basic Debian system into "my"
system by simply copying all the configuration, compiling all the custom
programs and installing all the additional packages I need. But this
seemed to be a bad concept as it would be extremely problematic to test
such a script: It would always require a "new" Debian-installation and
therefore also result in the i386 part not being updated with
configuration files properly.

I have addressed the first issue by centralizing all the configuration
in /opt/ma (a directory containing most of the customization including
additional software-binaries, HTML documentation, desktop wallpapers,
scripts, etc.) and /etc/skel (newly created users get correct
Firefox-configuration and plugins, Fluxbox-configuration is linked to
/opt/ma, basic directories are created, etc.) Apart from that I maintain
a register of changed configuration files outside these two directories
that is more or less complete. Even with this preparation, it takes very
long to re-create the system out of that information and it has quite
some disadvantages: For example, the self-compiled binaries are never
installed "correctly", because their man-pages is not in the system,
they are not in the usual "bin" directories but in /opt/ma/bin instead
and the multi-user concept of Linux is destabilized by placing some
essential configuration into /opt/ma which the user cannot change
directly. Instead, if anyone needs to customize e.g. fluxbox, they need
to copy the configuration and make their ~/.fluxbox/init point to it.
This is a minor issue as all the systems are "single-user" machines, but
it seems "dirty".

Recently, when I read about Debian packaging and preseeding on this
list, I got another idea: I could package all my customization into
some Debian packages and some virtual packages which would then install
all software I use as dependencies. This would also make the updating
of my i386 machines much easier: If I only changed configuration or
such they could just update via aptitude update && aptitude full-upgrade
or similar and if I updated some of my self-compiled software, I could
(a) use the source-package or (b) download an i386 version that was
cross-compiled on my amd64 machine. I would be able to have the most
recent configuration and package selection on all three systems while
only maintaining a common and customized repository. In order to back
up my system I would only need to backup the repository. Live-DVDs
could still be created with remastersys but I would no longer depend on
them and I could safely do re-installations even changing
Debian-releases with minor problems only. I could further divide my
custom packages to be able to create a CD version of my system with
limited features or such. Adding some of the customization to my
friends' systems would also be much easier.

Is it a good idea to use the Debian package system for these needs? Or
is there something I have overlooked? Are there other systems/programs
that probably already automate much of what I am aiming for? (Because I
believe creating packages of all my customization will be quite some
work and I should therefore think and ask first.)

Btw: I am using Debian 6.0.6 "Squeeze" amd64 and on other systems: i386.

Kind regards and TIA,
Linux-Fan


Reply to: