E: 存储库的“ http://ppa.launchpad.net/certbot/certbot/ubuntu 焦点发布”没有一个发布文件

因为我在 Debian 10上安装了 certbot,它总是显示这个错误:

root@HypeTime:/home/sinusbot# apt update
Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://deb.debian.org/debian buster InRelease
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Ign:4 http://ppa.launchpad.net/certbot/certbot/ubuntu focal InRelease
Err:5 http://ppa.launchpad.net/certbot/certbot/ubuntu focal Release
404  Not Found [IP: 2001:67c:1560:8008::15 80]
Reading package lists... Done
E: The repository 'http://ppa.launchpad.net/certbot/certbot/ubuntu focal Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

有人知道如何修复这个错误吗?

91151 次浏览

The latest source works just fine and can be installed with a one-liner to install certbot.

curl -o- https://raw.githubusercontent.com/vinyll/certbot-install/master/install.sh | bash

That solved for me, and there's an uninstall also when certbot PPA will be fixed again.

I got rid of the error message on Ubuntu 20.04 by removing the ppa repository. It took me a long time to find out the exact command argument, so this might help others :-). I used the command:

sudo apt-add-repository -r ppa:certbot/certbot

After that, the following commands do not generate any errors:

sudo apt update
sudo apt-get update

@vinyll answer helped me that am dealing with Ubuntu server 20.04. There's just a little drawback with it: installs the current head of the repository, which currently is 1.9.0.dev0.

I suggest to look at Certbot repository for the desired release tag - in my case v1.8.0 that refers to the just released version 1.8.0 - and to edit the script to "checkout" it.

The script would become (to install Certbot v1.8.0):

#!/bin/bash


ROOT=~/.certbot-src


# Remove older versions if existing, for a simple re-install/update.
rm -rf $ROOT


# Clone certbot source.
git clone https://github.com/certbot/certbot $ROOT


# Check if python3-venv is installed, and install it otherwise.
CHECK_PACKAGES='python3-venv'
if ! dpkg -s $CHECK_PACKAGES >/dev/null 2>&1; then
echo "The packages '$CHECK_PACKAGES' are not installed. "
echo "They will now be installed automatically with 'sudo apt-get install $CHECK_PACKAGES'."
sudo apt-get install -y $CHECK_PACKAGES
fi


# Checkout the desired release TAG.
cd $ROOT
git checkout v1.8.0 # Replace v1.8.0 with the TAG you chosen


# Setup virtual environment for certbot.
sudo apt-get install -y python3-dev python3-venv gcc libaugeas0 libssl-dev libffi-dev ca-certificates openssl
python3 tools/venv3.py


# Link installed certbot version, so it can used everywhere.
sudo ln -s $ROOT/venv3/bin/certbot /usr/local/bin/

NOTE: if you want to do a clean install and you are going to remove an old Certbot version, do it carefully - e.g. there could be configuration files that would be deleted using apt purge certbot or apt autoremove --purge certbot, bringing the new Certbot installation in an inconsistent state; this answer may help.


I stumbled into these messages

~$ sudo add-apt-repository ppa:certbot/certbot
This is the PPA for packages prepared by Debian Let's Encrypt Team and backported for Ubuntu.


Note: Packages are only provided for currently supported Ubuntu releases.
More info: https://launchpad.net/~certbot/+archive/ubuntu/certbot
Press [ENTER] to continue or Ctrl-c to cancel adding it.


Hit:1 http://ca-central-1.ec2.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://ca-central-1.ec2.archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
Get:3 http://ca-central-1.ec2.archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Ign:5 http://ppa.launchpad.net/certbot/certbot/ubuntu focal InRelease
Get:6 http://ca-central-1.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [588 kB]
Get:7 http://ca-central-1.ec2.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [666 kB]
Err:8 http://ppa.launchpad.net/certbot/certbot/ubuntu focal Release
404  Not Found [IP: 91.189.95.83 80]
Reading package lists... Done
E: The repository 'http://ppa.launchpad.net/certbot/certbot/ubuntu focal Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

by following Ubuntu 18.04 certbot installation instructions on Ubuntu 20.04.

I should've followed the Ubuntu 20.04 certbot installation instructions, which avoid the command sequence sudo add-apt-repository ppa:certbot/certbot followed by sudo apt install python-certbot-nginx and simply execute

sudo apt install certbot python3-certbot-nginx

Note that the 20.04-friendly command uses python3 in the command, and not just python.

To be fair, I wasn't the only one dealing with this issue. This other post about solutions that offer the -r option to remove repositories helped me figure out in which direction a solution to my issue could be.

See @vinyll's answer for "A one-liner Certbot install is available with the uninstaller included. Works also on Ubuntu 20.04." I did not follow that route because I'm not to keen to uninstall packages without being absolutely certain what they're dependencies for. Since I wasn't 100% certain at the time, it was easier to just follow the installation instructions for the proper OS than uninstall it risking eliminating needed dependencies without being aware.

I have recently installed certbot using this command:
sudo snap install --classic certbot

Use the following:

sudo apt-add-repository -r ppa:certbot/certbot

and

sudo apt update

Some PPA's do not get updated to newer linux version by their creators/maintainers. Therefore, you need to erase them. To do it without removing the entire PPA you can use this guide: safely-remove-ppa-repositories-ubuntu

If the PPA version is not compatible with your linux version, you need to update it. This answer is general for this problem with any PPA errors of that kind so I hope it is the right place to answer it.