One of my previous posts concerned how to install Nagios3 from source on Debian Etch. One of the comments I recieved was that you should generally use the packages available for install. I agree with this entirely, however there’s no challenge in just using the packages and I’ve found myself getting lazy when it comes to installing stuff recently, so here’s how to install the excellent Puppet configuration management engine from source on Debian Etch.
Most of the steps are taken from this document on the puppet wiki, however there are a few modules that will need to be installed before we can follow the installation.
OK, first things, first, let’s install the dependencies.
The version of Git installed by default in Debian Etch is quite old, so let’s add the backports repository to /etc/apt/sources.list using your favourite editor:
deb http://www.backports.org/debian etch-backports main contrib non-free
Now let’s install the required programs from backports:
aptitude -t etch-backports install git-core git-svn git-doc
And finally the libraries that we require for facter and puppet:
aptitude install ruby libopenssl-ruby1.8 rdoc
Now for installing the source code etc (this has been copied almost exactly from here).
Create a directory to copy the GIT repository into:
Setup the variable for the directory and change to the directory:
Now get the source:
git clone git://reductivelabs.com/facter
git clone git://reductivelabs.com/puppet
Now let’s install facter:
First, we need to let Ruby know where the libraries and sources are:
export PATH RUBYLIB
Now we can install facter:
And then install puppet
and that’s it, job done!
Why would you want to install from source? You are not changing anything in the app, you are not really learning anything, so there is no point really…
Installing from source in this case has many disadvantages, but the most important is that you lose the benefit of automatic *security* updates.
Version of Puppet in Debian Etch: 0.20.1-1
Version of Puppet in Backports: puppet (0.24.4-8~bpo40+1)
Current Version of Puppet from GIT: 0.24.6 which includes a huge number of feature upgrades and bug fixes over the BPO version (http://reductivelabs.com/trac/puppet/wiki/UPGRADE).
So in short, I install from source because it provides more features.
I take your point about the automatic updates, however if you’re subscribed to the puppet mailing list, new releases and patches are announced and it’s simply a case of checking out the code and re-running the install steps.
If I had the time I’d offer to help maintain the packages, but I dont and I need the features in 0.25+ so I patch the software myself.