当前位置

CentOS系统Python版本问题导致certbot-auto报错及升级解决

James Qi 在 2019年11月26日 - 21:36 提交

  我们https访问都是用的免费Let's Encrypt,其提供的SSL证书每三个月需要续一次,在服务器上安装一个certbot-auto程序,基本上就可以不管了,但实际上还是会偶尔收到邮件通知,自动续期没有成功,需要人工干预。一般来说都是遇到certbot-auto本身的升级或者依赖的Linux系统软件需要升级,人工运行命令后也都基本上回答几个Y/N进行安装、升级就可以。

  但最近遇到点问题,运行./certbot-auto renew 一直显示如下报错:

WARNING: couldn't find Python 3.5+ to check for updates.
Traceback (most recent call last):
  File "", line 16, in 
  File "/usr/lib64/python3.4/distutils/version.py", line 58, in __lt__
    c = self._cmp(other)
  File "/usr/lib64/python3.4/distutils/version.py", line 176, in _cmp
    if self.version != other.version:
AttributeError: 'StrictVersion' object has no attribute 'version'

  这应该是Python版本不行,在网上搜了一下,找到这篇《Certbot failing to find python version on Centos 6.10》,与我们遇到的问题是一样的(我们国内阿里云ECS没有遇到这个问题,国外阿里云ECS都遇到这个问题),前些天做了记录,但一直没有解决。

  这两天再次接到通知邮件,有部分域名的SSL证书即将过期了,不得不去解决。按照那篇文章说了,做了如下工作:

  1. cd /root/certbot 进入目录./certbot-auto
  2. mv certbot-auto certbot-auto-0.40.0 备份老版本文件
  3. wget https://dl.eff.org/certbot-auto 获取新版本文件,目前是0.40.1
  4. chmod a+x certbot-auto 给与可执行权限
  5. mv /opt/eff.org /opt/eff.org-0.40.0 老版本的安装目录备份
  6. ./certbot-auto 运行新文件,安装过程中会提示Python版本升级到3.4以及其它依赖包

  再后面就可以像以前一样使用自动升级、自动续期等了。

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。