I was hoping someone could give me a few pointers. I'm trying to work
out how to, given an exact list of packages, perform a yum install to a
clean filesystem.
Background, I'm trying to work out a storage space efficient backup /
restore process where I capture 3 lists:
1. A full list of yum/rpm installed packages. (easy).
2. Using verify tools, grab a full list of files in these packages
that have been modified. (mostly done)
3. A full list of files not part of any packages. By doing diffs of
a full "find" vs a full package file list, I can work this out.
Once I have 1,2 &3, my approach is to using yum install tools, to
retrieve the exact list of installed packages, then overlay the list of
files I've backed up via the list above. Combined with some simple
scripts to rebuild the partitions, filesystems and LVMs (information
saved in my backups), I should only have to backup a minimal list of
files plus the package list state.
But to make it work, I need to be able to get yum to install a list of
packages onto a bare filesystem, creating the required repos and
databases as it goes.
To me, this is exactly the heart of what Anaconda does, without the
package selection, account setup, and partitioning. Hence why posting
to this list.
What I've done so far,
1. Download the anaconda source code. I'm not fluent in python, but
have been able to glean some ideas from it; mostly yum arguments.
2. Using VMWare Desktop virtual machines with snapshots, I've got a
vm wiped of everything, and booted the Fedora 20 rescue disk. Yum is in
the rescue disk.
3. Tried to work out some basic yum.conf files, setup the online
repo, etc.
What I'm failing on... From my vm, a simple test of:
yum --config /tmp/yum.conf --installroot /mnt/sysimage/ install <simple
package>
gives me an error / Traceback that ends in
"AttributeError: 'module' object has no attribute 'GroupInstallError'
To even get this far, I've had to copy a few yum py files from a working
Fedora 20 into my vm, but even this seems a bit clumsy.
Just looking for some ideas and guidance of what I might be missing.
Another idea I've done some limited research to, is there an option of
Anaconda itself that would do this. The Kickstart process is a bit too
much, as it would rebuild filesystems, etc that may not match the
original machine. But I'm open to this approach also.
Many thanks,
Brian
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list