I would like to install Puppet 4 on my Raspberry Pi running Raspbian (upgraded to Jessie). So I install the Puppet collection which includes Puppet 4:

wget https://apt.puppetlabs.com/puppetlabs-release-pc1-jessie.deb
sudo dpkg -i puppetlabs-release-pc1-jessie.deb
sudo apt-get update 

But apt-cache show puppetmaster shows Filename: pool/main/p/puppet/puppetmaster_3.7.2-4_all.deb and I expect Puppet 4.X.

What am I doing wrong?

  • 2
    I think it might not if it (perhaps correctly) believes there's no binary available for your platform. If you are on an A/B/+, you need ARMv6; looking through that repo there's a reference to a jessie armhf package, but that is more likely ARMv7. If you are on the Pi 2, you could use that, but apt may not understand this. Unfortunately, the actual armhf package doesn't seem to be in that repo, which is confusing. The only binaries seem to be x86 and x86-64. – goldilocks Jul 15 '15 at 11:44

If you are aiming for Puppet 4, you want to install puppetserver not puppetmaster, and puppet-agent not puppet. They deprecated puppetmaster in version 4.1, and started packaging all of the Puppet agent's dependencies in the same package as the agent (now called puppet-agent) with version 4. See Puppet 3.x to 4.x: Get Upgrade-Ready and New All-in-One puppet-agent Package respectively.

With that said, a look at the /pool/wheezy and /pool/jessie directories, on apt.puppetlabs.com, suggests that there are many packages built for Wheezy and not Jessie right now. Like, puppetserver_2.1.1-1puppetlabs1_all.deb is only evident in /pool/wheezy, and puppet-agent_1.2.4-1wheezy_amd64.deb. I don't see any armhf packages anywhere on the site.

The sources for puppetserver for Wheezy are there (*.orig.tar.gz, *.debian.tar.gz, *.dsc), and I bet you could build them into packages for Jessie, which you could put in your own apt repository. But certainly it would be better for everyone if Puppet Labs built the packages.

You should ask them about it on #puppet on irc.freenode.net. It seems to me from lurking that people only really talk there during the day.


the topic is a bit old, and I don't know if you're still struggling with it. You actually have two options:

  1. I normally use debian based systems, but on the raspberry I prefer ArchLinux, because it's rolling release. Archlinux for Raspberry has puppet-agent 4.5.2. But this is not what you've asked :)
  2. it's kind of workaroud, but the good news is that it works: take it as it is. I have 'osmc' (which is a media center distribution, based on debian) and I used the package taken from ArchLinux. It's a tar.xz file (puppet-4.5.2-1-any.pkg.tar.xz). You namely need to unpack the archive. It doesn't work out of the box and I don't really remember the steps that I followed. More or less, you need to create few symlinks, try to cheat ruby (osmc uses ruby 2.1 and Arch uses ruby 2.3) and you need to install hiera facter and libfacter and perhaps you also need to install some ruby gem. Installation and removal won't be seamless.

You are correct in your installation steps, however as "goldilocks" responded in the comments, there are no "armvX" packages, only "amd64" and "i386", eg:

enter image description here

That's unfortunate as it would be truly handy to have these available.

If you are just looking to use this as a Puppet client, in theory you can just use the bundled 3.7 Puppet agent:

sudo apt-get install puppet

If using a Puppet 4 master, it should support Puppet 3 clients with backwards compatibility:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.