0

Ubuntu 12.04 LTS Server Puppet 3.1.1

According to the puppet documentation, the best way to install puppet is by setting up a package.

http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-debian-and-ubuntu

So for ubuntu 12.04, you would run the following commands:

$ wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
$ sudo dpkg -i puppetlabs-release-precise.deb
$ sudo apt-get update

I don't understand why even after running those commands, and doing an apt-get upgrade, puppet is still at version 3.1.1 (not the more recent 3.3.x).


I almost entirely work with CentOS servers, and I'm not very familiar with Debian.

Looking at the contents of http://apt.puppetlabs.com/pool/precise/main/p/ shows the .deb file was last updated the on the 12th of September 2013 which should mean that the file is up to date. [ ] puppet_3.3.0-1puppetlabs1_all.deb 12-Sep-2013 16:37 9.4K

  • How can I tell if I have the most current ppa installed?
  • What is the correct way to install the latest version of puppet without compiling from source?

Update I forgot to mention, that I have run an apt-get upgrade

root@gitlab:/tmp# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  linux-headers-generic-lts-quantal linux-image-generic-lts-quantal
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.  

root@gitlab:/tmp# apt-get upgrade puppet
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  linux-headers-generic-lts-quantal linux-image-generic-lts-quantal
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

Update2

Puppet 3.1.1. was originally installed as part of the vagrant box that I am running

root@gitlab:~# cat /etc/apt/sources.list.d/puppetlabs.list
# Puppetlabs products
deb http://apt.puppetlabs.com precise main
deb-src http://apt.puppetlabs.com precise main

# Puppetlabs dependencies
deb http://apt.puppetlabs.com precise dependencies
deb-src http://apt.puppetlabs.com precise dependencies

root@gitlab:~# puppet --version
3.1.1

Update3

root@gitlab:~# apt-cache policy puppet
puppet:
  Installed: (none)
  Candidate: 3.3.0-1puppetlabs1
  Version table:
 3.3.0-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages
 3.2.4-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages
 3.2.3-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages
 3.2.2-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages
 3.2.1-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages
 3.1.1-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages

 .... truncated for readability

    500 http://apt.puppetlabs.com/ precise/main amd64 Packages
 2.7.11-1ubuntu2.4 0
    500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
    500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
 2.7.11-1ubuntu2 0
    500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
 2.7.11-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages
 2.6.18-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages
 2.6.14-1puppetlabs1 0
    500 http://apt.puppetlabs.com/ precise/main amd64 Packages


root@gitlab:~# puppet --version
3.1.1
spuder
  • 1,695
  • 2
  • 25
  • 42
  • Where'd you originally install 3.1.1 from? – Shane Madden Sep 16 '13 at 04:23
  • I've updated the question. I installed puppet through apt – spuder Sep 16 '13 at 04:27
  • Are you certain? The version of Puppet in the Ubuntu 12.04 repo is 2.7.11, so you couldn't have gotten 3.1.1 from there. Do you have any other non-stock repositories enabled at all? – Shane Madden Sep 16 '13 at 04:34
  • @ShaneMadden You are completely right, I am doing testing in a vagrant box which has the ppa predefined like so: root@gitlab:~# cat /etc/apt/sources.list.d/puppetlabs.list # Puppetlabs products deb http://apt.puppetlabs.com precise main deb-src http://apt.puppetlabs.com precise main # Puppetlabs dependencies deb http://apt.puppetlabs.com precise dependencies deb-src http://apt.puppetlabs.com precise dependencies – spuder Sep 16 '13 at 04:41

2 Answers2

2

Interesting..

puppet:
  Installed: (none)

This says that you current version of Puppet wasn't installed via apt at all. Maybe it's being set up in some other way through the Vagrant config?

apt-get install puppet should put the current version in place, but it may conflict with the installed version depending on where it came from.

Shane Madden
  • 112,982
  • 12
  • 174
  • 248
1

apt-get update is not equivalent to the yum update that you're used to; you should definitely be reading the man pages for your important system tools. apt-get update on Debian-based systems updates the index of package metadata, but does not touch any packages installed on the system in any way. The command you're looking for is apt-get upgrade.

You can view all available versions in your configured repositories by running:

apt-cache policy puppet
jgoldschrafe
  • 4,385
  • 17
  • 18
  • Thanks, I forgot to mention that I have run an apt-get upgrade, I'll append that to the question. – spuder Sep 16 '13 at 04:23
  • What does `apt-cache policy puppet` show? – jgoldschrafe Sep 16 '13 at 04:28
  • I've updated the question with the result of `apt-cache policy puppet`, looks like 3.3.0 is the most recent version in the table. – spuder Sep 16 '13 at 04:48
  • `apt-cache policy` shows you didn't install Puppet from a package in the first place -- that's why it isn't upgrading. :) – jgoldschrafe Sep 16 '13 at 04:53
  • That is clear now that you point it out, thanks. The vagrant box must have compiled from source or used the tarball. Likely by design to prevent updates from altering the box. I'll create a new box. – spuder Sep 16 '13 at 05:01