86

由于我在 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.

有人知道如何解决这个错误吗?

4

6 回答 6

208

通过删除 ppa 存储库,我摆脱了 Ubuntu 20.04 上的错误消息。我花了很长时间才找到确切的命令参数,所以这可能对其他人有所帮助:-)。我使用了命令:

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

之后,以下命令不会产生任何错误:

sudo apt update
sudo apt-get update
于 2020-05-17T14:36:46.633 回答
33

我偶然发现了这些消息

~$ 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.

按照 Ubuntu 20.04 上的Ubuntu 18.04 certbot 安装说明进行操作。

我应该遵循Ubuntu 20.04 certbot 安装说明,避免sudo add-apt-repository ppa:certbot/certbot后面的命令序列sudo apt install python-certbot-nginx并简单地执行

sudo apt install certbot python3-certbot-nginx

请注意,命令中使用 20.04 友好python3的命令,而不仅仅是python.

公平地说,我不是唯一一个处理这个问题的人。关于提供删除存储库选项的解决方案的-r一篇文章帮助我弄清楚我的问题的解决方案可能朝哪个方向发展。

请参阅@vinyll 对“包含卸载程序的单行 Certbot 安装可用。也适用于 Ubuntu 20.04。”的答案。我没有遵循这条路线,因为我不想在不确定它们的依赖关系的情况下卸载软件包。由于当时我并不能 100% 确定,因此按照正确操作系统的安装说明进行操作比卸载它更容易,因为可能会在不知情的情况下消除所需的依赖项。

于 2020-10-09T21:40:46.580 回答
25

最新的源代码工作得很好,可以使用单线安装 certbot

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

这为我解决了,当 certbot PPA 将再次修复时也会进行卸载。

于 2020-04-26T08:46:09.760 回答
8

使用以下内容:

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

sudo apt 更新

于 2021-06-14T06:49:29.030 回答
3

我最近certbot使用此命令安装:
sudo snap install --classic certbot

于 2020-11-06T20:04:07.280 回答
1

@vinyll 的回答帮助了我正在处理的问题Ubuntu server 20.04。它有一个小缺点:安装存储库的当前头,当前是1.9.0.dev0.

我建议查看Certbot 存储库以获取所需的发布标签- 在我的情况下v1.8.0,它指的是刚刚发布的版本1.8.0- 并编辑脚本以“签出”它。

该脚本将变为(安装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/

注意:如果您想进行全新安装并且要删除旧的Certbot版本,请谨慎操作-例如,可能有配置文件将使用apt purge certbot或删除apt autoremove --purge certbot,使新的Certbot安装处于不一致状态;这个答案可能会有所帮助。


于 2020-09-09T14:44:30.787 回答