无法在 ubuntu 16.04.3 上安装 certbot

无法在 ubuntu 16.04.3 上安装 certbot

我正在尝试在我的 ubuntu 中安装 certbot16.04.3服务器,与 16.04.2 相同的命令不起作用。安装的 python 是默认的Python 2.7.12

这是安装脚本:

#!/bin/bash

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx 

这是输出

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python-certbot-nginx : Depends: certbot (>= 0.17.0~) but it is not going to be installed
                        Depends: python-acme but it is not going to be installed
                        Depends: python-certbot but it is not going to be installed
                        Depends: python-mock but it is not going to be installed
                        Depends: python-openssl but it is not going to be installed
                        Depends: python-pkg-resources but it is not going to be installed
                        Depends: python-zope.interface but it is not going to be installed
                        Depends: python:any (< 2.8)
                        Depends: python:any (>= 2.7.5-5~)
E: Unable to correct problems, you have held broken packages.

如果我尝试这个

sudo apt-get install python-pkg-resources

我明白了

The following packages have unmet dependencies:
 python-pkg-resources : Depends: python:any (< 2.8)
                        Depends: python:any (>= 2.7.5-5~)
E: Unable to correct problems, you have held broken packages

我已经尝试过

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install -f
sudo apt-get install --reinstall python2.7

更多信息

$ apt-cache policy python
python:
  Installed: 2.7.12-1
  Candidate: 2.7.12-1
  Version table:
 *** 2.7.12-1 100
        100 /var/lib/dpkg/status
     2.7.11-1 500
        500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

答案1

我知道这不能解决你的问题(抱歉),但它可能会帮助其他人。我遇到了同样的问题,并在https://github.com/certbot/certbot/issues/5247- 启用 Universe repo -add-apt-repository universe

答案2

这种类型的问题在部分完成的升级或包安装失败时很常见。

The following packages have unmet dependencies:
python-pkg-resources : Depends: python:any (< 2.8)
                       Depends: python:any (>= 2.7.5-5~)
E: Unable to correct problems, you have held broken packages

显示什么dpkg --get-selections | grep hold?您可以删除、安装或重新安装这些吗?您可以运行dpkg --configure -a以尝试“完成”任何卡住的安装吗?

/etc/apt/sources.list或者,您是否拥有多个不同 ubuntu 版本的源文件/etc/apt/sources.list.d(来自从未正确完成的升级?)

最后,有什么sudo aptitude install python-certbot-nginx建议(能力可以有更好/更深的依赖逻辑解析,但要小心,它的一些建议可能有点太疯狂了!)

相关内容