mkelfs - create kickstart trees for Enterprise Linux comfortably

A couple of days ago I spent a lot of time with Kickstart under Spacewalk and Red Hat Satellite and was looking for a possibility for creating Kickstart Trees for CentOS comfortably.

Radomly I stumbled upon a blog article which served a useful script. That inspired me to create a more handy python script for that.

After some hours a little application came up which can be used to create Kickstart Trees for the most Enterprise Linux-like distros (e.g. CentOS, Fedora, Scientific Linux): mkelfs. ๐Ÿ™‚

The tool allows specifying particular mirrors, release versions and architectures. The needed folder structures are created automatically and the files are downloaded using wget.

The script can be downloaded on Github.

Here's a video that demonstrates the tool:

Examples

Some examples:

1$ mkelfs.py --release 6.5 --arch x86_64

Downloads the Kickstart files for CentOS 6.5 x86_64 from the default mirror. The files are stored underneath /var/satellite/kickstart_tree.

1$ mkelfs.py --release 4.1 --arch i386 --target /var/museum/ks --mirror http://vault.centos.org

Downloads the Kickstart files for the antiquated CentOS release 4.1 i386 from the CentOS Vault mirror. The files are stored underneath /var/museum/ks.

1$ mkelfs.py -r 6.4 -a x86_64 -m http://www.nic.funet.fi/pub/Linux/INSTALL/scientific -o scientific -fq

Downloads the Scientific Linux release 6.4 x86_64 from the default mirror. Pre-existing files are overwritten and no additional output is generated.

1$ mkelfs.py -f -r 20 -a i386 -m http://mirror.digitalnova.at/fedora/linux -o fedora

Downloads the 32-bit kickstart files for Fedora release 20 from a Austrian mirror.

By the way, this was my first Python tool - so feel free to give me some feedback to optimize it. ๐Ÿ™‚

Translations: