Intended audience: Puppet users
I started writing a simple module to install the new Microsoft Teams for Linux client into Ubuntu. In the git repo for the module, I put the .deb
file into the files
directory to be copied to the node prior to installation. In order to save space in my Git repo, I thought I’d use LFS for the .deb
.
When testing on my test nodes, I got:
Dec 16 18:23:19 mynode puppet-agent[12958]: Execution of '/usr/bin/dpkg --force-confold -i /var/cache/apt/teams_1.2.00.32451_amd64.deb' returned 1: dpkg-deb: error: '/var/cache/apt/teams_1.2.00.32451_amd64.deb' is not a Debian format archive Dec 16 18:23:19 mynode puppet-agent[12958]: dpkg: error processing archive /var/cache/apt/teams_1.2.00.32451_amd64.deb (--install): Dec 16 18:23:19 mynode puppet-agent[12958]: dpkg-deb --control subprocess returned error exit status 2
Closer investigation revealed:
puppetmaster:/etc/puppetlabs/code/environments/master/modules/> file teams/files/teams_1.2.00.32451_amd64.deb teams/files/teams_1.2.00.32451_amd64.deb: ASCII text
The short text file used by Git LFS to point to the .deb
file was copied to the Puppet master instead of the .deb
file. And yes, the text file is what ends up on the agents.
ETA: the best way to use Puppet to install Teams is to add Microsoft’s Apt source and then use a package resource. I updated my module accordingly.