Certbot-auto failing on debian jessie

My domain is: guraas.com and several others, which already have Let’s Encrypt certificates created with the old packaged certbot (I wish I hadn’t removed it now…)

I ran this command: certbot-auto certonly --nginx
after following instructions from https://certbot.eff.org/lets-encrypt/debianjessie-nginx

It produced this output:
Bootstrapping dependencies for Debian-based OSes… (you can skip this with --no -bootstrap)
Hit http://ppa.launchpad.net xenial InRelease
Ign http://archive.debian.org jessie InRelease
Hit http://archive.debian.org jessie-backports InRelease
Get:1 http://archive.debian.org jessie Release.gpg [2,420 B]
Hit https://repos.influxdata.com jessie InRelease
Hit http://ppa.launchpad.net xenial/main Sources
Get:2 http://security.debian.org jessie/updates InRelease [44.9 kB]
Get:3 http://archive.debian.org jessie Release [148 kB]
Hit https://apt.dockerproject.org debian-jessie InRelease
E: Release file for http://archive.debian.org/debian/dists/jessie-backports/InRe lease is expired (invalid since 373d 1h 23min 14s). Updates for this repository will not be applied.
apt-get update hit problems but continuing anyway…
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package python-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:

E: Package ‘python-dev’ has no installation candidate

My web server is (include version):
nginx 1.6.2

The operating system my web server runs on is (include version):
Debian 8.10 Jessie

My hosting provider, if applicable, is:

I can login to a root shell on my machine (yes or no, or I don’t know):

I’m using a control panel to manage my site (no, or provide the name and version of the control panel):

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you’re using Certbot):
certbot-auto --version doesn’t work, returns exactly the same output as above

Any and all help is greatly appreciated!

1 Like

certonly and --nginx seem to conflict with each other…
What are you trying to do?

1 Like

Really? hmm… I’m only following instructions: https://certbot.eff.org/lets-encrypt/debianjessie-nginx
I just want to get the certificate (step 4, option 2).

1 Like

@bmw, could you weigh in on yet another packaging/dependency question (here certbot-auto on Jessie)?

1 Like

Not officially, although it’s not the most common combination.

The most common form is certbot --nginx which expands to certbot run -a nginx -i nginx, which means “use the nginx plugin to obtain a certificate, then install it using the nginx plugin”.

Another possible form (as @llanddewi mentioned, that is present in our documentation) is certbot certonly --nginx, which expands to certbot certonly -a nginx, which means “use the nginx plugin to obtain a certificate, then stop”.


certbot-auto is trying to install the python-dev package which can be seen in the Jessie repos at https://packages.debian.org/jessie/python-dev.

You have a lot of 3rd party repositories configured (including jessie-backports which no longer exists and others intended for Ubuntu Xenial). I suspect one of them is masking the python-dev package provided by Debian.

You can maybe find out which repositories are causing the problem by running commands like apt-cache show python and apt-cache show python-dev. Unless it’s necessary for other software on your system, I would remove any repositories shown in that output from your apt configuration except for those hosted on debian.org.


That’s great help already, thanks! Yeah, this is an old experimental server, time to start abandoning it…
Anyway, when I run apt-cache show python I think it already becomes clear that it’s this one that’s blocking python-dev, see below. I don’t want to remove python at this time though.

Package: python
Status: install ok installed
Priority: standard
Section: python
Installed-Size: 680
Maintainer: Matthias Klose doko@debian.org
Architecture: amd64
Multi-Arch: allowed
Source: python-defaults
Version: 2.7.9-1
Replaces: python-dev (<< 2.6.5-2)
Provides: python-ctypes, python-email, python-importlib, python-profiler, python-wsgiref
Depends: python2.7 (>= 2.7.9-1~), libpython-stdlib (= 2.7.9-1)
Pre-Depends: python-minimal (= 2.7.9-1)
Suggests: python-doc (= 2.7.9-1), python-tk (>= 2.7.9-1~)
Breaks: update-manager-core (<< 0.200.5-2)
Conflicts: python-central (<< 0.5.5)
Description: interactive high-level object-oriented language (default version)
Python, the high-level, interactive object oriented language,
includes an extensive class library with lots of goodies for
network programming, system administration, sounds and graphics.
This package is a dependency package, which depends on Debian’s default
Python version (currently v2.7).
Description-md5: d1ea97f755d8153fe116080f2352859b
Homepage: http://www.python.org/

That’s the python package for Debian Jessie which is not incompatible with python-dev 2.7.9 package for Debian Jessie.

You do not need to remove your Python installation. certbot-auto also needs that. The problem is certbot-auto needs the python-dev package available in Debian Jessie’s repos, but with the way you have apt configured, apt is not able to find the package.

If you can modify your apt configuration under /etc/apt so you can successfully run sudo apt-get install python-dev, you should no longer hit this problem.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.