In my last post I mentioned using SUSE's Studio product to build an appliance to test Evolution with. I did not go into detail then because I wanted to come back to that particular technology stack and talk about it as a separate-from-Evolution subject. If you read that last post, you will know that the reason I used Studio was to create a quick appliance to test the state of the art for MAPI connections to MS Exchange 2007. That is hardly everything that could conceivably be done with SUSE Studio, though perhaps it is a good example of the ability to quickly create a one-off test system.
For my use, I wanted the ability to build a LiveCD of OpenSUSE 11.1, with all the latest versions of all the related -packages. I wanted it to be a LiveCD so that I could download it, boot it on the Dell D620 laptop, and run a quick test. It took about 10 minutes on my first drive through to assemble all the things I wanted, and then another 10 or so while Studio created the CD image. I then downloaded and burned that and ran my test.
The disk image was small: just over 400 MB. Studio had left out everything I did not need for the test, although were I to do it again I would probably go back and add a few more Gnome packages so that I would have a more complete / familiar desktop. Not required for the test, but were I to be interested in showing it to someone else, I would want the look and feel to be more "Gnome regular".
This showed the beauty of the tool to quickly build a sort of appliance that I needed once. Studio is far bigger than that though.
One thing that is interesting is that you can customize the look and feel. Add in your own EULA. Add in your own software packages outside of whatever is provided standard on the Distro. It is easy to see how for a trade show this would be a nice thing to have. And since it works with both OpenSUSE and SLES/SLED, you could conceivably build an appliance that could be converted / licensed for production usage.
Related to that is the fact that neither KDE or Gnome is really the "premiere" desktop for SUSE. This war of the desktop that isn't (a war) has gotten a fair amount of electronic ink recently, when SUSE announced that they were going to set the SUSE default desktop to KDE in the next release. This furor was about what radio button was pre-populated apparently, and SUSE has said that both desktops are equally supported on the distro.
In Studio, you start with JeOS: Just enough OS. The kernel and some bits. You add X and Gnome or KDE on top of that if you need it. You can also pick a "Server" mode, which lines up more server related packages, but no GUI (unless you click to add it)
Also nifty is that, on the very first screen, while you are picking the GUI, you can pick 32 or 64 bit, right from the get-go. My appliance was 32 bit in order to keep things small and simple, but given how many things need to be tested under 64 bit, I see how this could be very handy.
Next, add some software: Whatever you like from the Distro
The screens take you by the hand. The workflow is easy and intuitive. You go to the software tab, and here you can add repositories and packages. The updates repository is already there so you get the latest stuff, but if you need to test an older version, you can remove it.
The search dialog, in this day and age of Googling everything, is the easiest way to find and install more packages. Pre-reqs / Co-Reqs, and so forth are added automatically in a very apt-get kind of way. A dialog on the left of the web page tells you how much space the image will take, and how many packages you have.
Because the starting point is JeOS, if you want OpenOffice, you have to add it. If you want Firefox, you have to add it. Many things that one might take for granted as being present is a regular Distro download are not there by default. Easy to add. Easy to update.
All that is really happening essentially is that a template for a system is being built. Even after you build and download your appliance, and SUSE cleans up the disk space of the appliance image, the template stays, and can be updated and changed at any time. Forget Firefox? Opps. Just go back and add it, and build the image again. As Sookie Stackhouse says: "Easy Peasy".
The secret sauce here is that under the covers, this is all KIWI based.
More than Just a Pretty Package
Studio then asks you configuration questions. Things like whether you want assigned IP addresses of DHCP. Firewall Y/N/ Color. Runlevel. If you want to configure MySQL (the only application it appears able to pre-configure at this time, but maybe I did not load in any others that it can deal with in my test image)
Once you have it all tweaked out, the next dialog lets you add files. Need to put some .PDF's in the home directory? A test data base? Here is your chance. I did not do it, but it appears like a simple, browser style upload.
Build it. Download it. Test it. Tweak it. All very clean and easy.
Not just LiveCD's are supported as an output format either. USB / Hard drive, VMware virtual disk, and Xen Virtual disk are also options.
What is Not in the Studio
For all its beauty and ease of use, Studio has some drawbacks, at least for our use.
- No Mainframe SUSE image support. The packages are all X86 and X86-64.
- We have *lots* of SUSE on the mainframe. SUSE has something like 80% of the mainframe Linux market at this writing. Would be nice to have....
- No OS support other than SUSE
- Sure: One would expect that. But the tool is so easy and so nice that one wishes they could use it for *everything*.
- In our heterogeneous world, we would like to standardize our OS build procedures as much as possible. It is not clear to me that being able to build such a customized version of SUSE would be a good idea since what we support with our products is the standard versions of the Distros.
For free though, this is an great tool, and handy to keep in the SUSE Linux System Programmers toolbox.